Я думаю, что документация здесь не так. Добавление CMAKE_INSTALL_PREFIX
к CMAKE_SYSTEM_PREFIX_PATH
не выполняется автоматически. Это делается в модулях CMake, специфичных для платформ Windows и Linux (например, c: \ Program Files \ CMake \ share \ cmake-3.14 \ Modules \ Platform \ WindowsPaths.cmake на моем компьютере).
Чтобы имитировать одинаковое поведение для не-Windows и не-Linux-платформ, вы можете сделать следующее. В файле набора инструментов определите уникальное имя системы, а также добавьте текущий каталог в CMAKE_MODULE_PATH
, чтобы Cmake искал модули здесь:
set(CMAKE_SYSTEM_NAME "MySystem")
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
Затем создайте файл платформы с именем <CMAKE_SYSTEM_NAME>.cmake
в подпапке с именем Platform
(например, Platform\MySystem.cmake
). Внутри этого файла вы можете добавить CMAKE_INSTALL_PREFIX
к CMAKE_SYSTEM_PREFIX_PATH
:
# Copied from c:\Program Files\CMake\share\cmake-3.14\Modules\Platform\WindowsPaths.cmake
if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Project install destination.
"${CMAKE_INSTALL_PREFIX}"
)
if(CMAKE_STAGING_PREFIX)
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# User-supplied staging prefix.
"${CMAKE_STAGING_PREFIX}"
)
endif()
endif()