CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. cmake_minimum_required(VERSION 2.8.3)
  2. project(grapher)
  3. ## Compile as C++11, supported in ROS Kinetic and newer
  4. add_compile_options(-std=c++11)
  5. #add_definitions(-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2)
  6. find_package(OpenMP)
  7. find_package(PCL REQUIRED)
  8. find_package(OpenCV REQUIRED)
  9. FIND_PACKAGE(CUDA REQUIRED)
  10. set(CMAKE_CXX_FLAGS "-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2")
  11. set(CMAKE_BUILD_TYPE "RELEASE")
  12. get_directory_property(dir_defs DIRECTORY ${PROJECT_SOURCE_DIR} COMPILE_DEFINITIONS)
  13. set(vtk_flags)
  14. foreach(it ${dir_defs})
  15. if(it MATCHES "vtk*")
  16. list(APPEND vtk_flags ${it})
  17. endif()
  18. endforeach()
  19. foreach(d ${vtk_flags})
  20. remove_definitions(-D${d})
  21. endforeach()
  22. if (OPENMP_FOUND)
  23. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
  24. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
  25. endif()
  26. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  27. SET(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_61,code=sm_61;-G;-g)
  28. find_package(catkin REQUIRED COMPONENTS
  29. geometry_msgs
  30. nav_msgs
  31. sensor_msgs
  32. roscpp
  33. rospy
  34. std_msgs
  35. tf)
  36. #find_package(Eigen3 REQUIRED)
  37. include_directories(
  38. /usr/local/include/csm
  39. include
  40. ${catkin_INCLUDE_DIRS}
  41. # ${EIGEN3_INCLUDE_DIR}
  42. ${PCL_INCLUDE_DIRS}
  43. ${OpenCV_INCLUDE_DIRS}
  44. )
  45. catkin_package(
  46. )
  47. link_directories("/usr/local/lib")
  48. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/TaskQueue TASK_SRC )
  49. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/ndt NDT_SRC )
  50. set(SRC_LIST src/steger/detectlines.cpp src/steger/detectlines.h src/steger/Steger.cpp src/steger/Steger.cu)
  51. cuda_add_executable(${PROJECT_NAME}_node src/grapher_node.cpp src/scanGrapher.cpp
  52. src/kalmanFilter.cpp ${TASK_SRC} ${NDT_SRC} ${SRC_LIST})
  53. #add_executable(grapher_node })
  54. target_include_directories(${PROJECT_NAME}_node PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src/TaskQueue/threadpp" )
  55. target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES} ${CUDA_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS} libcsm.so)
  56. add_executable(location_node src/location_node.cpp src/kalmanFilter.cpp ${NDT_SRC} )
  57. target_link_libraries(location_node ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS} libcsm.so)
  58. #add_executable(laserOdometry src/laserOdometry.cpp)
  59. #target_link_libraries(laserOdometry ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS} ${CERES_LIBRARIES} ${glog_LIBS})
  60. #add_executable(laserMapping src/laserMapping.cpp)
  61. #target_link_libraries(laserMapping ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS})
  62. #add_executable(transformMaintenance src/transformMaintenance.cpp)
  63. #target_link_libraries(transformMaintenance ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS})