This commit is contained in:
2026-08-29 13:07:17 +08:00
parent 6045221174
commit 899223c7a7
257 changed files with 870 additions and 302556 deletions
+8 -18
View File
@@ -1,8 +1,6 @@
include("${CMAKE_CURRENT_LIST_DIR}/third_party/asio/main.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/rely.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/third_party/ffmpeg.cmake")
set(Aethera_Web_dependencies
aethera_kernel::libdatachannel
render_kernel::oneTBB
global::drogon
global::spdlog
@@ -100,7 +98,6 @@ endif ()
rcl_load_dependency_environment(${Aethera_Web_dependencies})
find_package(Drogon CONFIG REQUIRED)
find_package(spdlog CONFIG REQUIRED)
find_package(libdatachannel REQUIRED)
find_package(TBB CONFIG REQUIRED)
if (NOT TARGET Aethera_render_2D)
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Aethera_Web requires Aethera_render_2D")
@@ -146,25 +143,24 @@ target_link_libraries(Aethera_Web_Core PUBLIC
spdlog::spdlog
structive::property_core
asio_object
LibDataChannel::LibDataChannel
Aethera::FFmpeg
)
add_executable(Aethera_Web_Server ${Aethera_Web_entry_sources})
target_link_libraries(Aethera_Web_Server PRIVATE
Aethera_Web_Core
TBB::tbbmalloc_proxy)
add_dependencies(Aethera_Web_Server Aethera_Web_Assets)
add_custom_command(TARGET Aethera_Web_Server POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
${Aethera_FFmpeg_runtime_libraries}
"$<TARGET_FILE_DIR:Aethera_Web_Server>"
COMMENT "Deploying complete FFmpeg shared runtime for Aethera WebRTC video"
VERBATIM)
add_executable(Aethera_Drogon_WebSocket_Receiver_Benchmark
"${CMAKE_CURRENT_LIST_DIR}/benchmarks/Drogon_WebSocket_Receiver_Benchmark.cpp")
target_compile_features(Aethera_Drogon_WebSocket_Receiver_Benchmark PRIVATE cxx_std_20)
target_compile_definitions(Aethera_Drogon_WebSocket_Receiver_Benchmark PRIVATE NOMINMAX)
target_link_libraries(Aethera_Drogon_WebSocket_Receiver_Benchmark PRIVATE
Drogon::Drogon)
if (MSVC)
target_compile_options(Aethera_Web_Core PRIVATE /utf-8 /bigobj)
target_compile_options(Aethera_Web_Server PRIVATE /utf-8 /bigobj)
target_compile_options(Aethera_Drogon_WebSocket_Receiver_Benchmark PRIVATE /utf-8)
# The Debug CRT serializes every allocation behind one process-wide lock.
# A gallery frame touches 2D paint, 3D prepare and RTP packetization in
# A gallery frame touches 2D paint, 3D prepare and raw pixel framing in
# parallel, so that diagnostic allocator would otherwise become the
# renderer's dominant synchronization primitive. Force-load oneTBB's
# standard-allocation proxy for the server process only.
@@ -196,12 +192,6 @@ if (Aethera_BUILD_TESTS)
if (MSVC)
target_compile_options("${Aethera_Web_test_target}" PRIVATE /utf-8 /bigobj)
endif ()
add_custom_command(TARGET "${Aethera_Web_test_target}" POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_if_different
${Aethera_FFmpeg_runtime_libraries}
"$<TARGET_FILE_DIR:${Aethera_Web_test_target}>"
COMMENT "Deploying FFmpeg runtime for ${Aethera_Web_test_target}"
VERBATIM)
add_test(NAME "${Aethera_Web_test_target}"
COMMAND "${Aethera_Web_test_target}")
set_tests_properties("${Aethera_Web_test_target}" PROPERTIES