SET( PROJECT_NAME robotreality_mocap ) PROJECT( ${PROJECT_NAME} ) CMAKE_MINIMUM_REQUIRED(VERSION 2.8) INCLUDE(FindPkgConfig) # search for Boost version 1.34 find_package( Boost 1.40 COMPONENTS thread program_options system filesystem regex ) link_directories ( ${Boost_LIBRARY_DIRS} ) include_directories ( ${Boost_INCLUDE_DIRS} ) #message(${Boost_LIBRARIES}) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(BINDIR "${PREFIX}/bin") SET(INCLUDEDIR "${PREFIX}/include") SET(MANDIR "${PREFIX}/man") SET(LIBDIR "${PREFIX}/lib") SET(PLUGINDIR "${PREFIX}/lib/iceWing") SET(DATADIR "${PREFIX}/share/${NAME}") #XIMU lib PKG_CHECK_MODULES(XIMU REQUIRED libximu>=0.2) IF (XIMU_FOUND) MESSAGE("Using libximu version ${XIMU_VERSION} from ${XIMU_PREFIX}") ELSE (XIMU_FOUND) message(FATAL_ERROR "Error: Cannot find lib XIMU (you can download it from http://opensource.cit-ec.de)") ENDIF (XIMU_FOUND) #munk resolver PKG_CHECK_MODULES(MUNKRES REQUIRED libmunkres>=0.1) IF (MUNKRES_FOUND) MESSAGE("Using libmunkres version ${MUNKRES_VERSION} from ${MUNKRES_PREFIX}") ELSE (MUNKRES_FOUND) message(FATAL_ERROR "Error: Cannot find libmunkres (you can download it from http://opensource.cit-ec.de)") ENDIF (MUNKRES_FOUND) #libtinyconfig PKG_CHECK_MODULES(TINYCONFIG REQUIRED libtinyconfig>=0.2) IF (TINYCONFIG_FOUND) MESSAGE("-- using libtinyconfig version ${TINYCONFIG_VERSION} from ${TINYCONFIG_PREFIX}") ELSE (TINYCONFIG_FOUND) message(FATAL_ERROR "ERROR: Cannot find libtinyconfig") ENDIF (TINYCONFIG_FOUND) #XSC lib (connection to flobi robot) PKG_CHECK_MODULES(XS2COMM libxs2comm>=0.1) IF (XS2COMM_FOUND) MESSAGE("Using libxs2comm version ${XS2COMM_VERSION} from ${XS2COMM_PREFIX}") ELSE (XS2COMM_FOUND) message("XS2COMM not found, disabling support for Flobi Robot") ADD_DEFINITIONS(-D CMAKE_XS2COMM_NOT_FOUND=1) ENDIF (XS2COMM_FOUND) 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 imgproc highgui ml contrib video) ELSE (OPENCV_FOUND) message(FATAL_ERROR "Error: Cannot find opencv") ENDIF (OPENCV_FOUND) LINK_DIRECTORIES(${LIBDIR} ${OPENCV_LIBRARY_DIRS} ${XIMU_LIBRARY_DIRS} ${MUNKRES_LIBRARY_DIRS} ${TINYCONFIG_LIBRARY_DIRS} ${XS2COMM_LIBRARY_DIRS}) INCLUDE_DIRECTORIES( ${OPENCV_INCLUDE_DIRS} ${XIMU_INCLUDE_DIRS} ${MUNKRES_INCLUDE_DIRS} ${XS2COMM_INCLUDE_DIRS} ${TINYCONFIG_INCLUDE_DIRS}) SET(SRC_FILES DotTracker.cpp GlobalHelpers.cpp RGBImageFilter.cpp BlobFinder.cpp FastBlob.cpp Marker.cpp MarkerModel.cpp EyeFinder.cpp UnitConverter.cpp DataOutput.cpp DataOutputCSV.cpp DataOutputLCM.cpp ConfigOptions.cpp EyeCalib.cpp HeadTracker.cpp OutputVisualizer.cpp ) ADD_EXECUTABLE( ${PROJECT_NAME} main.cpp ${SRC_FILES}) TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${OpenCV_LIBS} ${Boost_LIBRARIES} ${XIMU_LIBRARIES} ${TINYCONFIG_LIBRARIES} ${MUNKRES_LIBRARIES} ${XS2COMM_LIBRARIES}) ADD_EXECUTABLE( robotreality_frame_grabber grabber.cpp ) TARGET_LINK_LIBRARIES( robotreality_frame_grabber ${OpenCV_LIBS} ${Boost_LIBRARIES} ${XIMU_LIBRARIES} ${TINYCONFIG_LIBRARIES} ${MUNKRES_LIBRARIES}) ADD_EXECUTABLE( robotreality_mocap_editor editor.cpp ) TARGET_LINK_LIBRARIES( robotreality_mocap_editor ${OpenCV_LIBS} ${Boost_LIBRARIES} ) FILE(GLOB conf_files "${CMAKE_CURRENT_SOURCE_DIR}/config/*.mcfg") install (FILES ${conf_files} DESTINATION etc/robotreality) install (TARGETS robotreality_frame_grabber DESTINATION bin ) set_target_properties(robotreality_frame_grabber PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) set_target_properties(robotreality_frame_grabber PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) install (TARGETS ${PROJECT_NAME} DESTINATION bin ) set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) install (TARGETS robotreality_mocap_editor DESTINATION bin ) set_target_properties(robotreality_mocap_editor PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) set_target_properties(robotreality_mocap_editor PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)