我想通過未放置在我的系統PATH中的Mingw編譯器構建我的源代碼。 我在腳本開始嘗試這樣做:如何在CMake腳本中設置PATH環境變量?
set(Env{PATH} "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
這:
set(CMAKE_PROGRAM_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
set(CMAKE_LIBRARY_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
set(CMAKE_SYSTEM_PROGRAM_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
set(CMAKE_SYSTEM_PREFIX_PATH "c:/MyProject/Tools/mingw/bin/" "c:/MyProject/Tools/mingw/msys/1.0/bin/")
第一個變種不會在所有的工作。建議我不能在CMake腳本中覆蓋環境變量的值。 第二個腳本找到我的mingw編譯器,但在運行gcc時發現錯誤(無法找到gcc需要的libgmp-10.dll)。這是因爲PATH變量沒有設置給我的Mingw。
可以使用setlocal在腳本中自動撤消批處理文件退出時的更改(如果需要)。還有一些環境變量'ProgramFiles(x86)'和'ProgramFiles',應該用來代替硬編碼「C:\ Program Files」 – doug65536