我正在同时处理多个项目(一些库和一些依赖它们的游戏)。它们都在 GitHub 上,位于单独的存储库中。
为方便起见,我将每个 repo 拉到“工作区文件夹”中,如下所示:
/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:依赖于 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/
文件夹,同时仍然有可能在文件系统路径中找到库吗?