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'), ] |