#module名称 set(MODULE_NAME "lidar_hesai_right_server") cmake_policy(SET CMP0053 NEW) set(CMAKE_BUILD_TYPE ON) set(CMAKE_BUILD_TYPE Release) add_definitions(-O3) add_compile_options(-Wall) add_compile_options(-Wno-c++11-narrowing) find_package(Boost REQUIRED COMPONENTS system filesystem thread) find_package(OpenSSL REQUIRED) add_definitions(-DQT_MESSAGELOGCONTEXT) find_package(Boost REQUIRED COMPONENTS system filesystem thread iostreams) set(Boost_INCLUDE_DIRS "/usr/local/mdc_sdk_llvm/dp_gea/mdc_cross_compiler/sysroot/usr/include") #调用函数,把src,generated的子目录分别保存在变量中,filters可用于过滤包含指定字符串的文件夹 list(APPEND filters "") #调用函数,把src子目录保存在SRC_DIRS变量中 list_sub_dir(SRC_DIRS ${CMAKE_CURRENT_SOURCE_DIR} "${filters}") #调用函数,把generated子目录保存在GENERATED_DIRS变量中 list_sub_dir(GENERATED_DIRS ${CMAKE_SOURCE_DIR}/generated "${filters}") #把目录下的c和c++所有源文件分别保存在变量中 file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c ${CMAKE_CURRENT_SOURCE_DIR}/*.cxx ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/*.cc ${CMAKE_SOURCE_DIR}/generated/*.cpp ${CMAKE_SOURCE_DIR}/generated/src/jac/ap/hesairightlidarservice/*.cpp ) #默认编译c和c++文件 add_executable(${MODULE_NAME} ${SOURCES}) target_link_directories(${MODULE_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib ) # target_link_libraries(${MODULE_NAME} PRIVATE # libcontainer_lib.a # liblibhesai.a # liblog_lib.a # libplatutils_lib.a # libptcClient_lib.a # libptcParser_lib.a # libsource_lib.a # ) #用户可在此添加编译选项 #eg: target_compile_options(${MODULE_NAME} PRIVATE -Wall USER_COMPILE_OPTIONS) target_compile_options(${MODULE_NAME} PRIVATE -Wall) #用户可在此添加头文件路径 target_include_directories(${MODULE_NAME} PRIVATE ${SRC_DIRS} ${Boost_INCLUDE_DIRS} ${GENERATED_DIRS} ${AP_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/modules/common/inc ${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_SOURCE_DIR}/generated/includes ) LINK_DIRECTORIES(/usr/local/mdc_sdk_llvm/dp_gea/mdc_cross_compiler/sysroot/usr/lib /usr/local/mdc_sdk_llvm/dp_gea/mdc_cross_compiler/sysroot/usr/local/Ascend/runtime/lib64 ) #用户可在此添加链接库 target_link_libraries(${MODULE_NAME} PRIVATE ${Boost_LIBRARIES} libcontainer_lib.a liblibhesai.a liblog_lib.a libplatutils_lib.a libptcClient_lib.a libptcParser_lib.a libsource_lib.a # ${PCL_LIBRARIES} ${OPENSSL_LIBRARIES} ${AP_LIBRARIES} visual jsoncpp yaml-cpp pthread common) #用户可在此添加链接参数 #eg: set_target_properties(${MODULE_NAME} PROPERTIES LINK_FLAGS_ "-Wl,--as-needed USER_LINK_OPTIONS") set_target_properties(${MODULE_NAME} PROPERTIES LINK_FLAGS "-Wl,--as-needed") set_target_properties(${MODULE_NAME} PROPERTIES LINK_FLAGS_RELEASE "-s") #用户添加module依赖 #add_dependencies(${MODULE_NAME} USER_DEPENDENCIES)