我正在第一次使用cmake,並且我正在嘗試做一些簡單的事情。假設項目所需的某些依賴關係安裝在對庫不正常的目錄中,但用戶完全知道它們的位置。例如,我有一個我正在開發的項目,需要SFML,但我總是將所有的API和庫安裝在同一目錄c:/ dev中。這樣我的計算機周圍就沒有大量的圖書館。問題是我想cmake找到該庫,但find_module不會看到那裏,並不會找到它。我的問題是這個。如果有人把他們所有的API和庫放在一個不同的文件夾中,那麼無論如何,當他們通過git或者其他東西拉下我的項目並嘗試構建時,我可以只查詢一次該路徑的用戶?提示輸入和輸出到cmake文件
一步一步我想要這個。運行cmake,cmake會嘗試find_module獲取所需的依賴關係,如果失敗,它會詢問用戶是否知道並且他們鍵入了路徑。如果它仍然無法找到它,它就會失敗,如果它確實存在,它將該路徑存儲在某個文件中,以便後續對cmake的調用不會查詢它,並且我會爲每個依賴項執行此操作。這可能嗎?這在unix系統上從來都不是問題,但是對於Windows而言,這是一個真正的問題,因爲每個庫似乎都想安裝在不同的隨機位置。
我相信這會工作得很好。我不希望用戶必須以任何方式編輯CMakeList.txt,以便最終用戶不會推送可能會破壞它的更改,但如果您有一個位於奇怪位置的圖書館,我可以在某處放置特定說明,只需在cmake-gui中設置緩存的變量即可。我發現他們提供的FindSFML.cmake文件有一個變量,你可以爲這樣的事情設置一個變量SFML_ROOT,它很好地工作。謝謝一堆。 – FatalCatharsis