Я работаю над несколькими проектами одновременно (некоторые библиотеки и некоторые игры, зависящие от них). Все они находятся на 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: библиотека, которая зависит от п 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/
при этом иметь возможность найти в LIBS файловой системы путей?