35eb466a60
We've now ported the OpenClCollMeshEngn and PcloudStimProd::produceFrameReq portions of the Livox pipeline to coros.
71 lines
1.9 KiB
CMake
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()
|