#4470 Plug in Discord SDK package

master
Andrey Kleshchev 2025-08-04 22:40:13 +03:00 committed by Andrey Kleshchev
parent afcc64cb07
commit 61d53a8731
8 changed files with 105 additions and 8 deletions

View File

@ -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>

View File

@ -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 ()

View File

@ -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)

View File

@ -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}

View File

@ -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;
}

View File

@ -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());

View File

@ -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++)
{

View File

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