2011-04-08 4 views
5

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

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

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

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

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

ответ

5

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

include(flags-${CONFIGURATION_NAME}.cmake) 

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

Смежные вопросы