add_subdirectory
Добавить подкаталог в сборку.
add_subdirectory(source_dir [binary_dir]
[EXCLUDE_FROM_ALL])
Добавить подкаталог в сборку. Параметр source_dir указывает каталог, в котором находятся исходные файлы CMakeLists.txt и код. Если это относительный путь, он будет интерпретирован относительно текущего каталога (стандартное использование), но также может быть абсолютным путём. Параметр binary_dir указывает каталог, в котором должны быть размещены выходные файлы. Если это относительный путь, он будет интерпретирован относительно текущего выходного каталога, но также может быть абсолютным путём. Если binary_dir не указан, будет использовано значение source_dir, до расширения любых относительных путей (стандартное использование). Файл CMakeLists.txt в указанном исходном каталоге будет обработан CMake немедленно перед продолжением обработки текущего входного файла после данной команды.
Если предоставлен параметр EXCLUDE_FROM_ALL, тогда цели в подкаталоге по умолчанию не будут включены в цель ALL родительского каталога и будут исключены из файлов проекта IDE. Пользователи должны явно скомпилировать цели в подкаталоге. Это предназначено для использования, когда подкаталог содержит отдельную часть проекта, которая полезна, но не обязательна, например, набор примеров. Обычно подкаталог должен содержать собственный вызов команды project(), чтобы в подкаталоге была сгенерирована полная система сборки (например, файл решения VS IDE). Обратите внимание, что зависимости между целями имеют приоритет перед этим исключением. Если цель, собранная родительским проектом, зависит от цели в подкаталоге, цель-зависимость будет включена в систему сборки родительского проекта для удовлетворения зависимости.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/command/add_subdirectory.html