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