diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2025-08-04 22:40:13 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-08-05 18:26:29 +0300 | 
| commit | 61d53a8731a0d10e94c4c366c31598b3f12198e1 (patch) | |
| tree | ff75156f11955cd57bc37365340624c6bf83a106 | |
| parent | afcc64cb073eef83f07313bb5f3a0b364d4b6933 (diff) | |
#4470 Plug in Discord SDK package
| -rw-r--r-- | autobuild.xml | 60 | ||||
| -rw-r--r-- | indra/cmake/Copy3rdPartyLibs.cmake | 9 | ||||
| -rw-r--r-- | indra/cmake/Discord.cmake | 10 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | indra/newview/llfloaterpreference.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llpanelpeople.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llspeakers.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 11 | 
8 files changed, 105 insertions, 8 deletions
| diff --git a/autobuild.xml b/autobuild.xml index 777d98640f..4787ed168b 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -2896,6 +2896,64 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>          <key>version</key>          <string>1.0.9-5e8947c</string>        </map> +      <key>discord_sdk</key> +      <map> +        <key>platforms</key> +        <map> +          <key>windows64</key> +          <map> +            <key>archive</key> +            <map> +              <key>creds</key> +              <string>github</string> +              <key>hash</key> +              <string>e11571bf76b27d15c244069988ae372eaa5afae9</string> +              <key>hash_algorithm</key> +              <string>sha1</string> +              <key>url</key> +              <string>https://api.github.com/repos/secondlife/3p-discord-sdk/releases/assets/279333720</string> +            </map> +            <key>name</key> +            <string>windows64</string> +          </map> +          <key>darwin64</key> +          <map> +            <key>archive</key> +            <map> +              <key>creds</key> +              <string>github</string> +              <key>hash</key> +              <string>dc21df8b051c425163acf3eff8f06e32f407c9e0</string> +              <key>hash_algorithm</key> +              <string>sha1</string> +              <key>url</key> +              <string>https://api.github.com/repos/secondlife/3p-discord-sdk/releases/assets/279333706</string> +            </map> +            <key>name</key> +            <string>darwin64</string> +          </map> +        </map> +        <key>license</key> +        <string>discord_sdk</string> +        <key>license_file</key> +        <string>LICENSES/discord_sdk.txt</string> +        <key>copyright</key> +        <string>Discord Inc.</string> +        <key>version</key> +        <string>1.4.9649.16733550144</string> +        <key>name</key> +        <string>discord_sdk</string> +        <key>vcs_branch</key> +        <string>main</string> +        <key>vcs_revision</key> +        <string>ef5c7c4a490ceac2df2b2f046788b1daf1bbb392</string> +        <key>vcs_url</key> +        <string>https://github.com/secondlife/3p-discord-sdk</string> +        <key>canonical_repo</key> +        <string>https://github.com/secondlife/3p-discord-sdk</string> +        <key>description</key> +        <string>Discord Social SDK</string> +      </map>      </map>      <key>package_description</key>      <map> @@ -2917,6 +2975,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>                    <string>-DADDRESS_SIZE:STRING=$AUTOBUILD_ADDRSIZE</string>                    <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>                    <string>-DINSTALL_PROPRIETARY=TRUE</string> +                  <string>-DUSE_DISCORD:BOOL=ON</string>                    <string>-DUSE_OPENAL:BOOL=ON</string>                  </array>                </map> @@ -2959,6 +3018,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>                    <string>-DADDRESS_SIZE:STRING=$AUTOBUILD_ADDRSIZE</string>                    <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>                    <string>-DINSTALL_PROPRIETARY=TRUE</string> +                  <string>-DUSE_DISCORD:BOOL=ON</string>                    <string>-DUSE_OPENAL:BOOL=ON</string>                  </array>                </map> diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 6ac00fd131..de41918a34 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -6,6 +6,7 @@  include(CMakeCopyIfDifferent)  include(Linking) +include(Discord)  include(OPENAL)  # When we copy our dependent libraries, we almost always want to copy them to @@ -75,6 +76,10 @@ if(WINDOWS)        endif(ADDRESS_SIZE EQUAL 32)      endif (USE_BUGSPLAT) +    if (TARGET ll::discord_sdk) +        list(APPEND release_files discord_partner_sdk.dll) +    endif () +      if (TARGET ll::openal)          list(APPEND release_files openal32.dll alut.dll)      endif () @@ -180,6 +185,10 @@ elseif(DARWIN)              )      endif() +    if (TARGET ll::discord_sdk) +      list(APPEND release_files libdiscord_partner_sdk.dylib) +    endif () +      if (TARGET ll::openal)        list(APPEND release_files libalut.dylib libopenal.dylib)      endif () diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake index 2193023a06..d15b4041b1 100644 --- a/indra/cmake/Discord.cmake +++ b/indra/cmake/Discord.cmake @@ -1,9 +1,9 @@  include(Prebuilt) -add_library(ll::discord INTERFACE IMPORTED) -target_compile_definitions(ll::discord INTERFACE LL_DISCORD=1) +add_library(ll::discord_sdk INTERFACE IMPORTED) +target_compile_definitions(ll::discord_sdk INTERFACE LL_DISCORD=1) -use_prebuilt_binary(discord) +use_prebuilt_binary(discord_sdk) -target_include_directories(ll::discord SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) -target_link_libraries(ll::discord INTERFACE discord_partner_sdk) +target_include_directories(ll::discord_sdk SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/discord_sdk) +target_link_libraries(ll::discord_sdk INTERFACE discord_partner_sdk) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 7cc26c7716..035feee898 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1785,6 +1785,12 @@ if (WINDOWS)                 )      endif (ADDRESS_SIZE EQUAL 64) +    if (TARGET ll::discord_sdk) +        list(APPEND COPY_INPUT_DEPENDENCIES +             ${SHARED_LIB_STAGING_DIR}/discord_partner_sdk.dll +             ) +    endif () +      if (TARGET ll::openal)        list(APPEND COPY_INPUT_DEPENDENCIES             ${SHARED_LIB_STAGING_DIR}/OpenAL32.dll @@ -1801,6 +1807,7 @@ if (WINDOWS)          --arch=${ARCH}          --artwork=${ARTWORK_DIR}          "--bugsplat=${BUGSPLAT_DB}" +        "--discord=${USE_DISCORD}"          "--openal=${USE_OPENAL}"          "--tracy=${USE_TRACY}"          --build=${CMAKE_CURRENT_BINARY_DIR} @@ -1839,6 +1846,7 @@ if (WINDOWS)              --arch=${ARCH}              --artwork=${ARTWORK_DIR}              "--bugsplat=${BUGSPLAT_DB}" +            "--discord=${USE_DISCORD}"              "--openal=${USE_OPENAL}"              "--tracy=${USE_TRACY}"              --build=${CMAKE_CURRENT_BINARY_DIR} @@ -1903,6 +1911,7 @@ if (WINDOWS)                --arch=${ARCH}                --artwork=${ARTWORK_DIR}                "--bugsplat=${BUGSPLAT_DB}" +              "--discord=${USE_DISCORD}"                "--openal=${USE_OPENAL}"                "--tracy=${USE_TRACY}"                --build=${CMAKE_CURRENT_BINARY_DIR} @@ -1999,7 +2008,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}          )  if (USE_DISCORD) -   target_link_libraries(${VIEWER_BINARY_NAME} ll::discord ) +   target_link_libraries(${VIEWER_BINARY_NAME} ll::discord_sdk )  endif ()  if( TARGET ll::intel_memops ) @@ -2058,6 +2067,7 @@ if (LINUX)          --arch=${ARCH}          --artwork=${ARTWORK_DIR}          "--bugsplat=${BUGSPLAT_DB}" +        "--discord=${USE_DISCORD}"          "--openal=${USE_OPENAL}"          "--tracy=${USE_TRACY}"          --build=${CMAKE_CURRENT_BINARY_DIR} @@ -2086,6 +2096,7 @@ if (LINUX)        --arch=${ARCH}        --artwork=${ARTWORK_DIR}        "--bugsplat=${BUGSPLAT_DB}" +      "--discord=${USE_DISCORD}"        "--openal=${USE_OPENAL}"        "--tracy=${USE_TRACY}"        --build=${CMAKE_CURRENT_BINARY_DIR} @@ -2162,6 +2173,7 @@ if (DARWIN)        --arch=${ARCH}        --artwork=${ARTWORK_DIR}        "--bugsplat=${BUGSPLAT_DB}" +      "--discord=${USE_DISCORD}"        "--openal=${USE_OPENAL}"        "--tracy=${USE_TRACY}"        --build=${CMAKE_CURRENT_BINARY_DIR} @@ -2197,6 +2209,7 @@ if (DARWIN)                --arch=${ARCH}                --artwork=${ARTWORK_DIR}                "--bugsplat=${BUGSPLAT_DB}" +              "--discord=${USE_DISCORD}"                "--openal=${USE_OPENAL}"                "--tracy=${USE_TRACY}"                --build=${CMAKE_CURRENT_BINARY_DIR} diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 2a6360cef8..c84728248c 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -528,6 +528,10 @@ bool LLFloaterPreference::postBuild()          getChild<LLComboBox>("language_combobox")->add("System default", LLSD("default"), ADD_TOP, true);      } +#ifndef LL_DISCORD +    getChild<LLTabContainer>("privacy_tab_container")->childDisable("privacy_preferences_discord"); +#endif +      return true;  } diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 5e6f1e6a0a..33599357a3 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -845,7 +845,7 @@ void LLPanelPeople::updateNearbyList()      mNearbyList->setDirty();  #ifdef LL_DISCORD      if (gSavedSettings.getBOOL("EnableDiscord")) -        LLAppViewer::updateDiscordPartyMaxSize(mNearbyList->getIDs().size()); +        LLAppViewer::updateDiscordPartyMaxSize((S32)mNearbyList->getIDs().size());  #endif      DISTANCE_COMPARATOR.updateAvatarsPositions(positions, mNearbyList->getIDs()); diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp index 12a9d5e9b7..b49c0119ed 100644 --- a/indra/newview/llspeakers.cpp +++ b/indra/newview/llspeakers.cpp @@ -1028,7 +1028,7 @@ void LLLocalSpeakerMgr::updateSpeakerList()      LLWorld::getInstance()->getAvatars(&avatar_ids, &positions, gAgent.getPositionGlobal(), CHAT_NORMAL_RADIUS);  #ifdef LL_DISCORD      if (gSavedSettings.getBOOL("EnableDiscord")) -        LLAppViewer::updateDiscordPartyCurrentSize(avatar_ids.size()); +        LLAppViewer::updateDiscordPartyCurrentSize((S32)avatar_ids.size());  #endif      for(U32 i=0; i<avatar_ids.size(); i++)      { diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index f66a5c0945..4760ba5a6f 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -556,6 +556,9 @@ class Windows_x86_64_Manifest(ViewerManifest):              ):                  self.path(libfile) +            if self.args['discord'] == 'ON': +                self.path("discord_partner_sdk.dll") +              if self.args['openal'] == 'ON':                  # Get openal dll                  self.path("OpenAL32.dll") @@ -1018,6 +1021,13 @@ class Darwin_x86_64_Manifest(ViewerManifest):                                  ):                      self.path2basename(relpkgdir, libfile) +                # Discord social SDK +                if self.args['DISCORD'] == 'ON': +                    for libfile in ( +                                "libdiscord_partner_sdk.dylib", +                                ): +                        self.path2basename(relpkgdir, libfile) +                  # OpenAL dylibs                  if self.args['openal'] == 'ON':                      for libfile in ( @@ -1384,6 +1394,7 @@ if __name__ == "__main__":      extra_arguments = [          dict(name='bugsplat', description="""BugSplat database to which to post crashes,               if BugSplat crash reporting is desired""", default=''), +        dict(name='discord', description="""Indication discord social sdk libraries are needed""", default='OFF'),          dict(name='openal', description="""Indication openal libraries are needed""", default='OFF'),          dict(name='tracy', description="""Indication tracy profiler is enabled""", default='OFF'),          ] | 
