On 02/14/2013 04:35 PM, Andreas Stahl wrote:
Hello Bart,

have you tried setting OpenCV_DIR before calling find_package()? I'm
basing this on http://opencv.willowgarage.com/wiki/FindOpenCV.cmake
Most package <PKG>Find.cmake scripts look if <PKG>_DIR is set to a valid
directory and look there first for all the libraries before checking
default install paths. You would use it like this:

if(USE_TMP_OPENCV)
set(OpenCV_DIR /tmp/opencv_install)
elseif(USE_FAT_OPENCV)
set(OpenCV_DIR "/bla/bla/bla/opencv")
endif()

find_package(OpenCV REQUIRED)

I quickly tested this, but seems not to work. Currently, this is my best solution:

-----------------------------------------------------------------
# Set this to the version of OpenCV that you need.
set(OPENCV_LIB "latest")

if(OPENCV_LIB STREQUAL "latest")

  message(STATUS "Using my own compiled OpenCV.")
  include_directories("/opt/opencv/latest/include/opencv")
  link_directories("/opt/opencv/latest/lib")
set(OpenCV_LIBS "opencv_gpu;opencv_contrib;opencv_legacy;opencv_objdetect;opencv_calib3d;opencv_features2d;opencv_video;opencv_highgui;opencv_ml;opencv_imgproc;opencv_flann;opencv_core")

elseif(OPENCV_LIB STREQUAL "fat")

  message(STATUS "Using OpenCV from foobar repository.")
  include_directories("$ENV{HOME}/foo/bar)
  link_directories("$ENV{HOME}/foo/bar")
set(OpenCV_LIBS "opencv_gpu;opencv_contrib;opencv_legacy;opencv_objdetect;opencv_calib3d;opencv_features2d;opencv_video;opencv_highgui;opencv_ml;opencv_imgproc;opencv_flann;opencv_core")

elseif(OPENCV_LIB STREQUAL "system")

  message(STATUS "Using OpenCV that got automatically detected.")
  find_package( OpenCV REQUIRED )

else()
  message(ERROR "No OpenCV library found!")
endif()
------------------------------------------------------------


Not that clean, but works well enough for now :-) I'm always interested in suggestions for making this shorter, cleaner, more elegant,...

Regards,
Bart
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to