cmake_minimum_required(VERSION 3.10) project(pcl_wrapper) set(CMAKE_CXX_STANDARD 17) # 获取 libomp 安装路径 execute_process( COMMAND brew --prefix libomp OUTPUT_VARIABLE LIBOMP_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE ) # 查找 PCL find_package(PCL REQUIRED) # 添加 include 路径 include_directories(include) include_directories(include/pcl_wrapper) include_directories(${PCL_INCLUDE_DIRS} "${LIBOMP_PREFIX}/include") add_definitions(${PCL_DEFINITIONS}) # 添加库 add_library(pclwrapper SHARED wrapper.cpp include/pcl_wrapper/point_types.hpp include/pcl_wrapper/filter.hpp include/pcl_wrapper/kdtree.hpp include/pcl_wrapper/io.hpp include/pcl_wrapper/pcl_wrapper_api.hpp src/filter.cpp src/kdtree.cpp src/io.cpp ) # 指定 OpenMP 和 PCL 库 target_compile_options(pclwrapper PRIVATE -Xpreprocessor -fopenmp) target_link_libraries(pclwrapper PRIVATE ${PCL_LIBRARIES} "${LIBOMP_PREFIX}/lib/libomp.dylib") target_include_directories(pclwrapper PRIVATE "${LIBOMP_PREFIX}/include")