summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-08-04 22:40:13 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-08-05 18:26:29 +0300
commit61d53a8731a0d10e94c4c366c31598b3f12198e1 (patch)
treeff75156f11955cd57bc37365340624c6bf83a106
parentafcc64cb073eef83f07313bb5f3a0b364d4b6933 (diff)
#4470 Plug in Discord SDK package
-rw-r--r--autobuild.xml60
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake9
-rw-r--r--indra/cmake/Discord.cmake10
-rw-r--r--indra/newview/CMakeLists.txt15
-rw-r--r--indra/newview/llfloaterpreference.cpp4
-rw-r--r--indra/newview/llpanelpeople.cpp2
-rw-r--r--indra/newview/llspeakers.cpp2
-rwxr-xr-xindra/newview/viewer_manifest.py11
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'),
]