此問題與Instruct Cmake to use CXX and CXXFLAGS when driving link?有關在前一個問題中,我們試圖指示CMake在調用鏈接器時使用CXXFLAGS
。add_compile_options和SET之間的區別(CMAKE_CXX_FLAGS ...)
add_compile_options
我們發現,下面的代碼
if (CMAKE_VERSION VERSION_LESS 2.8.12)
add_definitions(-foo)
else()
add_compile_options(-foo)
endif()
message(STATUS, "CXXFLAGS: ${CMAKE_CXX_FLAGS}")
產生輸出
CXXFLAGS:
SET CMAKE_CXX_FLAGS
我們發現,下面的代碼
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -foo")
message(STATUS, "CXXFLAGS: ${CMAKE_CXX_FLAGS}")
產生輸出
CXXFLAGS: -foo
問題
我們發現的CMake將建立在這兩種情況下使用-foo
目標文件。所以-foo
絕對是進入CXXFLAGS
。
第一套CMake代碼和第二套CMake代碼之間有什麼區別?
爲什麼CMAKE_CXX_FLAGS
在一個實例中未設置,並在另一個實例中設置?
如果版本很重要:'cmake --version'返回'cmake版本3.6.2'。 – jww
這是你在過去幾天內關於CMake的第五個問題。你介意承認它叫做CMake而不是Cmake? – usr1234567
@ usr1234567 - 是的,抱歉的問題。希望CMake的人不會維護它,所以責任現在落在我身上。我對CMake幾乎一無所知,因爲我使用GNUmake並編寫自己的makefile。我*後悔*接受那些CMake補丁...是的,我會得到編輯的問題。對於那個很抱歉。 – jww