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

Все эти проекты создаются с разными параметрами/определениями компиляции, и их зависимости также необходимо создавать с этими флагами.
Как лучше всего это сделать? В настоящее время я использую
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 проекта.
Будет ли это работать? Есть ли способ лучше? На самом деле зависимостей намного больше, и пропустить одну очень легко
Я нашел похожий вопрос, но, похоже, речь идет о настройке параметров для всего репозитория, а не для отдельных проектов внутри репозитория.
Мобильная версия