Files
salmanoff/stimBuffApis/livoxGen1/CMakeLists.txt
T
hayodea 35eb466a60 OClCollMeshEngn,PcloudStimProd: port to sscl::co coros
We've now ported the OpenClCollMeshEngn and PcloudStimProd::produceFrameReq
portions of the Livox pipeline to coros.
2026-05-30 19:32:19 -04:00

71 lines
1.9 KiB
CMake

cmake_dependent_option(ENABLE_STIMBUFFAPI_livoxGen1
"Enable Livox Gen1 LiDAR stim buff API" ON
"ENABLE_LIB_livoxProto1" OFF)
if(ENABLE_STIMBUFFAPI_livoxGen1)
# Set CONFIG variable for config.h
set(CONFIG_STIMBUFFAPI_LIVOXGEN1_ENABLED 1)
# Find liburing using pkg-config
pkg_check_modules(URING REQUIRED liburing)
# Enable assembly language
enable_language(ASM)
add_library(livoxGen1 SHARED
livoxGen1.cpp
pcloudStimulusProducer.cpp
livoxPcloudFrameDumper.cpp
ioUringAssemblyEngine.cpp
openClCollatingAndMeshingEngine.cpp
openClKernels.cl.S
)
set_target_properties(livoxGen1 PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
)
# Set assembler working directory so .incbin can find the .cl file
# Also declare dependency on collateDgrams.cl and slotCompactor.cl
set_source_files_properties(openClKernels.cl.S PROPERTIES
COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
OBJECT_DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/collateDgrams.cl;${CMAKE_CURRENT_SOURCE_DIR}/slotCompactor.cl"
)
target_include_directories(livoxGen1 PUBLIC
${Boost_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/smocore/include
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/commonLibs
${URING_INCLUDE_DIRS}
${OPENCL_INCLUDE_DIRS}
)
target_link_libraries(livoxGen1 PUBLIC
Boost::system
Boost::log
${URING_LIBRARIES}
${OPENCL_LIBRARIES}
attachmentSupport
spinscale
)
target_link_directories(livoxGen1 PUBLIC
${URING_LIBRARY_DIRS}
${OPENCL_LIBRARY_DIRS}
)
# Verify Boost dynamic dependencies after build
add_custom_command(TARGET livoxGen1 POST_BUILD
COMMAND ${CMAKE_COMMAND} -DVERIFY_FILE="$<TARGET_FILE:livoxGen1>"
-P ${CMAKE_SOURCE_DIR}/cmake/VerifyBoostDynamic.cmake
COMMENT "Verifying Boost dynamic dependencies for livoxGen1"
)
# Install rules
install(TARGETS livoxGen1
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} NAMELINK_SKIP
)
endif()