У меня есть проект CMake, который я хочу скомпилировать, используя g ++, MinGW/g ++ (4.x each), Clang (3.x) и MSVC++ (> = V8) ,Передача командной строки компилятора на препроцессор с использованием CMake
Я хочу иметь символ прекомпилятора с аргументами компилятора или командной строки.
Это полезно, чтобы убедиться, была ли включена оптимизация и какие ключи были включены в командной строке.
E.g. программа, составленная с g++ -O3 -DNDEBUG -g0
, должна знать, что флаги - "-O3 -DNDEBUG -g0"
. При написании ручных Makefiles я мог просто собирать флаги в переменной, а затем передать это компилятору с командной строкой g++ -O3 -DNDEBUG -g0 -DCOMPILER_ARGS="-O3 -DNDEBUG -g0"
.
Как добиться этого с помощью CMake?
-1 'CMAKE_CXX_FLAGS' не пуст по умолчанию в Windows. Также это пропускает все флаги, хранящиеся в переменных конфигурации, таких как 'CMAKE_CXX_FLAGS_DEBUG'. – Fraser
Хорошо, я не сказал, что на окнах пусто. И я сказал, что у 'COMPILE_FLAGS' есть все флаги. В любом случае, спасибо за -1, теперь моя репутация круглая. – arrowd
Вы сказали, что переменная '' CMAKE_CXX_FLAGS' содержит только флаги, установленные пользователем ". Это не всегда так. – Fraser