我正在同時處理多個項目(一些庫和一些依賴它們的遊戲)。他們都在GitHub上,分開回購。防止CMake查找已安裝的庫而不是「本地」庫
爲了方便,我每次拉回購在「工作區文件夾」,這樣的:
/home/myWorkspace/Library1/
/home/myWorkspace/Library2/
/home/myWorkspace/Library3/
/home/myWorkspace/App1/
/home/myWorkspace/App2/
我有FindLibrary1
,FindLibrary2
和FindLibrary3
.cmake文件,這些文件按順序查找庫中../
(對應於「myWorkspace」文件夾),然後/usr/lib/
。
在Windows上CMake找到myWorkspace/
中的庫,在Linux上,無論如何,總是先找到已安裝的庫。
由於我想在myWorkspace/
文件夾中工作,然後在完成後安裝庫,我寧願CMake查找並鏈接myWorkspace/
文件夾中的所有內容。
我也會喜歡CMake的搜索庫中/usr/lib/
和/usr/local/lib/
如果沒有myWorkspace/
文件夾,但如果myWorkspace/
存在,它應該有優先權。
的CMake的文件的例子我使用:
SSVUtils:庫沒有依賴關係
SSVUtils CMakeLists:https://github.com/SuperV1234/SSVUtils/blob/master/CMakeLists.txt
FindSSVUtils.cmake:https://github.com/SuperV1234/SSVUtils/blob/master/cmake/modules/FindSSVUtils.cmake
SSVUtilsJson:依賴於o的庫ñSSVUtils和SSVJsonCpp
SSVUtilsJson CMakeLists:https://github.com/SuperV1234/SSVUtilsJson/blob/master/CMakeLists.txt
FindSSVUtilsJson.cmake:https://github.com/SuperV1234/SSVUtilsJson/blob/master/cmake/modules/FindSSVUtilsJson.cmake
任何想法,同時還具有找到文件系統路徑庫的可能性,我可以怎樣優先考慮myWorkspace/
文件夾?