Как я могу установить CMAKE_MODULE_PATH для выполнения регулярных сборок и сборок вне исходного кода в CMake? - PullRequest
0 голосов
/ 10 октября 2018

У меня есть такая строка в моем CMakeLists.txt

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "cmake")

Это так, что некоторые пользовательские библиотеки могут быть найдены с деревом каталогов, которое выглядит следующим образом:

CMakeLists.txt
cmake/
|-- FindSomeLibrary.cmake
|-- FindAnotherLibrary.cmake

Обычно я строю просто так:

cmake .

Что отлично работает.Тем не менее, я хочу обеспечить отладку и выпуск сборки, используя следующий скрипт:

mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=Release ../

Однако теперь он не может найти модули cmake.

Есть ли способ установить CMAKE_MODULE_PATH чтобы он работал как для сборок с исходным кодом, так и для сборок вне источника?

1 Ответ

0 голосов
/ 10 октября 2018

Как предлагается в комментариях:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

и всегда пытайтесь установить все пути относительно некоторого каталога CMAKE_ *.Таким образом, вы пропустите много ошибок.;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...