我正在嘗試使用CMake獲得跨平臺的構建系統。現在,該軟件具有一些依賴性。我自己編譯了它們并將它們安裝在我的系統上。一些已安裝的示例文件:-- Installing: /usr/local/share/SomeLib/SomeDir/somefile-- Installing: /usr/local/share/SomeLib/SomeDir/someotherfile-- Installing: /usr/local/lib/SomeLib/somesharedlibrary-- Installing: /usr/local/lib/SomeLib/cmake/FindSomeLib.cmake-- Installing: /usr/local/lib/SomeLib/cmake/HelperFile.cmake現在,CMake具有一個find_package()可打開Find*.cmake文件并在系統上的庫之后進行搜索并定義一些變量(如SomeLib_FOUNDetc)的功能。我的CMakeLists.txt包含以下內容:set(CMAKE_MODULE_PATH "/usr/local/lib/SomeLib/cmake/;${CMAKE_MODULE_PATH}")find_package(SomeLib REQUIRED)第一個命令定義了CMake在哪里搜索,Find*.cmake然后我添加SomeLib了FindSomeLib.cmake可以找到的目錄,因此find_package()可以正常工作。但這find_package()有點奇怪,因為存在的原因之一就是要擺脫非跨平臺的硬編碼路徑。通常如何做?我應該將cmake/目錄復制SomeLib到我的項目中并設置CMAKE_MODULE_PATH相對位置嗎?
- 3 回答
- 0 關注
- 2749 瀏覽
添加回答
舉報
0/150
提交
取消