This commit is contained in:
2026-08-15 19:58:39 +08:00
parent 8bfaeeb265
commit 26bbc29a16
29 changed files with 622 additions and 201 deletions
+13 -4
View File
@@ -138,11 +138,20 @@ if(TARGET Vulkan::Headers)
else()
set(Renderive_render_3D_datoviz_vulkan_target Vulkan::Vulkan)
endif()
# CORE/commonDatoviz 通用基础设施,线程实现沿用当前 PThreads4W 环境。
if(WIN32)
if(NOT TARGET PThreads4W::PThreads4W)
message(FATAL_ERROR "Datoviz requires PThreads4W::PThreads4W on Windows")
endif()
set(Renderive_render_3D_datoviz_thread_target PThreads4W::PThreads4W)
else()
find_package(Threads REQUIRED)
set(Renderive_render_3D_datoviz_thread_target Threads::Threads)
endif()
# CORE/commonDatoviz 通用基础设施使用平台线程运行库。
Renderive_render_3D_datoviz_collect_sources(Renderive_render_3D_datoviz_common_sources "${Renderive_render_3D_datoviz_src_dir}/common")
add_library(Renderive_render_3D_datoviz_common OBJECT ${Renderive_render_3D_datoviz_common_sources})
target_include_directories(Renderive_render_3D_datoviz_common PUBLIC "${Renderive_render_3D_datoviz_include_dir}" INTERFACE "${Renderive_render_3D_datoviz_src_dir}/common")
target_link_libraries(Renderive_render_3D_datoviz_common PUBLIC PThreads4W::PThreads4W)
target_link_libraries(Renderive_render_3D_datoviz_common PUBLIC ${Renderive_render_3D_datoviz_thread_target})
Renderive_render_3D_datoviz_configure_target(Renderive_render_3D_datoviz_common)
# CORE/fileio:保留 Datoviz fileio + fpng 的边界,压缩统一使用工程已经安装的 ZLIB。
Renderive_render_3D_datoviz_collect_sources(Renderive_render_3D_datoviz_fileio_sources "${Renderive_render_3D_datoviz_src_dir}/fileio")
@@ -162,13 +171,13 @@ Renderive_render_3D_datoviz_configure_target(Renderive_render_3D_datoviz_geom)
Renderive_render_3D_datoviz_collect_sources(Renderive_render_3D_datoviz_math_sources "${Renderive_render_3D_datoviz_src_dir}/math")
add_library(Renderive_render_3D_datoviz_math OBJECT ${Renderive_render_3D_datoviz_math_sources})
target_include_directories(Renderive_render_3D_datoviz_math PUBLIC "${Renderive_render_3D_datoviz_include_dir}" "${Renderive_render_3D_datoviz_src_dir}/common")
target_link_libraries(Renderive_render_3D_datoviz_math PUBLIC cglm::cglm PThreads4W::PThreads4W)
target_link_libraries(Renderive_render_3D_datoviz_math PUBLIC cglm::cglm ${Renderive_render_3D_datoviz_thread_target})
Renderive_render_3D_datoviz_configure_target(Renderive_render_3D_datoviz_math)
# CORE/thread:线程模块只依赖线程运行库,不引入 Datoviz 其他 runtime。
Renderive_render_3D_datoviz_collect_sources(Renderive_render_3D_datoviz_thread_sources "${Renderive_render_3D_datoviz_src_dir}/thread")
add_library(Renderive_render_3D_datoviz_thread OBJECT ${Renderive_render_3D_datoviz_thread_sources})
target_include_directories(Renderive_render_3D_datoviz_thread PUBLIC "${Renderive_render_3D_datoviz_include_dir}" "${Renderive_render_3D_datoviz_src_dir}/common")
target_link_libraries(Renderive_render_3D_datoviz_thread PUBLIC PThreads4W::PThreads4W)
target_link_libraries(Renderive_render_3D_datoviz_thread PUBLIC ${Renderive_render_3D_datoviz_thread_target})
Renderive_render_3D_datoviz_configure_target(Renderive_render_3D_datoviz_thread)
# CONTROLLER/input:先保留 Datoviz 输入数据结构,不接 window/glfw。
Renderive_render_3D_datoviz_collect_sources(Renderive_render_3D_datoviz_input_sources "${Renderive_render_3D_datoviz_src_dir}/input")
+1 -1
View File
@@ -53,7 +53,7 @@ function(Renderive_render_3D_datoviz_add_test_runner target source_var component
target_link_libraries(${target} PRIVATE
${ARGN}
Renderive_render_3D_datoviz_testing
PThreads4W::PThreads4W)
${Renderive_render_3D_datoviz_thread_target})
if(Renderive_render_3D_datoviz_msvc_system_library_dirs)
target_link_directories(${target} PRIVATE
${Renderive_render_3D_datoviz_msvc_system_library_dirs})