Spec-Zone.ru › CMake 3.29

add_subdirectory

Добавить подкаталог в сборку.

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM])

Добавляет подкаталог в сборку. source_dir указывает каталог, в котором расположены исходные CMakeLists.txt и файлы кода. Если это относительный путь, он будет интерпретироваться относительно текущего каталога (стандартное использование), но может также быть абсолютным путем. binary_dir указывает каталог для размещения выходных файлов. Если это относительный путь, он будет интерпретироваться относительно текущего каталога вывода, но может также быть абсолютным путем. Если binary_dir не указан, будет использовано значение source_dir, перед расширением любого относительного пути (стандартное использование). Файл CMakeLists.txt в указанном исходном каталоге будет обработано CMake непосредственно перед продолжением обработки текущего входного файла за пределами этой команды.

Если передан аргумент EXCLUDE_FROM_ALL, цели в подкаталоге по умолчанию не будут включены в ALL цель родительского каталога и будут исключены из файлов проекта IDE. Пользователи должны явно скомпилировать цели в подкаталоге. Это предназначено для использования, когда подкаталог содержит отдельную часть проекта, которая полезна, но не обязательна, например, набор примеров. Обычно подкаталог должен содержать собственное вызов команды project(), чтобы в подкаталоге был сгенерирован полный системный сборщик (например, файл решения Visual Studio IDE). Обратите внимание, что межцелевые зависимости имеют приоритет перед этим исключением. Если цель, собранная родительским проектом, зависит от цели в подкаталоге, зависимая цель будет включена в систему сборки родительского проекта для удовлетворения зависимости.

Новое в версии 3.25: Если передан аргумент SYSTEM, свойство каталога SYSTEM подкаталога будет установлено в значение true. Это свойство используется для инициализации свойства SYSTEM каждой неимпортированной цели, созданной в этом подкаталоге.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/command/add_subdirectory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API