36 lines
1.0 KiB
CMake
36 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
project(pcl_wrapper)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
# 获取 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/pcl_wrapper_api.hpp
|
|
include/pcl_wrapper/cloud_handle.hpp
|
|
include/pcl_wrapper/voxel_filter.hpp
|
|
include/pcl_wrapper/io.hpp
|
|
)
|
|
|
|
# 指定 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")
|