2016-10-27 2 views
-1

Можно ли указать некоторые флаги компилятора/компоновщика, которые будут использоваться только для теста компилятора cmake (т. Е. Фактический проект будет использовать другой набор флагов)? Например, мне нужно скомпилировать основной проект с параметром -mcpu = native, не используя этот параметр для тестовой программы. В качестве альтернативы, есть ли способ проверить, компилирует ли cmake тестовую программу, а затем определить флаги компиляции на основе этого условия? Благодаряcmake flags только для теста компилятора

+0

мы говорим ли о [ 'try_compile()'] (https://cmake.org/cmake/help/latest/ command/try_compile.html) здесь (который также используется для первых проверок компилятора)? Тогда да, вы можете проверить глобальное свойство ['IN_TRY_COMPILE'] (https://cmake.org/cmake/help/latest/prop_gbl/IN_TRY_COMPILE.html). Я использую это внутри своих файлов toolchain, чтобы увидеть, работает ли CMake в настоящее время некоторые проверки компилятора. Или вы можете использовать свою собственную конфигурацию try configure с помощью ['CMAKE_TRY_COMPILE_CONFIGURATION'] (https://cmake.org/cmake/help/latest/variable/CMAKE_TRY_COMPILE_CONFIGURATION.html). – Florian

ответ

0

Компилятор/линкер флаги могут быть установлены для каждого целевого использования target_compile_options:

add_executable(main_project ...) 
target_compile_options(main_project PUBLIC -mcpu=native) 
Смежные вопросы