cmake常用編譯選項
這里記錄一下cmake中常用的c/c++編譯選項,常用的有兩個疑故,
add_compile_options
和通過set修改CMAKE_CXX_FLAGS
-
add_compile_options
: 針對于所有的編譯器杠览,包括C/C++編譯器 - set命令設(shè)置CMAKE_C_FLAGS或CMAKE_CXX_FLAGS變量則是分別只針對C和C++編譯器的
#判斷編譯器類型,如果是gcc編譯器,則在編譯選項中加入c++11支持
IF(CMAKE_COMPILER_IS_GNUCXX)
ADD_COMPILE_OPTIONS(-std=c++11)
MESSAGE(STATUS "optional:-std=c++11")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
上述針對于所有編譯器,編譯c時會產(chǎn)生警告
#判斷編譯器類型,如果是gcc編譯器,則在編譯選項中加入c++11支持
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -std=c++11")
message(STATUS "optional:-std=c++11")
endif(CMAKE_COMPILER_IS_GNUCXX)
變量使用
- 使用
${}
進(jìn)行變量的引用纵势。在 IF 等語句中踱阿,是直接使用變量名而不通過${}
取值 - 使用
$ENV{NAME}
指令就可以調(diào)用系統(tǒng)的環(huán)境變量 - 設(shè)置環(huán)境變量的方式是:
SET(ENV{變量名} 值)