我正在嘗試使用CMake獲得跨平臺(tái)的構(gòu)建系統(tǒng)?,F(xiàn)在,該軟件具有一些依賴性。我自己編譯了它們并將它們安裝在我的系統(tǒng)上。一些已安裝的示例文件:-- 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現(xiàn)在,CMake具有一個(gè)find_package()可打開Find*.cmake文件并在系統(tǒng)上的庫之后進(jìn)行搜索并定義一些變量(如SomeLib_FOUNDetc)的功能。我的CMakeLists.txt包含以下內(nèi)容:set(CMAKE_MODULE_PATH "/usr/local/lib/SomeLib/cmake/;${CMAKE_MODULE_PATH}")find_package(SomeLib REQUIRED)第一個(gè)命令定義了CMake在哪里搜索,F(xiàn)ind*.cmake然后我添加SomeLib了FindSomeLib.cmake可以找到的目錄,因此find_package()可以正常工作。但這find_package()有點(diǎn)奇怪,因?yàn)榇嬖诘脑蛑痪褪且獢[脫非跨平臺(tái)的硬編碼路徑。通常如何做?我應(yīng)該將cmake/目錄復(fù)制SomeLib到我的項(xiàng)目中并設(shè)置CMAKE_MODULE_PATH相對(duì)位置嗎?
- 3 回答
- 0 關(guān)注
- 2747 瀏覽
添加回答
舉報(bào)
0/150
提交
取消