How to point cmake at specific directory for library?

来源:互联网 发布:linux 拷贝文件 编辑:程序博客网 时间:2024/06/03 09:39

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 a test_build directory and run:

mkdir test_buildcd test_buildcmake -DCMAKE_PREFIX_PATH=/home/me/src/opencv/install ..

Setting the CMAKE_PREFIX_PATH variable will make the find_package(OpenCV REQUIRED)command pick your OpenCV installation in /home/me/src/opencv and set the OpenCV_LIBS and OpenCV_INCLUDE_DIR variables accordingly.

Alternatively you can edit a CMakeCache.txt file of an existing build directory with the CMake GUI editor and add the CMAKE_PREFIX_PATH definition there. You have to re-configure your project then.


1 

how do you list more than one directory on the cmake_prefix_path? – Andrew Hundt Jul 22 '15 at 16:58
6 
@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

0 0
原创粉丝点击