Вопрос по c++, cmake – Добавление флагов компилятора в файл с помощью CMake

10

Как добавить флаг компилятора (я хочу добавить его, а не перезаписывать остальные) к одному модулю перевода с помощью cmake?

Я пробовал с

set_source_files_properties(MyFile.cpp PROPERTIES CMAKE_CXX_FLAGS "-msse4.1")

но это нет работаю .. любой совет как это сделать?

Ваш Ответ

3   ответа
3

почти там, это должно работать:

set_property(SOURCE MyFile.cpp APPEND PROPERTY CMAKE_CXX_FLAGS -msse4.1)

Добросердечные помощники (вродеset_source_files_properties()) иногда может быть удобно, но у них очень упрощенный интерфейс. Для нетривиальных вещей, вы должны использоватьset_property(), Я'Я обнаружил, что я вообще редко пользуюсь помощниками.

2

set_property(SOURCE MyFile.cpp APPEND PROPERTY CMAKE_CXX_FLAGS "-msse4.1")

Кстати, некоторые свойствавсегда добавляетсянапример, COMPILE_FLAGS. Для тех, кого ты нене нужно делать ничего особенного, просто установите их, и они будут добавлены :)

16

Правильное свойство для установки флагов исходного файла называетсяCOMPILE_FLAGS, Поскольку это строковое свойство, правильным способом добавления дополнительных опций является использованиеAPPEND_STRING вариантset_property команда:

set_property(SOURCE MyFile.cpp APPEND_STRING PROPERTY COMPILE_FLAGS " -msse4.1 ")

APPEND_STRING опция доступна только с CMake 2.8.6 или новее.

Похожие вопросы