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) для получения дополнительной информации о определении свойств системы сборки.
См. также HEADER_FILE_ONLY о том, что делать, если некоторые исходные файлы предварительно обработаны, и вы хотите, чтобы исходные файлы были доступны внутри IDE.
add_executable(<name> IMPORTED [GLOBAL])
Целевая ссылка импортированного исполняемого файла ссылается на исполняемый файл, расположенный вне проекта. Правила для его сборки не генерируются, и свойство цели IMPORTED имеет значение True. Имя цели имеет область действия в каталоге, в котором оно создано, и ниже, но опция GLOBAL расширяет видимость. На него можно ссылаться как на любую цель, собранную в рамках проекта. IMPORTED исполняемые файлы полезны для удобной ссылки из команд, таких как add_custom_command(). Подробности импортированного исполняемого файла задаются путем установки свойств, имена которых начинаются с IMPORTED_. Наиболее важное из таких свойств — IMPORTED_LOCATION (и его версия для конфигурации IMPORTED_LOCATION_<CONFIG>), которое указывает расположение основного исполняемого файла на диске. Смотрите документацию свойств IMPORTED_* для получения дополнительной информации.
add_executable(<name> ALIAS <target>)
Создает целевой псевдоним, такой что <name> может использоваться для ссылки на <target> в последующих командах. <name> не появляется в сгенерированной системе сборки как целевой объект make. <target> не может быть импортированной целью или ALIAS. ALIAS цели могут использоваться в качестве целей для чтения свойств, исполняемых файлов для пользовательских команд и пользовательских целей. Их также можно проверить на существование с помощью обычной команды if(TARGET). <name> не может быть использована для изменения свойств <target>, то есть она не может использоваться в качестве операнда для set_property(), set_target_properties(), target_link_libraries() и т. д. Целевой псевдоним не может быть установлен или экспортирован.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.9/command/add_executable.html