引入 oneTBB 删除taskflow

This commit is contained in:
2026-08-15 16:27:56 +08:00
parent 07c3937779
commit f9db768f72
24 changed files with 583 additions and 616 deletions
+15 -6
View File
@@ -1,5 +1,5 @@
include(${CMAKE_CURRENT_LIST_DIR}/cmake/rely.cmake)
set(Renderive_Kernel_dependencies global::taskflow render_kernel::oneTBB)
set(Renderive_Kernel_dependencies render_kernel::oneTBB)
if (RENDERIVE_BUILD_TESTS)
set(Renderive_Kernel_test_targets)
list(APPEND Renderive_Kernel_dependencies global::GTest)
@@ -12,7 +12,6 @@ if (Renderive_Kernel_dependencies_installed)
return()
endif ()
rcl_load_dependency_environment(${Renderive_Kernel_dependencies})
find_package(Taskflow CONFIG REQUIRED)
find_package(Threads REQUIRED)
find_package(TBB CONFIG REQUIRED)
if (RENDERIVE_BUILD_TESTS)
@@ -25,9 +24,18 @@ target_include_directories(Renderive_Kernel PUBLIC
"$<BUILD_INTERFACE:${Renderive_Kernel_source_dir}>"
)
target_compile_features(Renderive_Kernel PUBLIC cxx_std_20)
target_link_libraries(Renderive_Kernel PRIVATE Taskflow::Taskflow)
target_link_libraries(Renderive_Kernel PRIVATE TBB::tbb)
target_link_libraries(Renderive_Kernel PUBLIC TBB::tbb)
target_link_libraries(Renderive_Kernel PRIVATE Threads::Threads)
function(renderive_stage_kernel_runtime target)
if (WIN32)
add_custom_command(TARGET "${target}" POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
"$<TARGET_FILE:TBB::tbb>"
"$<TARGET_FILE_DIR:${target}>"
COMMENT "Staging oneTBB runtime for ${target}"
VERBATIM)
endif ()
endfunction()
if (MSVC)
target_compile_options(Renderive_Kernel PRIVATE /utf-8)
endif ()
@@ -47,10 +55,11 @@ if (RENDERIVE_BUILD_TESTS)
add_executable("${Renderive_Kernel_test_target}" "${Renderive_Kernel_test_source}")
target_include_directories("${Renderive_Kernel_test_target}" PRIVATE
"${Renderive_Kernel_test_dir}"
"${CMAKE_SOURCE_DIR}/render_2D"
"${CMAKE_SOURCE_DIR}/render_3D"
"${CMAKE_CURRENT_LIST_DIR}/../render_2D"
"${CMAKE_CURRENT_LIST_DIR}/../render_3D"
)
target_link_libraries("${Renderive_Kernel_test_target}" PRIVATE Renderive_Kernel GTest::gtest_main)
renderive_stage_kernel_runtime("${Renderive_Kernel_test_target}")
add_test(NAME "${Renderive_Kernel_test_target}" COMMAND "${Renderive_Kernel_test_target}")
set_tests_properties("${Renderive_Kernel_test_target}" PROPERTIES LABELS "Renderive_Kernel")
list(APPEND Renderive_Kernel_test_targets "${Renderive_Kernel_test_target}")