# Copyright(c) 2019 livoxtech limited. cmake_minimum_required(VERSION 2.8.3) #--------------------------------------------------------------------------------------- # Start livox_ros_driver project #--------------------------------------------------------------------------------------- project(navigation) #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") #SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) #--------------------------------------------------------------------------------------- # find package and the dependecy #--------------------------------------------------------------------------------------- #find_package(Boost 1.54 REQUIRED COMPONENTS # system # thread # chrono # ) find_package (Eigen3 REQUIRED CONFIG QUIET) #find_package(PCL REQUIRED) FIND_PACKAGE(Protobuf REQUIRED) #--------------------------------------------------------------------------------------- # Set default build to release #--------------------------------------------------------------------------------------- if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose Release or Debug" FORCE) endif() #--------------------------------------------------------------------------------------- # Compiler config #--------------------------------------------------------------------------------------- set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) include_directories( define /usr/include /usr/local/include ${EIGEN3_INCLUDE_DIR} ) link_directories("/usr/local/lib") ## PCL library #link_directories(${PCL_LIBRARY_DIRS}) #add_definitions(${PCL_DEFINITIONS}) #--------------------------------------------------------------------------------------- # generate excutable and add libraries #--------------------------------------------------------------------------------------- add_executable(${PROJECT_NAME} controller.cpp define/TimerRecord.cpp MPC/parameter.pb.cc MPC/loaded_mpc.cpp MPC/trajectory.cpp MPC/pose2d.cpp MPC/navigation.cpp MPC/monitor/monitor_emqx.cpp MPC/monitor/emqx/mqttmsg.cpp MPC/monitor/emqx/paho_client.cpp MPC/monitor/emqx/message.pb.cc MPC/monitor/terminator_emqx.cpp tool/pathcreator.cpp tool/singleton.cpp tool/proto_tool.cpp MPC/navigation_main.cpp MPC/navigation_main.h) #--------------------------------------------------------------------------------------- # link libraries ${Boost_LIBRARY} -lpthread #--------------------------------------------------------------------------------------- target_link_libraries(${PROJECT_NAME} ${PROTOBUF_LIBRARIES} libglog.a libgflags.a paho-mqtt3a ipopt ) #--------------------------------------------------------------------------------------- # end of CMakeList.txt #---------------------------------------------------------------------------------------