From c1028fc7a06d33caebe9ef536f7b2811c5b9c0ad Mon Sep 17 00:00:00 2001 From: wyc <1104749580@qq.com> Date: Tue, 11 Aug 2026 09:24:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=B6=E6=9E=84=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 0_cmake_library/register/export.cmake | 4 +- 0_cmake_library/register/libdatachannel.cmake | 60 +++++++++++++++++++ 0_cmake_library/register/webrtc.cmake | 0 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 0_cmake_library/register/libdatachannel.cmake delete mode 100644 0_cmake_library/register/webrtc.cmake diff --git a/0_cmake_library/register/export.cmake b/0_cmake_library/register/export.cmake index d3bdfa0..79b8548 100644 --- a/0_cmake_library/register/export.cmake +++ b/0_cmake_library/register/export.cmake @@ -5,8 +5,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/computer_graphics.cmake") include("${CMAKE_CURRENT_LIST_DIR}/libarchive.cmake") include("${CMAKE_CURRENT_LIST_DIR}/with_qt.cmake") include("${CMAKE_CURRENT_LIST_DIR}/osg_earth.cmake") - -if(DEFINED ENV{VULKAN_SDK} OR NOT "$ENV{VULKAN_SDK}" STREQUAL "") +include("${CMAKE_CURRENT_LIST_DIR}/libdatachannel.cmake") +if (DEFINED ENV{VULKAN_SDK} OR NOT "$ENV{VULKAN_SDK}" STREQUAL "") include("${CMAKE_CURRENT_LIST_DIR}/vsg_cesium.cmake") endif () diff --git a/0_cmake_library/register/libdatachannel.cmake b/0_cmake_library/register/libdatachannel.cmake new file mode 100644 index 0000000..3ffccf0 --- /dev/null +++ b/0_cmake_library/register/libdatachannel.cmake @@ -0,0 +1,60 @@ +include_guard(GLOBAL) +block() + set(libdatachannel_opts ${base_option_list}) + list(APPEND libdatachannel_opts + -DBUILD_SHARED_LIBS=OFF + -DBUILD_SHARED_DEPS_LIBS=OFF + -DUSE_GNUTLS=OFF + -DUSE_MBEDTLS=OFF + -DUSE_NICE=OFF + -DPREFER_SYSTEM_LIB=OFF + -DNO_WEBSOCKET=ON + -DNO_MEDIA=OFF + -DNO_EXAMPLES=ON + -DNO_TESTS=ON + -DWARNINGS_AS_ERRORS=OFF + -DSCTP_DEBUG=OFF + -DRTC_UPDATE_VERSION_HEADER=OFF + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DCMAKE_INSTALL_LIBDIR=lib + ) + _register_git_cmake_library(global::libdatachannel + "https://github.com/paullouisageneau/libdatachannel.git" + "v0.24.3" + ) + rcl_cmake_library_set_cmake_options(global::libdatachannel ${libdatachannel_opts}) + rcl_get_effective_install_dir(global::libdatachannel WEBRTC_ROOT) + set(WEBRTC_INCLUDE_DIR "${WEBRTC_ROOT}/include") + set(WEBRTC_CMAKE_DIR "${WEBRTC_ROOT}/lib/cmake/LibDataChannel") + if (MSVC) + set(WEBRTC_LIBRARY "${WEBRTC_ROOT}/lib/datachannel.lib") + else () + set(WEBRTC_LIBRARY "${WEBRTC_ROOT}/lib/libdatachannel.a") + endif () + rcl_cmake_library_set_other_use_opt(global::libdatachannel + "-DLibDataChannel_DIR=\"${WEBRTC_CMAKE_DIR}\"" + "-DWEBRTC_ROOT=\"${WEBRTC_ROOT}\"" + "-DWEBRTC_INCLUDE_DIR=\"${WEBRTC_INCLUDE_DIR}\"" + "-DWEBRTC_INCLUDE_DIRS=\"${WEBRTC_INCLUDE_DIR}\"" + "-DWEBRTC_LIBRARY=\"${WEBRTC_LIBRARY}\"" + ) + rcl_cmake_library_set_init_script(global::libdatachannel + "set(WEBRTC_ROOT \"${WEBRTC_ROOT}\")" + "set(WEBRTC_INCLUDE_DIR \"${WEBRTC_INCLUDE_DIR}\")" + "set(WEBRTC_INCLUDE_DIRS \"${WEBRTC_INCLUDE_DIR}\")" + "set(WEBRTC_LIBRARY \"${WEBRTC_LIBRARY}\")" + "set(LibDataChannel_DIR \"${WEBRTC_CMAKE_DIR}\")" + "find_package(Threads REQUIRED)" + "find_package(OpenSSL REQUIRED)" + "find_package(LibDataChannel CONFIG REQUIRED)" + "set(WEBRTC_LIBRARIES LibDataChannel::LibDataChannel)" + ) + rcl_cmake_library_set_clear_script(global::libdatachannel + "unset(WEBRTC_ROOT)" + "unset(WEBRTC_INCLUDE_DIR)" + "unset(WEBRTC_INCLUDE_DIRS)" + "unset(WEBRTC_LIBRARY)" + "unset(WEBRTC_LIBRARIES)" + "unset(LibDataChannel_DIR)" + ) +endblock() \ No newline at end of file diff --git a/0_cmake_library/register/webrtc.cmake b/0_cmake_library/register/webrtc.cmake deleted file mode 100644 index e69de29..0000000