я был изучен cmake некоторое время. у меня есть загадка об этом фрагменте кода:
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
может кто-нибудь помочь мне выяснить, что означает $ {CMAKE_MODULE_PATH} в конце этого кода.
Благодарность





В этом случае вы ожидаете ${CMAKE_SOURCE_DIR}/cmake перед текущим $CMAKE_MODULE_PATH.
Это конкатенация. Вы вставляете новое значение в начало списка CMAKE_MODULE_PATH.
При выполнении
set(CMAKE_MODULE_PATH my/path ${CMAKE_MODULE_PATH})
Вы добавляете к списку CMAKE_MODULE_PATH путь, по которому CMake будет искать Find.cmake или module-config.cmake (на самом деле отправленный путь - your_source_directory + / cmake
Вы также можете написать это так:
set(CMAKE_MODULE_PATH my/path;${CMAKE_MODULE_PATH})
как и в CMake, все является строкой, а список - просто строками, разделенными символами ';'
ссылка на саму переменную (https://cmake.org/cmake/help/v3.12/variable/CMAKE_MODULE_PATH.html?highlight=cmake_module_path)
Эта переменная используется CMake для внутренних целей при поиске пакета (с помощью макроса find_package).
Вы можете найти список путей, которые ищет cmake, в ссылке на макрос find_package (здесь: https://cmake.org/cmake/help/v3.12/command/find_package.html?highlight=cmake_module_path)
Надеюсь, что вы правильно ответите на ваш вопрос.