LINUX.ORG.RU

[cmake] add_custom_target

 


0

1

Концепт:

Есть файлики:
CMakeLists.txt
first_part/CMakeLists.txt
second_part/CMakeLists.txt
third_part/CMakeLists.txt

В каждом из *_part/CMakeLists.txt скриптах в переменные вносятся записи об исходных файлах и хедерах аля SET ( HEADERS .... ).

В головном CMakeLists.txt файле написаны команды:
add_subdirectory(first_part)
add_subdirectory(second_part)
add_subdirectory(third_part)

Билдится все хорошо.

Но. Появилось желание создать custom_target в котором будут происходить некоторые операции со всеми исходниками проекта.

Столкнулся с тем, что custom_target помещенный в головной файл не видет переменных объявленных в subdirectory.

Как это поправить?

Если в поддиректориях разные части проекта или разные проекты, то идеологически правильно преобразования провести прямо в них. Если поддиректории составляют один проект, то можно обойтись одним корневым CMakeLists.txt, в котором прописать файлы из всех поддиректорий. Что-то типа глобальных переменных в CMake afaik нет.

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

Решил через использование команды get_directory_property :)

Evil_Wizard ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.