2015-01-17 3 views
1

В моем проекте CMake настроить флаги компилятора, как это:Как установить флаги компилятора для групп файлов в CMake?

if (MSVC) 
    # Build cpp files on all cores 
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /W4") 

    # can't use the "secure" versions as they're Windows specific 
    add_definitions("/D\"_CRT_SECURE_NO_WARNINGS\"") 
    add_definitions("/D\"_SCL_SECURE_NO_WARNINGS\"") 

    add_definitions("/wd4290") 
else() 
    # Enable C++11, you may need to use -std=c++0x if using an older gcc compiler 
    if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") 
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
    else() 
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-unused-parameter -fPIC -Wall -Weffc++ -pedantic") 
    endif() 
endif() 

Чтобы установить флаги для MSVC, Clang и GCC. Однако в моих исходных файлах var у меня есть исходный код и сторонние вещи, такие как gtest и gmock.

Как установить эти флаги так, чтобы они применимы только к некоторому подмножеству исходного кода?

например

# This should use the flags set above 
SET(source 
mycode/mysrc.cpp) 

# This should not use the flags from above 
SET(not_my_source 
3rdparty/3rdparty.cpp) 

# But both end up being part of the same executable 
add_executable(Test ${source} ${not_my_source}) 
+0

Возможный дубликат [CMake - игнорировать/показывать только ошибки/предупреждения из определенного каталога] (http://stackoverflow.com/questions/15133332/cmake-ignore-only-show-errors-warnings-from-certain-directory) – herohuyongtao

ответ

0

Вы можете обратиться к here. Вы должны иметь возможность передать список файлов, для которых вы хотите изменить флаги компилятора.

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