From da967da9c7aa0d88f478d476e8bb059ba79ca818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20N=C3=A6sbye=20Christensen?= Date: Thu, 11 Jan 2024 11:32:15 +0100 Subject: Rename OS X to macOS, mostly in comments We only support 10.13+ now, and it's been called macOS since 10.12. References in code to older versions are unchanged. --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index af1f16d04d..9bc17df32a 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -5,7 +5,7 @@ # # Platform variables: # -# DARWIN - Mac OS X +# DARWIN - macOS # LINUX - Linux # WINDOWS - Windows -- cgit v1.2.3 From 78dc1c872aa966de010ca94c4d7a651259679502 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 6 Feb 2024 17:28:35 +0200 Subject: Enable OpenAL Soft on MacOS --- indra/cmake/Copy3rdPartyLibs.cmake | 4 ++++ indra/cmake/OPENAL.cmake | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 7938d4f54b..ff0cd0a4e5 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -182,6 +182,10 @@ elseif(DARWIN) set(release_files ${release_files} libfmod.dylib) endif () + if (TARGET ll::openal) + list(APPEND release_files libalut.dylib libopenal.dylib) + endif () + elseif(LINUX) # linux is weird, multiple side by side configurations aren't supported # and we don't seem to have any debug shared libs built yet anyways... diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index 0b6a7c2853..347dd02cd7 100644 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -33,6 +33,9 @@ if (USE_OPENAL) alut ) else() - message(FATAL_ERROR "OpenAL is not available for this platform") + target_link_libraries( ll::openal INTERFACE + openal + alut + ) endif() endif () -- cgit v1.2.3 From 762855f2554393dd3bcacd9b5d205765409f6a95 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 1 Feb 2024 23:00:53 +0200 Subject: SL-19585 Try replacing fmod with openal Since now VLC is responsible for played parcel media (should be since SL-19042) should be possible to switch remaining audio to OpenAL with no loss of functionality --- indra/cmake/CMakeLists.txt | 1 - indra/cmake/Copy3rdPartyLibs.cmake | 17 -------------- indra/cmake/FMODSTUDIO.cmake | 48 -------------------------------------- 3 files changed, 66 deletions(-) delete mode 100644 indra/cmake/FMODSTUDIO.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 1fd83eadff..8749c10ffc 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -23,7 +23,6 @@ set(cmake_SOURCE_FILES DragDrop.cmake EXPAT.cmake FindAutobuild.cmake - FMODSTUDIO.cmake FreeType.cmake GLEXT.cmake GLH.cmake diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index ff0cd0a4e5..886629ea73 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -7,7 +7,6 @@ include(CMakeCopyIfDifferent) include(Linking) include(OPENAL) -include(FMODSTUDIO) # When we copy our dependent libraries, we almost always want to copy them to # both the Release and the RelWithDebInfo staging directories. This has @@ -85,12 +84,6 @@ if(WINDOWS) endif(ADDRESS_SIZE EQUAL 32) endif (USE_BUGSPLAT) - if (TARGET ll::fmodstudio) - # fmodL is included for logging, only one should be picked by manifest - set(release_files ${release_files} fmodL.dll) - set(release_files ${release_files} fmod.dll) - endif () - if (TARGET ll::openal) list(APPEND release_files openal32.dll alut.dll) endif () @@ -177,11 +170,6 @@ elseif(DARWIN) liburiparser.1.0.27.dylib ) - if (TARGET ll::fmodstudio) - set(debug_files ${debug_files} libfmodL.dylib) - set(release_files ${release_files} libfmod.dylib) - endif () - if (TARGET ll::openal) list(APPEND release_files libalut.dylib libopenal.dylib) endif () @@ -233,11 +221,6 @@ elseif(LINUX) ) endif() - if (TARGET ll::fmodstudio) - set(debug_files ${debug_files} "libfmodL.so") - set(release_files ${release_files} "libfmod.so") - endif () - else(WINDOWS) message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") set(vivox_lib_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake deleted file mode 100644 index 9a1cdff6cb..0000000000 --- a/indra/cmake/FMODSTUDIO.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# -*- cmake -*- - -include_guard() - -# FMODSTUDIO can be set when launching the make using the argument -DUSE_FMODSTUDIO:BOOL=ON -# When building using proprietary binaries though (i.e. having access to LL private servers), -# we always build with FMODSTUDIO. -if (INSTALL_PROPRIETARY) - set(USE_FMODSTUDIO ON CACHE BOOL "Using FMODSTUDIO sound library.") -endif (INSTALL_PROPRIETARY) - -# ND: To streamline arguments passed, switch from FMODSTUDIO to USE_FMODSTUDIO -# To not break all old build scripts convert old arguments but warn about it -if(FMODSTUDIO) - message( WARNING "Use of the FMODSTUDIO argument is deprecated, please switch to USE_FMODSTUDIO") - set(USE_FMODSTUDIO ${FMODSTUDIO}) -endif() - -if (USE_FMODSTUDIO) - add_library( ll::fmodstudio INTERFACE IMPORTED ) - target_compile_definitions( ll::fmodstudio INTERFACE LL_FMODSTUDIO=1) - - if (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) - # If the path have been specified in the arguments, use that - - target_link_libraries(ll::fmodstudio INTERFACE ${FMODSTUDIO_LIBRARY}) - target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${FMODSTUDIO_INCLUDE_DIR}) - else (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) - # If not, we're going to try to get the package listed in autobuild.xml - # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL) - # as accessing the private LL location will fail if you don't have the credential - include(Prebuilt) - use_prebuilt_binary(fmodstudio) - if (WINDOWS) - target_link_libraries( ll::fmodstudio INTERFACE fmod_vc) - elseif (DARWIN) - #despite files being called libfmod.dylib, we are searching for fmod - target_link_libraries( ll::fmodstudio INTERFACE fmod) - elseif (LINUX) - target_link_libraries( ll::fmodstudio INTERFACE fmod) - endif (WINDOWS) - - target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/fmodstudio) - endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) -else() - set( USE_FMODSTUDIO "OFF") -endif () - -- cgit v1.2.3 From 0ae8bbaf5d85b065354dcc010d08a4a2e759f867 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Wed, 6 Sep 2023 15:28:02 -0700 Subject: Checkpoint WebRTC Voice --- indra/cmake/CMakeLists.txt | 1 + indra/cmake/LLWebRTC.cmake | 1 + indra/cmake/WebRTC.cmake | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 indra/cmake/LLWebRTC.cmake create mode 100644 indra/cmake/WebRTC.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 1fd83eadff..8a77d0b882 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -63,6 +63,7 @@ set(cmake_SOURCE_FILES ViewerMiscLibs.cmake VisualLeakDetector.cmake LibVLCPlugin.cmake + WebRTC.cmake XmlRpcEpi.cmake xxHash.cmake ZLIBNG.cmake diff --git a/indra/cmake/LLWebRTC.cmake b/indra/cmake/LLWebRTC.cmake new file mode 100644 index 0000000000..913e28c2ff --- /dev/null +++ b/indra/cmake/LLWebRTC.cmake @@ -0,0 +1 @@ +# -*- cmake -*- \ No newline at end of file diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake new file mode 100644 index 0000000000..f8ce9c8104 --- /dev/null +++ b/indra/cmake/WebRTC.cmake @@ -0,0 +1,43 @@ +# -*- cmake -*- +include(CMakeCopyIfDifferent) + +include(Linking) + +include_guard() + +set(WEBRTC_ROOT ${CMAKE_BINARY_DIR}/../../webrtc/src) +file(COPY ${WEBRTC_ROOT}/out/Default/obj/webrtc.lib + DESTINATION ${CMAKE_BINARY_DIR}/packages/lib/release +) +set(WEBRTC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/packages/include/webrtc) +file(MAKE_DIRECTORY ${WEBRTC_INCLUDE_DIR}) + +file(COPY ${WEBRTC_ROOT}/api + ${WEBRTC_ROOT}/media/base + ${WEBRTC_ROOT}/media/engine + ${WEBRTC_ROOT}/rtc_base + ${WEBRTC_ROOT}/pc + ${WEBRTC_ROOT}/p2p + ${WEBRTC_ROOT}/call + ${WEBRTC_ROOT}/media + ${WEBRTC_ROOT}/system_wrappers + ${WEBRTC_ROOT}/common_video + ${WEBRTC_ROOT}/video + ${WEBRTC_ROOT}/common_audio + ${WEBRTC_ROOT}/logging + ${WEBRTC_ROOT}/third_party/abseil-cpp/absl + DESTINATION ${WEBRTC_INCLUDE_DIR} + FILES_MATCHING PATTERN "*.h" +) + +add_library(ll::webrtc STATIC IMPORTED) + +if (LINUX) + target_link_libraries( ll::webrtc INTERFACE ../webrtc/src/obj/Default/webrtc) +elseif (DARWIN) + target_link_libraries( ll::webrtc INTERFACE ../webrtc/src/obj/Default/webrtc) +elseif (WINDOWS) + set_target_properties( ll::webrtc PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/packages/lib/release/webrtc.lib) + target_link_libraries( ll::webrtc INTERFACE ${CMAKE_BINARY_DIR}/packages/lib/release/webrtc.lib) +endif (LINUX) +target_include_directories( ll::webrtc INTERFACE "${WEBRTC_INCLUDE_DIR}") -- cgit v1.2.3 From a80f6070a2c80ad2798da240254da8d8a4f5f993 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Fri, 8 Sep 2023 21:36:17 -0700 Subject: Pull webrtc down from a webserver before building. --- indra/cmake/WebRTC.cmake | 68 +++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 35 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index f8ce9c8104..7953d1ee1b 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -1,43 +1,41 @@ # -*- cmake -*- -include(CMakeCopyIfDifferent) -include(Linking) +include(FetchContent) -include_guard() - -set(WEBRTC_ROOT ${CMAKE_BINARY_DIR}/../../webrtc/src) -file(COPY ${WEBRTC_ROOT}/out/Default/obj/webrtc.lib - DESTINATION ${CMAKE_BINARY_DIR}/packages/lib/release +if (WINDOWS) +FetchContent_Declare( + webrtc + URL http://localhost:8000/webrtc.windows_x86_64.tar.bz2 + URL_HASH MD5=dfb692562770dc8c877ebfe4302e2881 + FIND_PACKAGE_ARGS NAMES webrtc + DOWNLOAD_EXTRACT_TIMESTAMP TRUE + DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" ) -set(WEBRTC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/packages/include/webrtc) -file(MAKE_DIRECTORY ${WEBRTC_INCLUDE_DIR}) - -file(COPY ${WEBRTC_ROOT}/api - ${WEBRTC_ROOT}/media/base - ${WEBRTC_ROOT}/media/engine - ${WEBRTC_ROOT}/rtc_base - ${WEBRTC_ROOT}/pc - ${WEBRTC_ROOT}/p2p - ${WEBRTC_ROOT}/call - ${WEBRTC_ROOT}/media - ${WEBRTC_ROOT}/system_wrappers - ${WEBRTC_ROOT}/common_video - ${WEBRTC_ROOT}/video - ${WEBRTC_ROOT}/common_audio - ${WEBRTC_ROOT}/logging - ${WEBRTC_ROOT}/third_party/abseil-cpp/absl - DESTINATION ${WEBRTC_INCLUDE_DIR} - FILES_MATCHING PATTERN "*.h" +elseif (DARWIN) +FetchContent_Declare( + webrtc + URL http://localhost:8000/webrtc.macos_x86_64.tar.bz2 + URL_HASH MD5=cfbcac7da897a862f9791ea29330b814 + FIND_PACKAGE_ARGS NAMES webrtc + DOWNLOAD_EXTRACT_TIMESTAMP TRUE + DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" ) +endif (WINDOWS) + +FetchContent_MakeAvailable(webrtc) + +set(WEBRTC_PATH ${webrtc_SOURCE_DIR}) -add_library(ll::webrtc STATIC IMPORTED) -if (LINUX) - target_link_libraries( ll::webrtc INTERFACE ../webrtc/src/obj/Default/webrtc) +add_library( ll::webrtc INTERFACE IMPORTED ) + + +if (WINDOWS) + target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.lib" ) elseif (DARWIN) - target_link_libraries( ll::webrtc INTERFACE ../webrtc/src/obj/Default/webrtc) -elseif (WINDOWS) - set_target_properties( ll::webrtc PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/packages/lib/release/webrtc.lib) - target_link_libraries( ll::webrtc INTERFACE ${CMAKE_BINARY_DIR}/packages/lib/release/webrtc.lib) -endif (LINUX) -target_include_directories( ll::webrtc INTERFACE "${WEBRTC_INCLUDE_DIR}") + target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.a" ) +elseif (LINUX) + target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.a" ) +endif (WINDOWS) +target_include_directories( ll::webrtc SYSTEM INTERFACE "${WEBRTC_PATH}/include" "${WEBRTC_PATH}/include/third_party/abseil-cpp") + -- cgit v1.2.3 From 8fa09570ec91a656e55f88de882fc81fe39f35fa Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sat, 9 Sep 2023 22:19:22 -0700 Subject: Updates to build on mac. --- indra/cmake/00-Common.cmake | 2 ++ indra/cmake/WebRTC.cmake | 26 ++++++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 24534c98d9..687ace431b 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -182,6 +182,8 @@ if (LINUX OR DARWIN) list(APPEND GCC_WARNINGS -Wno-reorder -Wno-non-virtual-dtor ) + list(APPEND GCC_WARNINGS -Wno-unused-but-set-variable -Wno-unused-variable ) + add_compile_options(${GCC_WARNINGS}) add_compile_options(-m${ADDRESS_SIZE}) endif (LINUX OR DARWIN) diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 7953d1ee1b..2040c86b9f 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -26,16 +26,30 @@ FetchContent_MakeAvailable(webrtc) set(WEBRTC_PATH ${webrtc_SOURCE_DIR}) - add_library( ll::webrtc INTERFACE IMPORTED ) - if (WINDOWS) - target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.lib" ) + target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.lib" ) elseif (DARWIN) - target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.a" ) + 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) + + target_link_libraries( ll::webrtc INTERFACE + "${WEBRTC_PATH}/lib/libwebrtc.a" + ${COREAUDIO_LIBRARY} + ${AUDIOTOOLBOX_LIBRARY} + ${COREGRAPHICS_LIBRARY} + ${COREFOUNDATION_LIBRARY} + ${COCOA_LIBRARY} + ) elseif (LINUX) - target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.a" ) + target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/libwebrtc.a" ) endif (WINDOWS) -target_include_directories( ll::webrtc SYSTEM INTERFACE "${WEBRTC_PATH}/include" "${WEBRTC_PATH}/include/third_party/abseil-cpp") + +message("PATH: ${WEBRTC_PATH}/include") + +target_include_directories( ll::webrtc INTERFACE "${WEBRTC_PATH}/include" "${WEBRTC_PATH}/include/third_party/abseil-cpp") -- cgit v1.2.3 From 48a20c5337e16969725985dca2ec1fa6cbaa564d Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sat, 9 Sep 2023 23:52:34 -0700 Subject: Use webrtc built binaries from temporary s3 location --- indra/cmake/WebRTC.cmake | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 2040c86b9f..c1e5df8b9d 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -3,23 +3,34 @@ include(FetchContent) if (WINDOWS) -FetchContent_Declare( - webrtc - URL http://localhost:8000/webrtc.windows_x86_64.tar.bz2 - URL_HASH MD5=dfb692562770dc8c877ebfe4302e2881 - FIND_PACKAGE_ARGS NAMES webrtc - DOWNLOAD_EXTRACT_TIMESTAMP TRUE - DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" -) + if( ADDRESS_SIZE EQUAL 32 ) + FetchContent_Declare( + webrtc + URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2 + URL_HASH MD5=0d55e58efceed3fb48085a5f0c58881c + FIND_PACKAGE_ARGS NAMES webrtc + DOWNLOAD_EXTRACT_TIMESTAMP TRUE + DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + ) + else ( ADDRESS_SIZE EQUAL 32 ) + FetchContent_Declare( + webrtc + URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2 + URL_HASH MD5=dfb692562770dc8c877ebfe4302e2881 + FIND_PACKAGE_ARGS NAMES webrtc + DOWNLOAD_EXTRACT_TIMESTAMP TRUE + DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + ) + endif ( ADDRESS_SIZE EQUAL 32 ) elseif (DARWIN) -FetchContent_Declare( - webrtc - URL http://localhost:8000/webrtc.macos_x86_64.tar.bz2 - URL_HASH MD5=cfbcac7da897a862f9791ea29330b814 - FIND_PACKAGE_ARGS NAMES webrtc - DOWNLOAD_EXTRACT_TIMESTAMP TRUE - DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" -) + FetchContent_Declare( + webrtc + URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2 + URL_HASH MD5=cfbcac7da897a862f9791ea29330b814 + FIND_PACKAGE_ARGS NAMES webrtc + DOWNLOAD_EXTRACT_TIMESTAMP TRUE + DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + ) endif (WINDOWS) FetchContent_MakeAvailable(webrtc) -- cgit v1.2.3 From 4451c3f420d9458e817d22666642d5899283eeda Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 10 Sep 2023 00:30:59 -0700 Subject: coding policy fixes --- indra/cmake/LLWebRTC.cmake | 1 - 1 file changed, 1 deletion(-) delete mode 100644 indra/cmake/LLWebRTC.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/LLWebRTC.cmake b/indra/cmake/LLWebRTC.cmake deleted file mode 100644 index 913e28c2ff..0000000000 --- a/indra/cmake/LLWebRTC.cmake +++ /dev/null @@ -1 +0,0 @@ -# -*- cmake -*- \ No newline at end of file -- cgit v1.2.3 From 22e724b29d276bcc3d3897284072eff7b85f5a01 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 10 Sep 2023 00:50:22 -0700 Subject: unknown warnings for TC build machines --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 687ace431b..897eabb233 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -182,7 +182,7 @@ if (LINUX OR DARWIN) list(APPEND GCC_WARNINGS -Wno-reorder -Wno-non-virtual-dtor ) - list(APPEND GCC_WARNINGS -Wno-unused-but-set-variable -Wno-unused-variable ) +# list(APPEND GCC_WARNINGS -Wno-unused-but-set-variable -Wno-unused-variable ) add_compile_options(${GCC_WARNINGS}) add_compile_options(-m${ADDRESS_SIZE}) -- cgit v1.2.3 From ad23b77664c621f76eb7e18add45bd5be2e23e42 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 10 Sep 2023 01:42:27 -0700 Subject: TC build cmake complained about URL_HASH --- indra/cmake/WebRTC.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index c1e5df8b9d..fc664b75bf 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -7,7 +7,7 @@ if (WINDOWS) FetchContent_Declare( webrtc URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2 - URL_HASH MD5=0d55e58efceed3fb48085a5f0c58881c + URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -16,7 +16,7 @@ if (WINDOWS) FetchContent_Declare( webrtc URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2 - URL_HASH MD5=dfb692562770dc8c877ebfe4302e2881 + URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -26,7 +26,7 @@ elseif (DARWIN) FetchContent_Declare( webrtc URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2 - URL_HASH MD5=cfbcac7da897a862f9791ea29330b814 + URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" -- cgit v1.2.3 From 393769e9f932a09f82aa1a52802992089297ebbd Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 10 Sep 2023 01:50:07 -0700 Subject: Try reordering URL_HASH --- indra/cmake/WebRTC.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index fc664b75bf..7693899247 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -7,29 +7,29 @@ if (WINDOWS) FetchContent_Declare( webrtc URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2 - URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" ) else ( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2 - URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" ) endif ( ADDRESS_SIZE EQUAL 32 ) elseif (DARWIN) FetchContent_Declare( webrtc URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2 - URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" ) endif (WINDOWS) -- cgit v1.2.3 From 2666504d2f116774381d0929e0986f2a67f9477c Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 10 Sep 2023 01:56:43 -0700 Subject: Cmake on TC is sure picky --- indra/cmake/WebRTC.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 7693899247..64c41c59f8 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -6,7 +6,7 @@ if (WINDOWS) if( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc - URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2 + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -15,7 +15,7 @@ if (WINDOWS) else ( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc - URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2 + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -25,7 +25,7 @@ if (WINDOWS) elseif (DARWIN) FetchContent_Declare( webrtc - URL https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2 + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" -- cgit v1.2.3 From 6bd6107062286194484126129f5f40b7c86808f9 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 10 Sep 2023 02:03:30 -0700 Subject: more picky cmake --- indra/cmake/WebRTC.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 64c41c59f8..4b2dcebbe6 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -6,29 +6,29 @@ if (WINDOWS) if( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" ) else ( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" ) endif ( ADDRESS_SIZE EQUAL 32 ) elseif (DARWIN) FetchContent_Declare( webrtc - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" ) endif (WINDOWS) -- cgit v1.2.3 From 4079c05dd8c2d36a736b07d857152ae7989b1310 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Mon, 11 Sep 2023 15:38:58 -0700 Subject: some build tweaks --- indra/cmake/WebRTC.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 4b2dcebbe6..20417ebb41 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -25,11 +25,11 @@ if (WINDOWS) elseif (DARWIN) FetchContent_Declare( webrtc + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" + URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" - URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" ) endif (WINDOWS) -- cgit v1.2.3 From 24379eb3eec285bf53692892d07a36aac0bad95c Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Wed, 13 Sep 2023 21:20:23 -0700 Subject: disable unused but set warnings on newer compilers on mac. --- indra/cmake/00-Common.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 897eabb233..26a4162e42 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -182,7 +182,9 @@ if (LINUX OR DARWIN) list(APPEND GCC_WARNINGS -Wno-reorder -Wno-non-virtual-dtor ) -# list(APPEND GCC_WARNINGS -Wno-unused-but-set-variable -Wno-unused-variable ) + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13) + list(APPEND GCC_WARNINGS -Wno-unused-but-set-variable -Wno-unused-variable ) + endif() add_compile_options(${GCC_WARNINGS}) add_compile_options(-m${ADDRESS_SIZE}) -- cgit v1.2.3 From b831502f7862074afec4388584e791635d120abe Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Thu, 12 Oct 2023 20:10:06 -0700 Subject: reorder params as the runners have different versions of cmake --- indra/cmake/WebRTC.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 20417ebb41..1c32607766 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -6,20 +6,20 @@ if (WINDOWS) if( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" + URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" - URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" ) else ( ADDRESS_SIZE EQUAL 32 ) FetchContent_Declare( webrtc + URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" + URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" - URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" ) endif ( ADDRESS_SIZE EQUAL 32 ) elseif (DARWIN) -- cgit v1.2.3 From 7246f55290abda53c211b335e01f9a9182c7513f Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Tue, 9 Jan 2024 11:57:01 -0800 Subject: New WebRTC with echo cancellation fix. Also, start/stop recording depending on whether WebRTC has negotiated. --- indra/cmake/WebRTC.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 1c32607766..2878d7dd88 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -7,7 +7,7 @@ if (WINDOWS) FetchContent_Declare( webrtc URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" - URL_HASH "MD5=0d55e58efceed3fb48085a5f0c58881c" + URL_HASH "MD5=cefbd446b1b152ac08217fc78648fb99" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -16,7 +16,7 @@ if (WINDOWS) FetchContent_Declare( webrtc URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" - URL_HASH "MD5=dfb692562770dc8c877ebfe4302e2881" + URL_HASH "MD5=b7a93b111e51ebcda21701c009c0676c" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -26,7 +26,7 @@ elseif (DARWIN) FetchContent_Declare( webrtc URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" - URL_HASH "MD5=cfbcac7da897a862f9791ea29330b814" + URL_HASH "MD5=a965974e1d9fc7f55b852a8ff8ccf9a9" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" -- cgit v1.2.3 From 6719d9fa52d8b981276c8f9e867e3b50b0abef13 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Thu, 7 Mar 2024 01:26:07 -0800 Subject: update webrtc --- indra/cmake/WebRTC.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 2878d7dd88..4032398c01 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -16,7 +16,7 @@ if (WINDOWS) FetchContent_Declare( webrtc URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" - URL_HASH "MD5=b7a93b111e51ebcda21701c009c0676c" + URL_HASH "MD5=6e25b99284215933ec1571b6e60c1030" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" @@ -26,7 +26,7 @@ elseif (DARWIN) FetchContent_Declare( webrtc URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" - URL_HASH "MD5=a965974e1d9fc7f55b852a8ff8ccf9a9" + URL_HASH "MD5=6849e81773135290f5c70cbf679992fb" FIND_PACKAGE_ARGS NAMES webrtc DOWNLOAD_EXTRACT_TIMESTAMP TRUE DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" -- cgit v1.2.3 From 994039c948c29dc4664f7c2f2ec2c87001117234 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Fri, 8 Mar 2024 22:49:05 -0800 Subject: Use webrtc autobuild package --- indra/cmake/WebRTC.cmake | 50 ++++++++---------------------------------------- 1 file changed, 8 insertions(+), 42 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 4032398c01..909a1345ed 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -1,46 +1,15 @@ # -*- cmake -*- +include(Linking) +include(Prebuilt) -include(FetchContent) - -if (WINDOWS) - if( ADDRESS_SIZE EQUAL 32 ) - FetchContent_Declare( - webrtc - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86.tar.bz2" - URL_HASH "MD5=cefbd446b1b152ac08217fc78648fb99" - FIND_PACKAGE_ARGS NAMES webrtc - DOWNLOAD_EXTRACT_TIMESTAMP TRUE - DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" - ) - else ( ADDRESS_SIZE EQUAL 32 ) - FetchContent_Declare( - webrtc - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.windows_x86_64.tar.bz2" - URL_HASH "MD5=6e25b99284215933ec1571b6e60c1030" - FIND_PACKAGE_ARGS NAMES webrtc - DOWNLOAD_EXTRACT_TIMESTAMP TRUE - DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" - ) - endif ( ADDRESS_SIZE EQUAL 32 ) -elseif (DARWIN) - FetchContent_Declare( - webrtc - URL "https://webrtc-build-releases.s3.us-west-2.amazonaws.com/webrtc.macos_x86_64.tar.bz2" - URL_HASH "MD5=6849e81773135290f5c70cbf679992fb" - FIND_PACKAGE_ARGS NAMES webrtc - DOWNLOAD_EXTRACT_TIMESTAMP TRUE - DOWNLOAD_DIR "${LIBS_PREBUILT_DIR}/webrtc/" - ) -endif (WINDOWS) - -FetchContent_MakeAvailable(webrtc) - -set(WEBRTC_PATH ${webrtc_SOURCE_DIR}) +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") +use_prebuilt_binary(webrtc-shim) if (WINDOWS) - target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/webrtc.lib" ) + target_link_libraries( ll::webrtc INTERFACE webrtc.lib ) elseif (DARWIN) FIND_LIBRARY(COREAUDIO_LIBRARY CoreAudio) FIND_LIBRARY(COREGRAPHICS_LIBRARY CoreGraphics) @@ -49,7 +18,7 @@ elseif (DARWIN) FIND_LIBRARY(COCOA_LIBRARY Cocoa) target_link_libraries( ll::webrtc INTERFACE - "${WEBRTC_PATH}/lib/libwebrtc.a" + libwebrtc.a ${COREAUDIO_LIBRARY} ${AUDIOTOOLBOX_LIBRARY} ${COREGRAPHICS_LIBRARY} @@ -57,10 +26,7 @@ elseif (DARWIN) ${COCOA_LIBRARY} ) elseif (LINUX) - target_link_libraries( ll::webrtc INTERFACE "${WEBRTC_PATH}/lib/libwebrtc.a" ) + target_link_libraries( ll::webrtc INTERFACE libwebrtc ) endif (WINDOWS) -message("PATH: ${WEBRTC_PATH}/include") - -target_include_directories( ll::webrtc INTERFACE "${WEBRTC_PATH}/include" "${WEBRTC_PATH}/include/third_party/abseil-cpp") -- cgit v1.2.3 From 2f40b1fcef766f87f3185333fa05fbf4f3244073 Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Mon, 18 Mar 2024 17:13:36 -0700 Subject: update to use public github-based release of autobuild webrtc --- indra/cmake/WebRTC.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 909a1345ed..a9adc41831 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -6,7 +6,7 @@ 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") -use_prebuilt_binary(webrtc-shim) +use_prebuilt_binary(webrtc) if (WINDOWS) target_link_libraries( ll::webrtc INTERFACE webrtc.lib ) -- cgit v1.2.3 From 53d4fcd3597d2042b2c82bd3aaa41f61fdb7b3d5 Mon Sep 17 00:00:00 2001 From: Rye Mutt Date: Wed, 27 Mar 2024 19:51:59 -0400 Subject: Remove dead googlemock dependency and related setup code --- indra/cmake/CMakeLists.txt | 1 - indra/cmake/GoogleMock.cmake | 32 -------------------------------- indra/cmake/LLAddBuildTest.cmake | 7 ------- 3 files changed, 40 deletions(-) delete mode 100644 indra/cmake/GoogleMock.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 737609c89c..a9f8643f3b 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -26,7 +26,6 @@ set(cmake_SOURCE_FILES FreeType.cmake GLEXT.cmake GLH.cmake - GoogleMock.cmake Havok.cmake Hunspell.cmake ICU4C.cmake diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake deleted file mode 100644 index e4520fe96e..0000000000 --- a/indra/cmake/GoogleMock.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# -*- cmake -*- -include(Prebuilt) -include(Linking) - -include_guard() - -add_library( ll::googlemock INTERFACE IMPORTED ) -if(USE_CONAN) - target_link_libraries( ll::googlemock INTERFACE CONAN_PKG::gtest ) - - #Not very nice, but for the moment we need this for tut.hpp - target_include_directories( ll::googlemock SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include ) - return() -endif() - -use_prebuilt_binary(googlemock) - -target_include_directories( ll::googlemock SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include ) - -if (LINUX) - # VWR-24366: gmock is underlinked, it needs gtest. - target_link_libraries( ll::googlemock INTERFACE gmock gtest) -elseif(WINDOWS) - target_link_libraries( ll::googlemock INTERFACE gmock) - target_include_directories( ll::googlemock SYSTEM INTERFACE - ${LIBS_PREBUILT_DIR}/include - ${LIBS_PREBUILT_DIR}/include/gmock) -elseif(DARWIN) - target_link_libraries( ll::googlemock INTERFACE gmock gtest) -endif(LINUX) - - diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 2172b56da2..6408f1200c 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -1,7 +1,6 @@ # -*- cmake -*- include(00-Common) include(LLTestCommand) -include(GoogleMock) include(bugsplat) include(Tut) @@ -19,10 +18,6 @@ MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources) # # More info and examples at: https://wiki.secondlife.com/wiki/How_to_add_unit_tests_to_indra_code - # This here looks weird, but is needed. It will inject GoogleMock into projects that forgot to include `this` (LLAddBuildTest.cmake) - # But through some other means have access to this macro - include(GoogleMock) - if(LL_TEST_VERBOSE) message("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} sources: ${sources}") endif() @@ -41,7 +36,6 @@ MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources) set(alltest_LIBRARIES llcommon - ll::googlemock ) if(NOT "${project}" STREQUAL "llmath") # add llmath as a dep unless the tested module *is* llmath! @@ -204,7 +198,6 @@ FUNCTION(LL_ADD_INTEGRATION_TEST set(libraries ${library_dependencies} - ll::googlemock ) # Add test executable build target -- cgit v1.2.3 From 17e1f3692c5c1e9cbc6ba6895b312a8baae9aec2 Mon Sep 17 00:00:00 2001 From: Rye Mutt Date: Fri, 5 Apr 2024 19:03:58 -0400 Subject: Port from JsonCPP to Boost.Json for json parsing and serializing (#1054) --- indra/cmake/CMakeLists.txt | 1 - indra/cmake/JsonCpp.cmake | 17 ----------------- indra/cmake/LLCommon.cmake | 1 - 3 files changed, 19 deletions(-) delete mode 100644 indra/cmake/JsonCpp.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index a9f8643f3b..262c455d63 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -29,7 +29,6 @@ set(cmake_SOURCE_FILES Havok.cmake Hunspell.cmake ICU4C.cmake - JsonCpp.cmake LLAddBuildTest.cmake LLAppearance.cmake LLAudio.cmake diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake deleted file mode 100644 index 17f8e47a97..0000000000 --- a/indra/cmake/JsonCpp.cmake +++ /dev/null @@ -1,17 +0,0 @@ -# -*- cmake -*- - -include(Prebuilt) -include_guard() -add_library( ll::jsoncpp INTERFACE IMPORTED ) - -use_system_binary(jsoncpp) - -use_prebuilt_binary(jsoncpp) -if (WINDOWS) - target_link_libraries( ll::jsoncpp INTERFACE json_libmd.lib ) -elseif (DARWIN) - target_link_libraries( ll::jsoncpp INTERFACE libjson_darwin_libmt.a ) -elseif (LINUX) - target_link_libraries( ll::jsoncpp INTERFACE libjson_linux-gcc-4.1.3_libmt.a ) -endif (WINDOWS) -target_include_directories( ll::jsoncpp SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index 869d5805f2..9e3707ff17 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -6,6 +6,5 @@ include(EXPAT) include(Tracy) include(xxHash) include(ZLIBNG) -include(JsonCpp) include(XmlRpcEpi) -- cgit v1.2.3 From c7461061b8113fa258611b1a31f16a119fad1a2c Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Sun, 19 May 2024 22:59:09 -0700 Subject: Get rid of a deprecated warning in Linux builds --- indra/cmake/WebRTC.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index a9adc41831..0127a0cb03 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -26,7 +26,7 @@ elseif (DARWIN) ${COCOA_LIBRARY} ) elseif (LINUX) - target_link_libraries( ll::webrtc INTERFACE libwebrtc ) + target_link_libraries( ll::webrtc INTERFACE libwebrtc.a X11 ) endif (WINDOWS) -- cgit v1.2.3 From 03c4458bdcc6821a3047f93b729d412e274ab9af Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 20 May 2024 13:22:55 -0500 Subject: #1392 GLTF Upload (#1394) * #1392 WIP -- Functional texture upload, stubbed out .bin upload. * #1392 GLTF Upload WIP -- Emulates successful upload Successfully uploads texture Emulates successful .gltf and .bin upload by injecting into local asset cache. Emulates rez from inventory by setting sculpt ID of selected object Currently fails in tinygltf parsing due to missing .bin * Add missing notification * Build fix * #1392 Add boost::json .gltf reading support. * #1392 boost::json GLTF writing prototype * Create gltf/README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * #1392 Add ability to render directly from LL::GLTF::Material * Fix for mac build * Mac build fix * #1392 AssetType and Inventory Type plumbing * #1392 More sane error handling and scheduling of uploads. * #1392 Actually attempt to upload glbin * Mac build fix, upload nudge * Mac build fix * Fix glTF asset uploads to server * Mac build fix (inline not static) * More consistent inline * Add glm, mac nudge. * #1392 For consistency with spec, start using glm over glh:: and LLFoo * Another attempt at placating Mac builds * Another Mac nudge * Mac build take 23 * #1392 Prune LLMatrix4a from GLTF namespace. * #1392 Fix for orientation being off (glm::quat is wxyz, not xyzw) * #1392 WIP -- Actually send the sculpt type and id, nudge readme and alpha rendering * #1392 Working download! * #1394 Add support for GLTFEnabled SimulatorFeature * #1392 Review feedback --------- Co-authored-by: Pepper Linden <3782201+rohvani@users.noreply.github.com> --- indra/cmake/GLM.cmake | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 indra/cmake/GLM.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/GLM.cmake b/indra/cmake/GLM.cmake new file mode 100644 index 0000000000..84b155f6c5 --- /dev/null +++ b/indra/cmake/GLM.cmake @@ -0,0 +1,7 @@ +# -*- cmake -*- +include(Prebuilt) + +add_library( ll::glm INTERFACE IMPORTED ) + +use_system_binary( glm ) +use_prebuilt_binary(glm) -- cgit v1.2.3 From e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 22 May 2024 21:25:21 +0200 Subject: Fix line endlings --- indra/cmake/Copy3rdPartyLibs.cmake | 574 ++++++++++++++++++------------------- 1 file changed, 287 insertions(+), 287 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 0e6756fd18..a2ce9eab90 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -1,287 +1,287 @@ -# -*- cmake -*- - -# The copy_win_libs folder contains file lists and a script used to -# copy dlls, exes and such needed to run the SecondLife from within -# VisualStudio. - -include(CMakeCopyIfDifferent) -include(Linking) -include(OPENAL) - -# When we copy our dependent libraries, we almost always want to copy them to -# both the Release and the RelWithDebInfo staging directories. This has -# resulted in duplicate (or worse, erroneous attempted duplicate) -# copy_if_different commands. Encapsulate that usage. -# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit. -# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS. -macro(to_staging_dirs from_dir targets) - set( targetDir "${SHARED_LIB_STAGING_DIR}") - copy_if_different("${from_dir}" "${targetDir}" out_targets ${ARGN}) - - list(APPEND "${targets}" "${out_targets}") -endmacro() - -################################################################### -# set up platform specific lists of files that need to be copied -################################################################### -if(WINDOWS) - #******************************* - # VIVOX - *NOTE: no debug version - set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - - # ND, it seems there is no such thing defined. At least when building a viewer - # Does this maybe matter on some LL buildserver? Otherwise this and the snippet using slvoice_src_dir - # can all go - if( ARCH_PREBUILT_BIN_RELEASE ) - set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}") - endif() - set(slvoice_files SLVoice.exe ) - if (ADDRESS_SIZE EQUAL 64) - list(APPEND vivox_libs - vivoxsdk_x64.dll - ortp_x64.dll - ) - else (ADDRESS_SIZE EQUAL 64) - list(APPEND vivox_libs - vivoxsdk.dll - ortp.dll - ) - endif (ADDRESS_SIZE EQUAL 64) - - #******************************* - # Misc shared libs - - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - openjp2.dll - libapr-1.dll - libaprutil-1.dll - nghttp2.dll - libhunspell.dll - uriparser.dll - ) - - # OpenSSL - if(ADDRESS_SIZE EQUAL 64) - set(release_files ${release_files} libcrypto-1_1-x64.dll) - set(release_files ${release_files} libssl-1_1-x64.dll) - else(ADDRESS_SIZE EQUAL 64) - set(release_files ${release_files} libcrypto-1_1.dll) - set(release_files ${release_files} libssl-1_1.dll) - endif(ADDRESS_SIZE EQUAL 64) - - # Filenames are different for 32/64 bit BugSplat file and we don't - # have any control over them so need to branch. - if (USE_BUGSPLAT) - if(ADDRESS_SIZE EQUAL 32) - set(release_files ${release_files} BugSplat.dll) - set(release_files ${release_files} BugSplatRc.dll) - set(release_files ${release_files} BsSndRpt.exe) - else(ADDRESS_SIZE EQUAL 32) - set(release_files ${release_files} BugSplat64.dll) - set(release_files ${release_files} BugSplatRc64.dll) - set(release_files ${release_files} BsSndRpt64.exe) - endif(ADDRESS_SIZE EQUAL 32) - endif (USE_BUGSPLAT) - - if (TARGET ll::openal) - list(APPEND release_files openal32.dll alut.dll) - endif () - - #******************************* - # Copy MS C runtime dlls, required for packaging. - if (MSVC80) - set(MSVC_VER 80) - elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 - MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}") - elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 - set(MSVC_VER 120) - elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017 - set(MSVC_VER 140) - elseif (MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 - set(MSVC_VER 140) - elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) # Visual Studio 2022 - set(MSVC_VER 140) - else (MSVC80) - MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") - endif (MSVC80) - - if(ADDRESS_SIZE EQUAL 32) - # this folder contains the 32bit DLLs.. (yes really!) - set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") - else(ADDRESS_SIZE EQUAL 32) - # this folder contains the 64bit DLLs.. (yes really!) - set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32") - endif(ADDRESS_SIZE EQUAL 32) - - # Having a string containing the system registry path is a start, but to - # get CMake to actually read the registry, we must engage some other - # operation. - get_filename_component(registry_path "${registry_find_path}" ABSOLUTE) - - # These are candidate DLL names. Empirically, VS versions before 2015 have - # msvcp*.dll and msvcr*.dll. VS 2017 has msvcp*.dll and vcruntime*.dll. - # Check each of them. - foreach(release_msvc_file - msvcp${MSVC_VER}.dll - msvcr${MSVC_VER}.dll - vcruntime${MSVC_VER}.dll - vcruntime${MSVC_VER}_1.dll - ) - if(EXISTS "${registry_path}/${release_msvc_file}") - to_staging_dirs( - ${registry_path} - third_party_targets - ${release_msvc_file}) - else() - # This isn't a WARNING because, as noted above, every VS version - # we've observed has only a subset of the specified DLL names. - MESSAGE(STATUS "Redist lib ${release_msvc_file} not found") - endif() - endforeach() - MESSAGE(STATUS "Will copy redist files for MSVC ${MSVC_VER}:") - foreach(target ${third_party_targets}) - MESSAGE(STATUS "${target}") - endforeach() - -elseif(DARWIN) - set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(slvoice_files SLVoice) - set(vivox_libs - libortp.dylib - libvivoxsdk.dylib - ) - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - libapr-1.0.dylib - libapr-1.dylib - libaprutil-1.0.dylib - libaprutil-1.dylib - ${EXPAT_COPY} - libhunspell-1.3.0.dylib - libndofdev.dylib - libnghttp2.dylib - libnghttp2.14.dylib - liburiparser.dylib - liburiparser.1.dylib - liburiparser.1.0.27.dylib - ) - - if (TARGET ll::openal) - list(APPEND release_files libalut.dylib libopenal.dylib) - endif () - -elseif(LINUX) - # linux is weird, multiple side by side configurations aren't supported - # and we don't seem to have any debug shared libs built yet anyways... - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") - - set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_libs - libsndfile.so.1 - libortp.so - libvivoxoal.so.1 - libvivoxsdk.so - ) - set(slvoice_files SLVoice) - - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - # *FIX - figure out what to do with duplicate libalut.so here -brad - set(release_files - ${EXPAT_COPY} - ) - - if( USE_AUTOBUILD_3P ) - list( APPEND release_files - libapr-1.so.0 - libaprutil-1.so.0 - libatk-1.0.so - libfreetype.so.6.6.2 - libfreetype.so.6 - libhunspell-1.3.so.0.0.0 - libopenjp2.so - libuuid.so.16 - libuuid.so.16.0.22 - libfontconfig.so.1.8.0 - libfontconfig.so.1 - libgmodule-2.0.so - libgobject-2.0.so - ) - endif() - -else(WINDOWS) - message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") - set(vivox_lib_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") - set(vivox_libs "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") - set(debug_files "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") - set(release_files "") - - set(debug_llkdu_src "") - set(debug_llkdu_dst "") - set(release_llkdu_src "") - set(release_llkdu_dst "") - set(relwithdebinfo_llkdu_dst "") -endif(WINDOWS) - - -################################################################ -# Done building the file lists, now set up the copy commands. -################################################################ - -# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE. -# It's unclear whether this is oversight or intentional, but anyway leave the -# single copy_if_different command rather than using to_staging_dirs. - -if( slvoice_src_dir ) - copy_if_different( - ${slvoice_src_dir} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${slvoice_files} - ) - list(APPEND third_party_targets ${out_targets}) -endif() - -to_staging_dirs( - ${vivox_lib_dir} - third_party_targets - ${vivox_libs} - ) - -to_staging_dirs( - ${release_src_dir} - third_party_targets - ${release_files} - ) - -add_custom_target( - stage_third_party_libs ALL - DEPENDS ${third_party_targets} -) - -if(DARWIN) - # Support our "@executable_path/../Resources" load path for executables - # that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE - # directories. - add_custom_command( TARGET stage_third_party_libs POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/sharedlibs/Resources - ) -endif() +# -*- cmake -*- + +# The copy_win_libs folder contains file lists and a script used to +# copy dlls, exes and such needed to run the SecondLife from within +# VisualStudio. + +include(CMakeCopyIfDifferent) +include(Linking) +include(OPENAL) + +# When we copy our dependent libraries, we almost always want to copy them to +# both the Release and the RelWithDebInfo staging directories. This has +# resulted in duplicate (or worse, erroneous attempted duplicate) +# copy_if_different commands. Encapsulate that usage. +# Pass FROM_DIR, TARGETS and the files to copy. TO_DIR is implicit. +# to_staging_dirs diverges from copy_if_different in that it appends to TARGETS. +macro(to_staging_dirs from_dir targets) + set( targetDir "${SHARED_LIB_STAGING_DIR}") + copy_if_different("${from_dir}" "${targetDir}" out_targets ${ARGN}) + + list(APPEND "${targets}" "${out_targets}") +endmacro() + +################################################################### +# set up platform specific lists of files that need to be copied +################################################################### +if(WINDOWS) + #******************************* + # VIVOX - *NOTE: no debug version + set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + + # ND, it seems there is no such thing defined. At least when building a viewer + # Does this maybe matter on some LL buildserver? Otherwise this and the snippet using slvoice_src_dir + # can all go + if( ARCH_PREBUILT_BIN_RELEASE ) + set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}") + endif() + set(slvoice_files SLVoice.exe ) + if (ADDRESS_SIZE EQUAL 64) + list(APPEND vivox_libs + vivoxsdk_x64.dll + ortp_x64.dll + ) + else (ADDRESS_SIZE EQUAL 64) + list(APPEND vivox_libs + vivoxsdk.dll + ortp.dll + ) + endif (ADDRESS_SIZE EQUAL 64) + + #******************************* + # Misc shared libs + + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + openjp2.dll + libapr-1.dll + libaprutil-1.dll + nghttp2.dll + libhunspell.dll + uriparser.dll + ) + + # OpenSSL + if(ADDRESS_SIZE EQUAL 64) + set(release_files ${release_files} libcrypto-1_1-x64.dll) + set(release_files ${release_files} libssl-1_1-x64.dll) + else(ADDRESS_SIZE EQUAL 64) + set(release_files ${release_files} libcrypto-1_1.dll) + set(release_files ${release_files} libssl-1_1.dll) + endif(ADDRESS_SIZE EQUAL 64) + + # Filenames are different for 32/64 bit BugSplat file and we don't + # have any control over them so need to branch. + if (USE_BUGSPLAT) + if(ADDRESS_SIZE EQUAL 32) + set(release_files ${release_files} BugSplat.dll) + set(release_files ${release_files} BugSplatRc.dll) + set(release_files ${release_files} BsSndRpt.exe) + else(ADDRESS_SIZE EQUAL 32) + set(release_files ${release_files} BugSplat64.dll) + set(release_files ${release_files} BugSplatRc64.dll) + set(release_files ${release_files} BsSndRpt64.exe) + endif(ADDRESS_SIZE EQUAL 32) + endif (USE_BUGSPLAT) + + if (TARGET ll::openal) + list(APPEND release_files openal32.dll alut.dll) + endif () + + #******************************* + # Copy MS C runtime dlls, required for packaging. + if (MSVC80) + set(MSVC_VER 80) + elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 + MESSAGE(STATUS "MSVC_VERSION ${MSVC_VERSION}") + elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 + set(MSVC_VER 120) + elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017 + set(MSVC_VER 140) + elseif (MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 + set(MSVC_VER 140) + elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) # Visual Studio 2022 + set(MSVC_VER 140) + else (MSVC80) + MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") + endif (MSVC80) + + if(ADDRESS_SIZE EQUAL 32) + # this folder contains the 32bit DLLs.. (yes really!) + set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") + else(ADDRESS_SIZE EQUAL 32) + # this folder contains the 64bit DLLs.. (yes really!) + set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32") + endif(ADDRESS_SIZE EQUAL 32) + + # Having a string containing the system registry path is a start, but to + # get CMake to actually read the registry, we must engage some other + # operation. + get_filename_component(registry_path "${registry_find_path}" ABSOLUTE) + + # These are candidate DLL names. Empirically, VS versions before 2015 have + # msvcp*.dll and msvcr*.dll. VS 2017 has msvcp*.dll and vcruntime*.dll. + # Check each of them. + foreach(release_msvc_file + msvcp${MSVC_VER}.dll + msvcr${MSVC_VER}.dll + vcruntime${MSVC_VER}.dll + vcruntime${MSVC_VER}_1.dll + ) + if(EXISTS "${registry_path}/${release_msvc_file}") + to_staging_dirs( + ${registry_path} + third_party_targets + ${release_msvc_file}) + else() + # This isn't a WARNING because, as noted above, every VS version + # we've observed has only a subset of the specified DLL names. + MESSAGE(STATUS "Redist lib ${release_msvc_file} not found") + endif() + endforeach() + MESSAGE(STATUS "Will copy redist files for MSVC ${MSVC_VER}:") + foreach(target ${third_party_targets}) + MESSAGE(STATUS "${target}") + endforeach() + +elseif(DARWIN) + set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(slvoice_files SLVoice) + set(vivox_libs + libortp.dylib + libvivoxsdk.dylib + ) + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + libapr-1.0.dylib + libapr-1.dylib + libaprutil-1.0.dylib + libaprutil-1.dylib + ${EXPAT_COPY} + libhunspell-1.3.0.dylib + libndofdev.dylib + libnghttp2.dylib + libnghttp2.14.dylib + liburiparser.dylib + liburiparser.1.dylib + liburiparser.1.0.27.dylib + ) + + if (TARGET ll::openal) + list(APPEND release_files libalut.dylib libopenal.dylib) + endif () + +elseif(LINUX) + # linux is weird, multiple side by side configurations aren't supported + # and we don't seem to have any debug shared libs built yet anyways... + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") + + set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_libs + libsndfile.so.1 + libortp.so + libvivoxoal.so.1 + libvivoxsdk.so + ) + set(slvoice_files SLVoice) + + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + # *FIX - figure out what to do with duplicate libalut.so here -brad + set(release_files + ${EXPAT_COPY} + ) + + if( USE_AUTOBUILD_3P ) + list( APPEND release_files + libapr-1.so.0 + libaprutil-1.so.0 + libatk-1.0.so + libfreetype.so.6.6.2 + libfreetype.so.6 + libhunspell-1.3.so.0.0.0 + libopenjp2.so + libuuid.so.16 + libuuid.so.16.0.22 + libfontconfig.so.1.8.0 + libfontconfig.so.1 + libgmodule-2.0.so + libgobject-2.0.so + ) + endif() + +else(WINDOWS) + message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") + set(vivox_lib_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") + set(vivox_libs "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") + set(debug_files "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") + set(release_files "") + + set(debug_llkdu_src "") + set(debug_llkdu_dst "") + set(release_llkdu_src "") + set(release_llkdu_dst "") + set(relwithdebinfo_llkdu_dst "") +endif(WINDOWS) + + +################################################################ +# Done building the file lists, now set up the copy commands. +################################################################ + +# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE. +# It's unclear whether this is oversight or intentional, but anyway leave the +# single copy_if_different command rather than using to_staging_dirs. + +if( slvoice_src_dir ) + copy_if_different( + ${slvoice_src_dir} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${slvoice_files} + ) + list(APPEND third_party_targets ${out_targets}) +endif() + +to_staging_dirs( + ${vivox_lib_dir} + third_party_targets + ${vivox_libs} + ) + +to_staging_dirs( + ${release_src_dir} + third_party_targets + ${release_files} + ) + +add_custom_target( + stage_third_party_libs ALL + DEPENDS ${third_party_targets} +) + +if(DARWIN) + # Support our "@executable_path/../Resources" load path for executables + # that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE + # directories. + add_custom_command( TARGET stage_third_party_libs POST_BUILD + COMMAND ${CMAKE_COMMAND} -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/sharedlibs/Resources + ) +endif() -- cgit v1.2.3 From 7e645bd42d6e9cf403c4b4b7d7eb070c5bb1ebf3 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Mon, 27 May 2024 10:47:54 +0200 Subject: Try copying the VC++ runtime files from the redistributable package first --- indra/cmake/Copy3rdPartyLibs.cmake | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index a2ce9eab90..30dee3c6c1 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -98,14 +98,27 @@ if(WINDOWS) set(MSVC_VER 120) elseif (MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) # Visual Studio 2017 set(MSVC_VER 140) + set(MSVC_TOOLSET_VER 141) elseif (MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 set(MSVC_VER 140) - elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) # Visual Studio 2022 + set(MSVC_TOOLSET_VER 142) + elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1950) # Visual Studio 2022 set(MSVC_VER 140) + set(MSVC_TOOLSET_VER 143) else (MSVC80) MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") endif (MSVC80) + if (MSVC_TOOLSET_VER AND DEFINED ENV{VCTOOLSREDISTDIR}) + if(ADDRESS_SIZE EQUAL 32) + set(redist_find_path "$ENV{VCTOOLSREDISTDIR}x86\\Microsoft.VC${MSVC_TOOLSET_VER}.CRT") + else(ADDRESS_SIZE EQUAL 32) + set(redist_find_path "$ENV{VCTOOLSREDISTDIR}x64\\Microsoft.VC${MSVC_TOOLSET_VER}.CRT") + endif(ADDRESS_SIZE EQUAL 32) + get_filename_component(redist_path "${redist_find_path}" ABSOLUTE) + MESSAGE(STATUS "VC Runtime redist path: ${redist_path}") + endif (MSVC_TOOLSET_VER AND DEFINED ENV{VCTOOLSREDISTDIR}) + if(ADDRESS_SIZE EQUAL 32) # this folder contains the 32bit DLLs.. (yes really!) set(registry_find_path "[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64") @@ -128,7 +141,14 @@ if(WINDOWS) vcruntime${MSVC_VER}.dll vcruntime${MSVC_VER}_1.dll ) - if(EXISTS "${registry_path}/${release_msvc_file}") + if(redist_path AND EXISTS "${redist_path}/${release_msvc_file}") + MESSAGE(STATUS "Copying redist file from ${redist_path}/${release_msvc_file}") + to_staging_dirs( + ${redist_path} + third_party_targets + ${release_msvc_file}) + elseif(EXISTS "${registry_path}/${release_msvc_file}") + MESSAGE(STATUS "Copying redist file from ${registry_path}/${release_msvc_file}") to_staging_dirs( ${registry_path} third_party_targets -- cgit v1.2.3 From c95b4bf3ea2b681d6d05468b07e60fedb71fa2cf Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Mon, 10 Jun 2024 20:42:42 +0300 Subject: Post-merge - trim trailing whitespace --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 9bc17df32a..5b3aeb8b7f 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -117,7 +117,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(FIND_LIBRARY_USE_LIB64_PATHS ON) endif (ADDRESS_SIZE EQUAL 32) - execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH + execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH RESULT_VARIABLE DPKG_RESULT OUTPUT_VARIABLE DPKG_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) -- cgit v1.2.3 From 3d4bc98f6be51ebb8ac43af395e54bb6b608c9ae Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Tue, 11 Jun 2024 17:38:48 +0300 Subject: Trim remaining trailing whitespaces after #1695 --- indra/cmake/TinyEXR.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/TinyEXR.cmake b/indra/cmake/TinyEXR.cmake index e6d142d19d..e741c07f6e 100644 --- a/indra/cmake/TinyEXR.cmake +++ b/indra/cmake/TinyEXR.cmake @@ -3,5 +3,5 @@ include(Prebuilt) use_prebuilt_binary(tinyexr) -set(TINYEXR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinyexr) +set(TINYEXR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinyexr) -- cgit v1.2.3 From f4eae44067cfe63fbe5ddd219b1b2463e9de89ef Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Fri, 14 Jun 2024 13:47:19 -0500 Subject: Fix for warnings/errors after Visual Studio update (#1775) --- indra/cmake/00-Common.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 4471380c6b..dbbf12bd3d 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -108,6 +108,9 @@ if (WINDOWS) # https://github.com/actions/runner-images/issues/10004#issuecomment-2153445161 # can be removed after the above issue is resolved and deployed across GHA add_compile_definitions(_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) + + # Allow use of sprintf etc + add_compile_definitions(_CRT_SECURE_NO_WARNINGS) endif (WINDOWS) -- cgit v1.2.3 From 863c541ce0b2e3e1e566cc88423d3e87aaedb6ca Mon Sep 17 00:00:00 2001 From: Brad Linden Date: Tue, 18 Jun 2024 11:57:11 -0700 Subject: Fix whitespace for pre-commit hooks --- indra/cmake/00-Common.cmake | 2 +- indra/cmake/WebRTC.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index d827afed26..07deaa56b0 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -87,7 +87,7 @@ if (WINDOWS) if( ADDRESS_SIZE EQUAL 32 ) add_compile_options( /arch:SSE2 ) endif() - + # Are we using the crummy Visual Studio KDU build workaround? if (NOT VS_DISABLE_FATAL_WARNINGS) add_compile_options(/WX) diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 0127a0cb03..230522a40a 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -16,7 +16,7 @@ elseif (DARWIN) FIND_LIBRARY(AUDIOTOOLBOX_LIBRARY AudioToolbox) FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation) FIND_LIBRARY(COCOA_LIBRARY Cocoa) - + target_link_libraries( ll::webrtc INTERFACE libwebrtc.a ${COREAUDIO_LIBRARY} -- cgit v1.2.3 From 293187e04b5dfbc002fd694b75ffdca4b2fdbc8e Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Mon, 5 Aug 2024 18:17:03 -0700 Subject: Build mac symbols for multiple binaries/dynamic libraries and upload them all to bugsplat --- indra/cmake/Linking.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/cmake') diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 0ab30d0800..a5b8767923 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -19,6 +19,7 @@ if (WINDOWS OR DARWIN ) endif() else() set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/$,$,>) + set(SYMBOLS_STAGING_DIR ${CMAKE_BINARY_DIR}/symbols/$,$,>) endif() if( DARWIN ) -- cgit v1.2.3 From f1f3aa42e8fcb3e1a511c08a23c50aaf291199dc Mon Sep 17 00:00:00 2001 From: Roxie Linden Date: Thu, 8 Aug 2024 09:34:48 -0700 Subject: CR fixes --- indra/cmake/Linking.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index a5b8767923..1d757abeff 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -19,7 +19,7 @@ if (WINDOWS OR DARWIN ) endif() else() set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/$,$,>) - set(SYMBOLS_STAGING_DIR ${CMAKE_BINARY_DIR}/symbols/$,$,>) + set(SYMBOLS_STAGING_DIR ${CMAKE_BINARY_DIR}/symbols/$,$,>/${VIEWER_CHANNEL}) endif() if( DARWIN ) -- cgit v1.2.3 From 03d7f2b84daf9ab991de6cad7d6149abda1ef716 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 28 Aug 2024 21:16:56 -0400 Subject: Ditch trailing spaces. --- indra/cmake/run_build_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index ef4d712254..312d791d67 100755 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py @@ -150,7 +150,7 @@ def translate_rc(rc): """ if rc is None: return "still running" - + if rc >= 0: return "terminated with rc %s" % rc -- cgit v1.2.3