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 устанавливается в 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() и т.д. ALIAS целевой объект не может быть установлен или экспортирован.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.5/command/add_executable.html