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