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. FIND_PACKAGE(Protobuf REQUIRED)
  11. set(CMAKE_CXX_FLAGS "-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2")
  12. set(CMAKE_BUILD_TYPE "RELEASE")
  13. get_directory_property(dir_defs DIRECTORY ${PROJECT_SOURCE_DIR} COMPILE_DEFINITIONS)
  14. set(vtk_flags)
  15. foreach(it ${dir_defs})
  16. if(it MATCHES "vtk*")
  17. list(APPEND vtk_flags ${it})
  18. endif()
  19. endforeach()
  20. foreach(d ${vtk_flags})
  21. remove_definitions(-D${d})
  22. endforeach()
  23. if (OPENMP_FOUND)
  24. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
  25. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
  26. endif()
  27. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  28. SET(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_61,code=sm_61;-G;-g)
  29. find_package(catkin REQUIRED COMPONENTS
  30. geometry_msgs
  31. nav_msgs
  32. sensor_msgs
  33. roscpp
  34. rospy
  35. std_msgs
  36. tf)
  37. #find_package(Eigen3 REQUIRED)
  38. include_directories(
  39. /usr/local/include/csm
  40. include
  41. ${catkin_INCLUDE_DIRS}
  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. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/cfg CFG_SRC )
  51. set(SRC_LIST src/steger/detectlines.cpp src/steger/detectlines.h src/steger/Steger.cpp src/steger/Steger.cu)
  52. cuda_add_executable(grapher_node src/grapher_node.cpp src/scanGrapher.cpp src/locateTask.cpp
  53. src/kalmanFilter.cpp ${TASK_SRC} ${NDT_SRC} ${SRC_LIST} ${CFG_SRC})
  54. target_include_directories(grapher_node PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src/TaskQueue/threadpp"
  55. ${PROTOBUF_INCLUDE_DIRS})
  56. target_link_libraries(grapher_node ${catkin_LIBRARIES} ${CUDA_LIBRARIES} ${PROTOBUF_LIBRARIES}
  57. ${PCL_LIBRARIES} ${OpenCV_LIBS} libcsm.so)
  58. ###############
  59. add_executable(location_node src/location_node.cpp src/locateTask.cpp src/kalmanFilter.cpp ${NDT_SRC}
  60. ${TASK_SRC} ${CFG_SRC})
  61. target_include_directories(location_node PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src/TaskQueue/threadpp"
  62. ${PROTOBUF_INCLUDE_DIRS})
  63. target_link_libraries(location_node ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS}
  64. libcsm.so ${PROTOBUF_LIBRARIES})