1. 新增CloudUtils静态库与相关CMake配置 2. 重构VrUtils构建脚本,修正编译选项与依赖 3. 为Windows平台添加utf-8编译选项 4. 扩展PointCloudGLWidget功能:新增点云移除、选择信息叠加、增量相机适配 5. 优化点云添加接口,支持不重置相机视图 6. 修正激光数据保存时的DataType输出 7. 为Point3D结构体添加单位注释 8. 调整鼠标交互逻辑,统一按键操作行为
113 lines
3.5 KiB
CMake
113 lines
3.5 KiB
CMake
cmake_minimum_required(VERSION 3.14)
|
|
|
|
# Keep this source list aligned with VrUtils.pro. Do not glob Src/: it contains
|
|
# legacy standalone sources such as getopt.c that are not part of VrUtils.
|
|
set(VRUTILS_SOURCES
|
|
Src/VrDateUtils.cpp
|
|
Src/VrFileUtils.cpp
|
|
Src/VrLog.cpp
|
|
Src/VrNetUtils.cpp
|
|
Src/VrStringUtils.cpp
|
|
Src/VrTimeUtils.cpp
|
|
ini/ConvertUTF.c
|
|
log4cpp/src/AbortAppender.cpp
|
|
log4cpp/src/Appender.cpp
|
|
log4cpp/src/AppenderSkeleton.cpp
|
|
log4cpp/src/AppendersFactory.cpp
|
|
log4cpp/src/BasicConfigurator.cpp
|
|
log4cpp/src/BasicLayout.cpp
|
|
log4cpp/src/BufferingAppender.cpp
|
|
log4cpp/src/Category.cpp
|
|
log4cpp/src/CategoryStream.cpp
|
|
log4cpp/src/Configurator.cpp
|
|
log4cpp/src/DailyRollingFileAppender.cpp
|
|
log4cpp/src/DllMain.cpp
|
|
log4cpp/src/DummyThreads.cpp
|
|
log4cpp/src/FactoryParams.cpp
|
|
log4cpp/src/FileAppender.cpp
|
|
log4cpp/src/Filter.cpp
|
|
log4cpp/src/FixedContextCategory.cpp
|
|
log4cpp/src/HierarchyMaintainer.cpp
|
|
log4cpp/src/IdsaAppender.cpp
|
|
log4cpp/src/LayoutAppender.cpp
|
|
log4cpp/src/LayoutsFactory.cpp
|
|
log4cpp/src/LevelEvaluator.cpp
|
|
log4cpp/src/Localtime.cpp
|
|
log4cpp/src/LoggingEvent.cpp
|
|
log4cpp/src/MSThreads.cpp
|
|
log4cpp/src/Manipulator.cpp
|
|
log4cpp/src/NDC.cpp
|
|
log4cpp/src/NTEventLogAppender.cpp
|
|
log4cpp/src/OmniThreads.cpp
|
|
log4cpp/src/OstreamAppender.cpp
|
|
log4cpp/src/PThreads.cpp
|
|
log4cpp/src/PassThroughLayout.cpp
|
|
log4cpp/src/PatternLayout.cpp
|
|
log4cpp/src/PortabilityImpl.cpp
|
|
log4cpp/src/Priority.cpp
|
|
log4cpp/src/Properties.cpp
|
|
log4cpp/src/PropertyConfigurator.cpp
|
|
log4cpp/src/PropertyConfiguratorImpl.cpp
|
|
log4cpp/src/RemoteSyslogAppender.cpp
|
|
log4cpp/src/RollingFileAppender.cpp
|
|
log4cpp/src/SimpleConfigurator.cpp
|
|
log4cpp/src/SimpleLayout.cpp
|
|
log4cpp/src/SmtpAppender.cpp
|
|
log4cpp/src/StringQueueAppender.cpp
|
|
log4cpp/src/StringUtil.cpp
|
|
log4cpp/src/SyslogAppender.cpp
|
|
log4cpp/src/TimeStamp.cpp
|
|
log4cpp/src/TriggeringEventEvaluatorFactory.cpp
|
|
log4cpp/src/Win32DebugAppender.cpp
|
|
log4cpp/src/snprintf.c
|
|
tinyxml2/tinyxml2.cpp
|
|
jsoncpp/json_reader.cpp
|
|
jsoncpp/json_value.cpp
|
|
jsoncpp/json_writer.cpp
|
|
)
|
|
|
|
add_library(VrUtils STATIC ${VRUTILS_SOURCES})
|
|
|
|
set_target_properties(VrUtils PROPERTIES
|
|
CXX_STANDARD 11
|
|
CXX_STANDARD_REQUIRED ON
|
|
)
|
|
|
|
target_include_directories(VrUtils
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Inc
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ini
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tinyxml2
|
|
${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/log4cpp/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/log4cpp/src
|
|
)
|
|
|
|
target_compile_definitions(VrUtils PRIVATE
|
|
TINYXML2_EXPORT
|
|
HAVE_SNPRINTF
|
|
LOG4CPP_HAVE_SSTREAM=1
|
|
VR_UTILS_EXPORTS
|
|
)
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
target_compile_definitions(VrUtils PRIVATE LOG4CPP_HAVE_UNISTD_H)
|
|
set_target_properties(VrUtils PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
endif()
|
|
|
|
find_package(Threads REQUIRED)
|
|
target_link_libraries(VrUtils PUBLIC Threads::Threads)
|
|
|
|
if(WIN32)
|
|
# qmake's Windows mkspec supplies these definitions. log4cpp uses the
|
|
# generic Win32 API names and therefore must see the same character mode.
|
|
target_compile_definitions(VrUtils PRIVATE UNICODE _UNICODE)
|
|
target_link_libraries(VrUtils PUBLIC ws2_32 iphlpapi advapi32 shell32)
|
|
endif()
|
|
|
|
if(MSVC)
|
|
target_compile_definitions(VrUtils PRIVATE _HAS_AUTO_PTR_ETC=1)
|
|
target_compile_options(VrUtils PRIVATE /utf-8)
|
|
endif()
|