CMake несколько наборов инструментов и целевых платформ - PullRequest
5 голосов
/ 08 апреля 2011

Я перехожу с простого изготовления на CMake в качестве системы сборки для проекта.Предполагается, что проект будет работать в разных встроенных системах Linux, каждая из которых имеет свой собственный набор инструментов, а также имеет довольно много разных параметров конфигурации для каждой цели (например, разные определения препроцессора и некоторые источники включены / исключены).Он также должен работать на настольном Linux, и некоторые модули GUI должны работать на Windows.

Теперь у CMake есть опция CMAKE_TOOLCHAIN_FILE, которую можно использовать для выделения компонентов, специфичных для цепочки инструментов и компилятора, для каждого встроенногоплатформа (для настольных систем Linux и Windows она не нужна).

Полагаю, помещать в файл связки CMake Wiki не очень хорошая идея.

Я думаю о создании некоторых переменных CMake, которые можно отредактировать с помощью инструмента cmake gui, а затем просто использовать if/elseif для определения правильной настройки.

У кого-нибудь есть лучшее или более изящное предложение?

1 Ответ

7 голосов
/ 08 апреля 2011

Я решил, что вместо использования длинных if/elseif/else блоков у меня может быть просто

include(flags-${CONFIGURATION_NAME}.cmake)

в моем CMakeLists.txt, а конкретные флаги для каждой конфигурации будут просто перечислены в соответствующем файле флагов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...