Подтвердить что ты не робот

Как указать cmake в определенном каталоге для библиотеки?

У меня есть проект CMake, в котором я использую библиотеку, и теперь я хочу протестировать свой код с другой версией этой библиотеки. Я могу установить INCLUDE_DIRECTORIES (и, возможно, позже также ссылку) в приведенном ниже примере. Но поскольку я хочу сделать это только временно, я хотел бы вручную установить этот путь с помощью ccmake/cmake-gui.

Как это сделать?

project(min_example)
cmake_minimum_required(VERSION 2.8)

find_package(OpenCV REQUIRED)
# Without the following line please:
INCLUDE_DIRECTORIES("/home/me/src/opencv/install/include")
add_executable(min_example main.cpp)
target_link_libraries(min_example ${OpenCV_LIBS})
4b9b3361

Ответ 1

Это можно сделать, установив переменную CMAKE_PREFIX_PATH при настройке вашей сборки. В каталоге проекта создайте каталог test_build и запустите:

mkdir test_build
cd test_build
cmake -DCMAKE_PREFIX_PATH=/home/me/src/opencv/install ..

Установка переменной CMAKE_PREFIX_PATH заставит команду find_package(OpenCV REQUIRED) выбрать вашу установку OpenCV в /home/me/src/opencv и соответственно установить переменные OpenCV_LIBS и OpenCV_INCLUDE_DIR.

В качестве альтернативы вы можете отредактировать файл CMakeCache.txt существующего каталога сборки с помощью редактора графического интерфейса CMake и добавить там определение CMAKE_PREFIX_PATH. Затем вы должны перенастроить свой проект.