Cmake: включить FindPackageHandleStandardArgs.cmake - PullRequest
3 голосов
/ 10 августа 2011

Во многих модулях cmake find мы находим INCLUDE("${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake") Я хотел бы сделать то же самое, но из CMakeLists моего проекта.Проблема в том, что ${CMAKE_CURRENT_LIST_DIR} указывает на каталог моего проекта ... А FindPackageHandleStandardArgs.cmake находится в /usr/share/cmake-2.8/Modules/.

Существует ли переменная CMake, которая указывает на каталог модуля cmake?Если нет, то как это сделать в моих списках CMakeLists (я хочу, чтобы это было переносимо, а не «жестко закодировано»)?

Большое спасибо.

Ответы [ 2 ]

8 голосов
/ 10 августа 2011

Если указан файл модуля, команда include автоматически найдет каталог модуля CMake. Просто используйте:

include(FindPackageHandleStandardArgs)
0 голосов
/ 27 сентября 2018

Если вы изменили переменную CMAKE_MODULE_PATH (что обычно происходит при создании пользовательского Find*.cmake), вы можете сделать:

include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs)

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