Можете ли вы установить параметры/определения компилятора для всех зависимостей [cmake]?C++

Программы на C++. Форум разработчиков
Гость
Можете ли вы установить параметры/определения компилятора для всех зависимостей [cmake]?

Сообщение Гость »


У меня есть несколько проектов в одном репозитории, которые имеют одинаковые зависимости, и каждый из них, в свою очередь, зависит от большего количества библиотек (упрощенная структура показана ниже).


Изображение


Все эти проекты создаются с разными параметрами/определениями компиляции, и их зависимости также необходимо создавать с этими флагами.

Как лучше всего это сделать? В настоящее время я использую

target_compile_options(P1_configuration ИНТЕРФЕЙС ${P1_compile_options}) target_compile_definitions(P1_configuration ИНТЕРФЕЙС ${P1_compile_definitions}) target_compile_options(P2_configuration ИНТЕРФЕЙС ${P2_compile_options}) target_compile_definitions(P2_configuration ИНТЕРФЕЙС ${P2_compile_definitions}) в файле CMakeList верхнего уровня и

target_link_libraries(P1 P1_configuration) target_link_libraries (ЧАСТНАЯ P1_конфигурация) target_link_libraries(B ЧАСТНАЯ P1_конфигурация) target_link_libraries (C ЧАСТНАЯ P1_конфигурация) target_link_libraries(D ЧАСТНАЯ P1_конфигурация) target_link_libraries (P2 P2_configuration) target_link_libraries (ЧАСТНАЯ конфигурация P2) ... в каждом файле CMakeList проекта.

Будет ли это работать? Есть ли способ лучше? На самом деле зависимостей намного больше, и пропустить одну очень легко

Я нашел похожий вопрос, но, похоже, речь идет о настройке параметров для всего репозитория, а не для отдельных проектов внутри репозитория.

Вернуться в «C++»