SET( PROJECT_NAME tinyconfig ) PROJECT( ${PROJECT_NAME} ) CMAKE_MINIMUM_REQUIRED(VERSION 2.8) INCLUDE(FindPkgConfig) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(BINDIR "${PREFIX}/bin") SET(INCLUDEDIR "${PREFIX}/include") SET(MANDIR "${PREFIX}/man") SET(LIBDIR "${PREFIX}/lib") SET(DATADIR "${PREFIX}/share/${PROJECT_NAME}") PKG_CHECK_MODULES(OPENCV REQUIRED opencv>=2.4.2) IF (OPENCV_FOUND) MESSAGE("> using opencv version ${OPENCV_VERSION} from ${OPENCV_PREFIX}") find_package(OpenCV 2.4.2 REQUIRED core ) ELSE (OPENCV_FOUND) MESSAGE(FATAL_ERROR "> could not find opencv") ENDIF (OPENCV_FOUND) add_library( ${PROJECT_NAME} SHARED tinyconfig.cpp ) target_link_libraries ( ${PROJECT_NAME} ${OpenCV_LIBS} ${Boost_LIBRARIES} ) add_executable (${PROJECT_NAME}_test test.cpp ) target_link_libraries (${PROJECT_NAME}_test ${Boost_LIBRARIES} ${PROJECT_NAME} ) # --- create package config file --- SET(PKGCONFIG_FILENAME "libtinyconfig.pc") configure_file("${PKGCONFIG_FILENAME}.in" "${PKGCONFIG_FILENAME}" @ONLY) # install pkg config file INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILENAME}" DESTINATION "${LIBDIR}/pkgconfig") install (FILES tinyconfig.h DESTINATION include) install (TARGETS ${PROJECT_NAME} DESTINATION lib )