Spec-Zone.ru › CMake 3.28

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–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/command/add_subdirectory.html

Spec-Zone.ru

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