Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Система построения проектов CMake. Учебник.pdf
X
- •Введение
- •Модульное программирование
- •Автоматизация построения проектов
- •Обзор инструментов построения проектов
- •qmake
- •Генераторы
- •Входные файлы
- •Пути
- •Синтаксис
- •Команды
- •Упражнения
- •Тест рубежного контроля
- •Проектное задание
- •Основные концепции
- •Строки
- •Свойства
- •Примеры простых проектов
- •Команды общего назначения
- •cmake_minimum_required()
- •project()
- •include()
- •message()
- •Команды описания целей
- •add_executable()
- •add_library()
- •add_subdirectory()
- •Команды настроек целей
- •include_directories()
- •target_include_directories()
- •add_definitions(), add_compile_options()
- •target_compile_definitions()
- •target_compile_options()
- •target_compile_features()
- •target_link_libraries()
- •add_dependencies()
- •Команды обработки данных
- •math()
- •list()
- •Команды управляющих конструкций
- •foreach(), endforeach()
- •Команды работы с файлами
- •get_filename_component()
- •Команды добавления специальных целей
- •configure_file()
- •add_test(), enable_testing()
- •install()
- •add_custom_target()
- •Прочие команды
- •find_package()
- •get_property(), set_property()
- •Виды конфигураций
- •Выражения генераторов
- •Информационные выражения
- •Логические выражения
- •Преобразующие выражения
- •Вспомогательные выражения
- •Упражнения
- •Тест рубежного контроля
- •Проектное задание
- •Интерфейс подключения библиотек
- •Подключение заголовочной библиотеки
- •Частичная подмена стандартной библиотеки
- •Интерфейс подключения библиотек
- •Локализация приложения
- •Установка приложения
- •Инструменты разработки
- •Управление версиями
- •Генерирование документации
- •Упражнения
- •Тест рубежного контроля
- •Проектное задание
- •Заключение
- •Библиография
- •Ответы на тесты

К
каталог построения, 19
каталог проекта, 19, 57, 60
команды CMake, 50
add_compile_options(), 98
add_custom_command(), 195
add_custom_target(), 189
add_definitions(), 98
add_dependencies(), 113
add_executable(), 81
add_library(), 83
Предметный указатель
add_subdirectory(), 91
add_test(), 166
break(), 140
cmake_minimum_required(), 73
configure_file(), 160
continue(), 140
else(), 130
elseif(), 130
enable_testing(), 166
endforeach(), 141
endfunction(), 146
endif(), 130
endwhile(), 140
find_file(), 155
find_library(), 155
find_package(), 201
411

Предметный указатель
find_path(), 155
find_program(), 155
foreach(), 141
function(), 146
get_filename_component(), 150
get_property(), 209
if(), 130
include(), 76
include_directories(), 92
install(), 174
link_directories(), 101
list(), 119
mark_as_advanced(), 214
math(), 118
message(), 79
option(), 114
project(), 74
return(), 146
set(), 114
set_property(), 209
string(), 123
target_compile_definitions(), 101
target_compile_features(), 103
target_compile_options(), 102
target_include_directories(), 94
target_link_libraries(), 105
target_sources(), 365
412

unset(), 114
while(), 140
компоновщик, 14
конечная система построения, 39
конфигурационный файл пакета CMake, 202
кэш CMake, 57
Л
логические константы CMake, 54
М
маска, 180
Предметный указатель
модуль CMake, 47, 77
модуль поиска пакета CMake, 202
модульное программирование, 12
О
область действия переменной CMake, 57
объектный модуль, 13
описание проекта, 18
П
пакет CMake, 201
переменные CMake, 56
перестроение, 18
полное построение, 18
построение, 16
построение вне каталога проекта, 19
правило, 17
413

Предметный указатель
промежуточный файл, 17
Р
разрешение зависимостей, 14
регулярное выражение, 62
редактор связей, 14
реестр пакетов CMake, 205
С
сборка, 16
специальные переменные CMake, 56
APPLE, 136
ARGC, 147
ARGN, 147
ARGV, 147
ARGV0, 147
ARGV1, 147
BORLAND, 136
BUILD_SHARED_LIBS, 72, 85
CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS, 291
CMAKE_APPBUNDLE_PATH, 159, 205
CMAKE_ARCHIVE_OUTPUT_DIRECTORY, 85
CMAKE_AUTOMOC, 319
CMAKE_AUTOMOC_MOC_OPTIONS, 319
CMAKE_AUTORCC, 319
CMAKE_AUTORCC_OPTIONS, 319
CMAKE_AUTOUIC, 319
CMAKE_AUTOUIC_OPTIONS, 319
414

CMAKE_BINARY_DIR, 59, 88, 140
CMAKE_BUILD_TYPE, 218
CMAKE_C_COMPILE_FEATURES, 103
CMAKE_C_FLAGS, 222, 263
CMAKE_C_FLAGS_DEBUG, 222, 263
CMAKE_CL_64, 136
CMAKE_COMMAND, 224
CMAKE_COMPILER_IS_GNUCC, 136
CMAKE_COMPILER_IS_GNUCXX, 136
CMAKE_CONFIGURATION_TYPES, 219, 263
CMAKE_CURRENT_BINARY_DIR, 88, 93
Предметный указатель
CMAKE_CURRENT_SOURCE_DIR, 78, 93
CMAKE_CXX_COMPILE_FEATURES, 103
CMAKE_CXX_FLAGS, 222
CMAKE_ERROR_DEPRECATED, 81
CMAKE_EXECUTABLE_SUFFIX, 341
CMAKE_FILES_DIRECTORY, 286
CMAKE_FIND_ROOT_PATH, 160
CMAKE_FRAMEWORK_PATH, 158, 159, 205
CMAKE_INCLUDE_CURRENT_DIR, 93
CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE, 97
CMAKE_INCLUDE_DIRECTORIES_BEFORE, 93
CMAKE_INCLUDE_PATH, 158, 366
CMAKE_INSTALL_PREFIX, 177
CMAKE_LIBRARY_ARCHITECTURE, 158
CMAKE_LIBRARY_OUTPUT_DIRECTORY, 85
CMAKE_LIBRARY_PATH, 159
415

Предметный указатель
CMAKE_MATCH_0, 64
CMAKE_MATCH_1, 63, 64
CMAKE_MATCH_COUNT, 64
CMAKE_MODULE_PATH, 77, 203
CMAKE_PREFIX_PATH, 158, 205
CMAKE_PROGRAM_PATH, 159
CMAKE_RUNTIME_OUTPUT_DIRECTORY, 82, 85
CMAKE_SOURCE_DIR, 140, 145
CMAKE_SYSROOT, 160
CMAKE_SYSTEM_PREFIX_PATH, 159
CMAKE_WARN_DEPRECATED, 81
CYGWIN, 136
MINGW, 137
MSVC, 137
MSVC10, 137
MSVC11, 137
MSVC12, 137
MSVC14, 137
MSVC60, 137
MSVC70, 137
MSVC71, 137
MSVC80, 137
MSVC90, 137
MSVC_IDE, 137
MSVC_VERSION, 138
MSYS, 137
PROJECT_BINARY_DIR, 75
416

PROJECT_NAME, 75
PROJECT_SOURCE_DIR, 75
PROJECT_VERSION, 76
UNIX, 136
WATCOM, 138
WIN32, 136
WINCE, 136
WINDOWS_PHONE, 136
WINDOWS_STORE, 136
XCODE_VERSION, 138
специальные свойства CMake, 61
Предметный указатель
ADDITIONAL_MAKE_CLEAN_FILES, 227
ADVANCED, 214
CLEAN_NO_CUSTOM, 332
CMAKE_C_KNOWN_FEATURES, 103, 215
CMAKE_CXX_KNOWN_FEATURES, 103, 215
COMPILE_DEFINITIONS, 240
COMPILE_OPTIONS, 226
DEBUG_CONFIGURATIONS, 108
ENABLE_EXPORTS, 230
FIND_LIBRARY_USE_LIB64_PATHS, 159
IMPORTED_LOCATION, 89, 391
IMPORTED_LOCATION_DEBUG, 89
INTERFACE_COMPILE_DEFINITIONS, 365
INTERFACE_COMPILE_OPTIONS, 226
INTERFACE_INCLUDE_DIRECTORIES, 368
INTERFACE_LINK_LIBRARIES, 368
417

Предметный указатель
INTERFACE_POSITION_INDEPENDENT_CODE, 404
INTERFACE_SOURCES, 365
OUTPUT_LOCATION, 327
OUTPUT_NAME, 82, 214
POSITION_INDEPENDENT_CODE, 404
STRINGS, 216
TIMEOUT, 174
списки CMake, 55
стандартные модули CMake, 77
BundleUtilities, 335
CheckCXXSourceCompiles, 286
CheckIncludeFileCXX, 285
CMakePackageConfigHelpers, 202
CMakeParseArguments, 149
CMakePrintHelpers, 149
DeployQt4, 334
GetPrerequisites, 336
сценарий CMake, 47
Т
таблица импорта, 14
таблица экспорта, 14
тест, 167
транслируемый модуль, 12
Ф
фальшивая цель, 24, 190
418

Ц
цель (построения), 17
B
Boost, 267
C
CMakeCache.txt, 57
CMakeLists.txt, 47
L
linker, 14
Предметный указатель
O
OpenCV, 256
P
POSIX, 23
Q
Qt, 292
инструмент lrelease, 326
инструмент lupdate, 324
компилятор метаобъектов (Meta-Object Compiler, moc), 303
компилятор пользовательского интерфейса (User Interface
Compiler, uic), 313
компилятор ресурсов (Resource Compiler, rcc), 308
R
rpath, 86
419
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
