#cmake #vcpkg
#cmake #vcpkg
Вопрос:
Почему, когда я устанавливаю путь к цепочке инструментов vcpkg из команды cmake configure
cmake -DVCPKG_TOOLCHAIN_FILE=D:/vcpkg/script/buildsystems/vcpkg.cmake ..
Я могу использовать find_package
, например:
find_package(LibXml2 REQUIRED)
тогда как, если я хочу установить разумное значение по умолчанию для файла цепочки инструментов vcpkg, используя кэшированную переменную cmake
set(VCPKG_TOOLCHAIN_FILE D:/vcpkg/script/buildsystems/vcpkg.cmake CACHE FILEPATH "vcpkg toolchain path")
затем та же find_package
команда завершается с ошибкой:
CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
Could NOT find LibXml2 (missing: LIBXML2_INCLUDE_DIR)
чего мне здесь не хватает?
Комментарии:
1.Вы устанавливаете
VCPKG_TOOLCHAIN_FILE
передproject()
вызовом, не так ли?2. Нет, это была одна из моих проблем. Другой был в том, что мне нужно установить CMAKE_TOOLCHAIN_FILE == VCPKG_TOOLCHAIN_FILE перед вызовом project()