Spec-Zone.ru › CMake 3.25

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(), чтобы в подкаталоге был сгенерирована полная система сборки (например, файл решения VS IDE). Обратите внимание, что межцелевые зависимости переопределяют это исключение. Если цель, созданная родительским проектом, зависит от цели в подкаталоге, зависимая цель будет включена в родительский проект сборки для удовлетворения зависимости.

Если предоставлен параметр SYSTEM, свойство каталога SYSTEM подкаталога будет установлено в значение true. Это свойство используется для инициализации свойства SYSTEM каждой цели, созданной в этом подкаталоге. Каталоги включаемых файлов целей с SYSTEM установленными в значение true будут обрабатываться как SYSTEM при компиляции потребителей.

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

Spec-Zone.ru

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