改进
This commit is contained in:
@@ -138,11 +138,20 @@ if(TARGET Vulkan::Headers)
|
||||
else()
|
||||
set(Renderive_render_3D_datoviz_vulkan_target Vulkan::Vulkan)
|
||||
endif()
|
||||
# CORE/common:Datoviz 通用基础设施,线程实现沿用当前 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/common:Datoviz 通用基础设施使用平台线程运行库。
|
||||
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")
|
||||
|
||||
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user