我現在得到了一些關於cmake的問題。由於這已是一個已知問題(請參閱here),如果在%PATH%環境內有sh.exe,調用MinGW Makefile生成器將失敗。如果人們有並行的cygwin或msys安裝,通常情況就是這樣。但是,我想創建一個解決方案,它在%PATH%中搜索名爲sh.exe的可執行文件,並且如果存在此類路徑,則應將其從環境變量中刪除。當然,我可以用一個預編譯的c程序和一個批處理腳本(當前解決方案)來做到這一點,但是這需要用戶在調用cmake之前執行腳本,這有點不方便。 我預計根的CMakeLists.txt如何在cmake的配置腳本執行前執行檢查?
if (MINGW)
"scan for sh.exe and remove eventually"
endif (MINGW)
內做這樣的事情,但這樣做的CMake其生成預配置後,首先讀取的CMakeLists.txt由於路徑環境還沒有在這種情況下會失敗已被修改以允許MinGW安裝。在cmake配置執行之前,是否有任何方法可以執行這些檢查並更改%PATH%?
是的,我也可以寫另一個批處理腳本來改變環境,然後調用cmake,但這將是我爲我的目的考慮的最終選項:)。
在此先感謝。