pcl_wrapper/CMakeLists.txt

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")