add_executable
Добавить исполняемый файл в проект, используя указанные исходные файлы.
add_executable(<name> [WIN32] [MACOSX_BUNDLE]
[EXCLUDE_FROM_ALL]
source1 [source2 ...])
Добавляет целевой исполняемый файл, названный <name>, который будет скомпилирован из исходных файлов, перечисленных в вызове команды. <name> соответствует логическому имени целевого файла и должно быть уникальным в рамках проекта. Файл исполняемого модуля, который будет скомпилирован, формируется на основе конвенций целевой платформы (например, <name>.exe или просто <name>).
По умолчанию исполняемый файл будет создан в каталоге сборки, соответствующем каталогу исходных файлов, в котором была вызвана команда. См. документацию свойства целевого файла RUNTIME_OUTPUT_DIRECTORY, чтобы изменить это расположение. См. документацию свойства целевого файла OUTPUT_NAME, чтобы изменить <name> часть итогового имени файла.
Если WIN32 указано, свойство WIN32_EXECUTABLE будет установлено для созданного целевого файла. См. документацию этого свойства целевого файла для получения подробной информации.
Если MACOSX_BUNDLE указано, соответствующее свойство будет установлено для созданного целевого файла. См. документацию свойства целевого файла MACOSX_BUNDLE для получения подробной информации.
Если EXCLUDE_FROM_ALL указано, соответствующее свойство будет установлено для созданного целевого файла. См. документацию свойства целевого файла EXCLUDE_FROM_ALL для получения подробной информации.
Аргументы исходных файлов для add_executable могут использовать "генераторские выражения" со синтаксисом $<...>. См. руководство cmake-generator-expressions(7) для доступных выражений. См. руководство cmake-buildsystem(7) для получения дополнительной информации о настройке свойств системы сборки.
add_executable(<name> IMPORTED [GLOBAL])
Целевой файл IMPORTED executable target ссылается на исполняемый файл, расположенный вне проекта. Для его сборки правила не генерируются, и свойство целевого файла IMPORTED установлено в True. Имя целевого файла имеет область действия в каталоге, в котором оно создано, и ниже, но параметр GLOBAL расширяет область видимости. К нему можно обратиться, как к любому целевому файлу, скомпилированному внутри проекта. IMPORTED исполняемые файлы полезны для удобной ссылки из команд, таких как add_custom_command(). Детали импортируемого исполняемого файла задаются путем установки свойств, имена которых начинаются с IMPORTED_. Наиболее важное такое свойство - IMPORTED_LOCATION (и его версия для каждой конфигурации IMPORTED_LOCATION_<CONFIG>), которое указывает местоположение основного исполняемого файла на диске. См. документацию свойств IMPORTED_* для получения дополнительной информации.
add_executable(<name> ALIAS <target>)
Создаёт Alias Target, такой что <name> может использоваться для ссылки на <target> в последующих командах. <name> не появляется в сгенерированной системе сборки как цель make. <target> не может быть Imported Target или ALIAS. ALIAS целевые файлы могут использоваться как целевые файлы для чтения свойств, исполняемых файлов для пользовательских команд и пользовательских целей. Их также можно проверить на наличие с помощью обычной команды if(TARGET). <name> не может быть использован для изменения свойств <target>, то есть он не может использоваться в качестве операнда set_property(), set_target_properties(), target_link_libraries() и т. д. ALIAS целевой файл не может быть установлен или экспортирован.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.7/command/add_executable.html