1
我在RHEL5上使用模塊,並在我的機器上安裝了各種版本的編譯器/ binutils。因此,我最終定義了指向我的工具的環境變量,並相應地更新了路徑,因此RHEL5附帶的舊工具不在圖片中。CMAKE使用環境變量而不將它們作爲命令行參數傳遞?
是否有一個簡單的方法讓cmake加載相應的環境變量?
例如在我的環境:
CMAKE_CXX_COMPILER=/some/other/compiler
CMAKE_LINKER=/some/other/linker
有沒有辦法有cmake的搶這些不通過命令行傳遞它們的參數?
在我的CMakeLists.txt我下面沒有工作
SET(CMAKE_CXX_COMPILER, $ENV{CMAKE_CXX_COMPILER})
毫不奇怪下面也沒有工作:
IF($ENV{CMAKE_CXX_COMPILER})
SET(CMAKE_CXX_COMPILER, $ENV{CMAKE_CXX_COMPILER})
MESSAGE("CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER}")
ENDIF()
也許這是一個語法問題,或者不正確的地方更新這樣一個cmake變量? 當我通過命令行傳遞時(例如-DCMAKE_CXX_COMPILER = $ {CMAKE_CXX_COMPILER}),它確實有效,但我不想這樣做。
謝謝
逗號不應該在那裏(在任何一種情況下)。此外,編譯器設置是CMake中的特定野獸。你會發現'$ ENV {XYZ}'正常工作得很好。 – Angew