diff options
Diffstat (limited to 'indra/cmake/WebRTC.cmake')
| -rw-r--r-- | indra/cmake/WebRTC.cmake | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 5a750fe7f3..5fda2f71b9 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -1,14 +1,14 @@ # -*- cmake -*- +include_guard() + include(Linking) include(Prebuilt) -include_guard() - add_library( ll::webrtc INTERFACE IMPORTED ) target_include_directories( ll::webrtc SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/webrtc" "${LIBS_PREBUILT_DIR}/include/webrtc/third_party/abseil-cpp") -if (${LINUX_DISTRO} MATCHES debian OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR WINDOWS) +if (DARWIN OR WINDOWS) use_prebuilt_binary(webrtc) -elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))) +elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64) OR (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES aarch64))) target_compile_definitions(ll::webrtc INTERFACE CM_WEBRTC=1) if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/webrtc_installed OR NOT ${webrtc_installed} EQUAL 0) if (DARWIN) @@ -20,7 +20,7 @@ elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES a endif () if (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz) file(DOWNLOAD - https://github.com/crow-misia/libwebrtc-bin/releases/download/114.5735.6.1/libwebrtc-${WEBRTC_PLATFORM}.tar.xz + https://github.com/crow-misia/libwebrtc-bin/releases/download/137.7151.3.1/libwebrtc-${WEBRTC_PLATFORM}.tar.xz ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz SHOW_PROGRESS ) @@ -79,25 +79,27 @@ elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES a endif () endif () -if (WINDOWS) - target_link_libraries( ll::webrtc INTERFACE webrtc.lib ) -elseif (DARWIN) - FIND_LIBRARY(COREAUDIO_LIBRARY CoreAudio) - FIND_LIBRARY(COREGRAPHICS_LIBRARY CoreGraphics) - FIND_LIBRARY(AUDIOTOOLBOX_LIBRARY AudioToolbox) - FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation) - FIND_LIBRARY(COCOA_LIBRARY Cocoa) +find_library(WEBRTC_LIBRARY + NAMES + webrtc + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) - target_link_libraries( ll::webrtc INTERFACE - libwebrtc.a - ${COREAUDIO_LIBRARY} - ${AUDIOTOOLBOX_LIBRARY} - ${COREGRAPHICS_LIBRARY} - ${COREFOUNDATION_LIBRARY} - ${COCOA_LIBRARY} +target_link_libraries( ll::webrtc INTERFACE ${WEBRTC_LIBRARY} ) + +if (DARWIN) + if (CMAKE_OSX_ARCHITECTURES MATCHES x86_64) + target_link_directories( ll::webrtc INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE} ) + target_link_libraries( ll::webrtc INTERFACE webrtc ) + endif () + target_link_libraries( ll::webrtc INTERFACE ll::oslibraries ) + execute_process( + COMMAND lipo libwebrtc.a + -thin ${CMAKE_OSX_ARCHITECTURES} + -output libwebrtc.a + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) elseif (LINUX) - target_link_libraries( ll::webrtc INTERFACE libwebrtc.a X11 ) -endif (WINDOWS) + target_link_libraries( ll::webrtc INTERFACE X11 ) +endif () |
