CMake构建OpenCV,GDAL项目
本文举例的开源库是OpenCV和GDAL,其他块源库类似
使用本篇方法的前提是make install,即开源库是install的。
当然,没有install的也是可以用的,只需要在findpage前找到DIR即可。
如找OpenCV:
set(OpenCV_DIR /home/jie/third_party/opencv-3.4.0/build)
另外,findpage所返回的变量如OpenCV_LIBS
有什么可以去对应的FindXX.cmake文件中找。
OpenCV:
CMakeLists:
# cmake needs this line
cmake_minimum_required(VERSION 2.8)
# Define project name
project(opencvTest)
# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)
# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
# Add OpenCV headers location to your include paths
include_directories(${OpenCV_INCLUDE_DIRS})
# Declare the executable target built from your sources
add_executable(main main.cpp)
# Link your application with OpenCV libraries
target_link_libraries(main ${OpenCV_LIBS})
GDAL:
CMakeList:
# cmake needs this line
cmake_minimum_required(VERSION 2.8)
# Define project name
project(gdaltest)
find_package(GDAL REQUIRED)
message(STATUS "GDAL library status:")
message(STATUS " version: ${GDAL_VERSION}")
message(STATUS " libraries: ${GDAL_LIBRARY}")
message(STATUS " include path: ${GDAL_INCLUDE_DIRS}")
include_directories(${GDAL_INCLUDE_DIRS})
add_executable(main test.cpp)
target_link_libraries(main ${GDAL_LIBRARY})