diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b12698..df90f07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,31 +3,25 @@ project(pcl_wrapper) set(CMAKE_CXX_STANDARD 17) -# 自动获取 libomp 安装路径 + +# 获取 libomp 安装路径 execute_process( COMMAND brew --prefix libomp OUTPUT_VARIABLE LIBOMP_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE ) -# 设置头文件和库路径 -include_directories("${LIBOMP_PREFIX}/include") -link_directories("${LIBOMP_PREFIX}/lib") - -# 查找包 +# 查找 PCL find_package(PCL REQUIRED) -# 设置编译选项 -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xpreprocessor -fopenmp -I${LIBOMP_PREFIX}/include") -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${LIBOMP_PREFIX}/lib -lomp") - -# 设置 PCL -include_directories(${PCL_INCLUDE_DIRS}) -link_directories(${PCL_LIBRARY_DIRS}) +# 添加 include 路径 +include_directories(${PCL_INCLUDE_DIRS} "${LIBOMP_PREFIX}/include") add_definitions(${PCL_DEFINITIONS}) -# 生成动态库 +# 添加库 add_library(pclwrapper SHARED pcl_wrapper.cpp) -# 统一风格链接 -target_link_libraries(pclwrapper PUBLIC ${PCL_LIBRARIES} -lomp) \ No newline at end of file +# 指定 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")