I have a CMake project where I am using a library and now I want to test my code with a different version of that library. I can set INCLUDE_DIRECTORIES (and possibly later also linking) in the below example. But because I only want to do this temporarily, I'd like to manually set this path with ccmake/cmake-gui.
How do I do this?
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})
This should be possible by setting the
CMAKE_PREFIX_PATH
variable upon configuring your build. In your project directory generate atest_build
directory and run:mkdir test_build cd test_build cmake -DCMAKE_PREFIX_PATH=/home/me/src/opencv/install ..
Setting the
CMAKE_PREFIX_PATH
variable will make thefind_package(OpenCV REQUIRED)
command pick your OpenCV installation in/home/me/src/opencv
and set theOpenCV_LIBS
andOpenCV_INCLUDE_DIR
variables accordingly.Alternatively you can edit a
CMakeCache.txt
file of an existing build directory with the CMake GUI editor and add theCMAKE_PREFIX_PATH
definition there. You have to re-configure your project then.
|
how do you list more than one directory on the cmake_prefix_path? –
Andrew Hundt
Jul 22 '15 at 16:58
| ||
|
@AndrewHundt set it to a CMake list, i.e. cmake -D "CMAKE_PREFIX_PATH=/a/b/;/c/d" –
sakra
Jul 22 '15 at 17:05
|