2026-08-18 12:26:28 +08:00
|
|
|
cmake_minimum_required(VERSION 3.14)
|
|
|
|
|
|
|
|
|
|
find_package(Qt5 REQUIRED COMPONENTS Core Gui)
|
|
|
|
|
|
|
|
|
|
if(NOT TARGET VrCommon)
|
|
|
|
|
add_library(VrCommon INTERFACE)
|
|
|
|
|
target_include_directories(VrCommon INTERFACE
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../VrCommon/Inc
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT TARGET VrUtils)
|
|
|
|
|
add_subdirectory(
|
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../VrUtils"
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/VrUtils"
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_library(CloudUtils STATIC
|
|
|
|
|
Src/LaserDataLoader.cpp
|
|
|
|
|
Src/PointCloudImageUtils.cpp
|
|
|
|
|
Inc/LaserDataLoader.h
|
|
|
|
|
Inc/PointCloudImageUtils.h
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set_target_properties(CloudUtils PROPERTIES
|
|
|
|
|
CXX_STANDARD 11
|
|
|
|
|
CXX_STANDARD_REQUIRED ON
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(CloudUtils PUBLIC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Inc
|
|
|
|
|
)
|
|
|
|
|
|
2026-09-11 15:18:33 +08:00
|
|
|
# When CamTool is built with WoodSDK, use its VZ compatibility types first.
|
|
|
|
|
# This keeps LaserDataLoader's SVzNL* signatures identical to the application
|
|
|
|
|
# translation units, where WoodSDK maps them to the public SWD* structures.
|
|
|
|
|
if(TARGET WoodSDK)
|
|
|
|
|
target_include_directories(CloudUtils BEFORE PUBLIC
|
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../../App/woodcam-sdk/WoodSDK/VzToWDInc"
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
2026-08-18 12:26:28 +08:00
|
|
|
target_link_libraries(CloudUtils
|
|
|
|
|
PUBLIC
|
|
|
|
|
VrCommon
|
|
|
|
|
Qt5::Core
|
|
|
|
|
Qt5::Gui
|
|
|
|
|
PRIVATE
|
|
|
|
|
VrUtils
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
|
target_compile_options(CloudUtils PRIVATE /utf-8)
|
|
|
|
|
endif()
|