cmake_minimum_required(VERSION 2.8.3) project(gnss_comm) set(CMAKE_BUILD_TYPE "release") set(CMAKE_CXX_FLAGS "-std=c++11 ") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -fPIC") find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation ) file(GLOB_RECURSE message_files ${PROJECT_SOURCE_DIR}/msg/*.msg) add_message_files(FILES GnssTimeMsg.msg GnssEphemMsg.msg GnssGloEphemMsg.msg GnssMeasMsg.msg GnssObsMsg.msg GnssBestXYZMsg.msg GnssPVTSolnMsg.msg GnssSvsMsg.msg GnssTimePulseInfoMsg.msg StampedFloat64Array.msg wwj_gnss.msg ) generate_messages( DEPENDENCIES std_msgs ) catkin_package( CATKIN_DEPENDS message_runtime ) catkin_package( INCLUDE_DIRS include LIBRARIES ${PROJECT_NAME} CATKIN_DEPENDS roscpp std_msgs message_generation DEPENDS ) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) find_package(Eigen3 REQUIRED) find_package(Glog REQUIRED) include_directories( ${EIGEN3_INCLUDE_DIR} ${GLOG_INCLUDE_DIR} ${catkin_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}/ ) file(GLOB_RECURSE source_files ${PROJECT_SOURCE_DIR}/src/*.cpp) add_library(${PROJECT_NAME} ${source_files}) target_include_directories(${PROJECT_NAME} PUBLIC ${EIGEN3_INCLUDE_DIR} ${catkin_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}/ ) target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${GLOG_LIBRARIES}) add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_generate_messages_cpp)