123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- cmake_minimum_required(VERSION 2.8.3)
- project(fast_lio_sam)
- SET(CMAKE_BUILD_TYPE "Release")
- ADD_COMPILE_OPTIONS(-std=c++14 )
- ADD_COMPILE_OPTIONS(-std=c++14 )
- set( CMAKE_CXX_FLAGS "-std=c++14 -O3" )
- add_definitions(-DROOT_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/\")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions" )
- set(CMAKE_CXX_STANDARD 14)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_CXX_EXTENSIONS OFF)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pthread -std=c++0x -std=c++14 -fexceptions")
- message("Current CPU archtecture: ${CMAKE_SYSTEM_PROCESSOR}")
- if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)" )
- include(ProcessorCount)
- ProcessorCount(N)
- message("Processer number: ${N}")
- if(N GREATER 4)
- add_definitions(-DMP_EN)
- add_definitions(-DMP_PROC_NUM=3)
- message("core for MP: 3")
- elseif(N GREATER 3)
- add_definitions(-DMP_EN)
- add_definitions(-DMP_PROC_NUM=2)
- message("core for MP: 2")
- else()
- add_definitions(-DMP_PROC_NUM=1)
- endif()
- else()
- add_definitions(-DMP_PROC_NUM=1)
- endif()
- find_package(OpenMP QUIET)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- find_package(Boost 1.43 COMPONENTS serialization system filesystem thread program_options date_time timer chrono)
- find_package(PythonLibs REQUIRED)
- find_path(MATPLOTLIB_CPP_INCLUDE_DIRS "matplotlibcpp.h")
- find_package(catkin REQUIRED COMPONENTS
- geometry_msgs
- nav_msgs
- sensor_msgs
- roscpp
- rospy
- std_msgs
- pcl_ros
- tf
- livox_ros_driver
- message_generation
- eigen_conversions
- )
- find_package(Eigen3 REQUIRED)
- find_package(PCL REQUIRED)
- #find_package (GeographicLib REQUIRED)
- find_package( GTSAMCMakeTools )
- find_package(GTSAM REQUIRED QUIET)
- message(Eigen: ${EIGEN3_INCLUDE_DIR})
- include_directories(
- ${catkin_INCLUDE_DIRS}
- ${EIGEN3_INCLUDE_DIR}
- ${PCL_INCLUDE_DIRS}
- ${PYTHON_INCLUDE_DIRS}
- ${GTSAM_INCLUDE_DIR}
- #${GeographicLib_INCLUDE_DIRS}
- include)
- # link directories
- # link_directories(
- # ${GTSAM_LIBRARY_DIRS}
- # )
- add_message_files(
- FILES
- Pose6D.msg
- )
- add_service_files(
- DIRECTORY srv
- FILES
- save_map.srv
- save_pose.srv
- )
- generate_messages(
- DEPENDENCIES
- geometry_msgs
- )
- catkin_package(
- CATKIN_DEPENDS geometry_msgs nav_msgs roscpp rospy std_msgs message_runtime
- DEPENDS EIGEN3 PCL GTSAM
- INCLUDE_DIRS
- )
- # add_executable(fastlio_sam_mapping src/laserMapping.cpp include/ikd-Tree/ikd_Tree.cpp src/preprocess.cpp)
- # target_link_libraries(fastlio_sam_mapping ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${PYTHON_LIBRARIES})
- # target_include_directories(fastlio_sam_mapping PRIVATE ${PYTHON_INCLUDE_DIRS})
- add_library(ikd_Tree include/ikd-Tree/ikd_Tree.cpp)
- add_library(preprocess src/preprocess.cpp)
- add_executable(fastlio_sam_mapping src/laserMapping.cpp src/scancontext/Scancontext.cpp src/keyFramesManager.cpp src/keyFramesManager.h)
- target_link_libraries(fastlio_sam_mapping ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${PYTHON_LIBRARIES} ikd_Tree preprocess gtsam) #${GeographicLib_LIBRARIES}
- target_include_directories(fastlio_sam_mapping PRIVATE ${PYTHON_INCLUDE_DIRS})
|