У меня проект поддерживает много типов сборок. Для разных комбинаций компилятор-архитектура-ось, по признакам наличия-отсутствия некоторых библиотек и т.д. Есть соответствующие диры, в которых эти сборки находятся.
А в дире src есть файл CMakeLists.txt, со списком исходников, add_executable и другие общие команды.
Проблема в том, что для разных типов сборок нужно подключать разные библиотеки и городить тьму IF-ов в общем CMakeLists.txt очень некрасиво.
Вопрос. Как в Cmake разнести общие для всех сборок настройки и частные. Я уже использую отдельные cache файлы для каждой из сборок, где объявляю разные специфические флаги компиляции и т.д., но так нельзя подключать библиотеки.