Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ jobs:
velopack_mac_bundle_id: ${{ steps.build.outputs.velopack_mac_bundle_id }}
env:
# Sets Xcode version used for build
DEVELOPER_DIR: "/Applications/Xcode_26.2.app/Contents/Developer"
DEVELOPER_DIR: "/Applications/Xcode_26.6.app/Contents/Developer"
# Ensure that Linden viewer builds engage Bugsplat.
BUGSPLAT_DB: ${{ needs.setup.outputs.bugsplat_db }}
# Decide if we're building tests or the viewer
Expand Down Expand Up @@ -334,17 +334,17 @@ jobs:
Windows)
cmake_preset_name="vs2026$cmake_preset_postfix"
build_directory="build-Windows-$cmake_preset_name"
vcpkg_triplet="x64-windows-secondlife-release"
vcpkg_triplet="x64-windows-alchemy-release"
;;
macOS)
cmake_preset_name="ninja$cmake_preset_postfix-$BUILD_ARCH"
build_directory="build-Darwin-$cmake_preset_name"
vcpkg_triplet="$BUILD_ARCH-osx-secondlife-release"
vcpkg_triplet="$BUILD_ARCH-osx-alchemy-release"
;;
Linux)
cmake_preset_name="ninja$cmake_preset_postfix"
build_directory="build-Linux-$cmake_preset_name"
vcpkg_triplet="x64-linux-secondlife-release"
vcpkg_triplet="x64-linux-alchemy-release"
;;
esac

Expand Down
2 changes: 1 addition & 1 deletion indra/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ option(ENABLE_SIGNING "Enable signing the viewer" OFF)
set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")

# macOS deploy target(must be set BEFORE first project call)
set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum macOS version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")
set(CMAKE_OSX_DEPLOYMENT_TARGET "14.0" CACHE STRING "Minimum macOS version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")

# Set our supported configuration types
set(CMAKE_CONFIGURATION_TYPES "Debug;OptDebug;RelWithDebInfo;Release" CACHE STRING "Supported build types.")
Expand Down
12 changes: 7 additions & 5 deletions indra/cmake/00-Common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ endif()
if(WINDOWS)
set(CMAKE_MSVC_RUNTIME_CHECKS "$<$<CONFIG:Debug>:StackFrameErrorCheck;UninitializedVariable>")
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT $<IF:$<CONFIG:Debug,OptDebug>,EditAndContinue,ProgramDatabase>)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

# Don't build DLLs.
set(BUILD_SHARED_LIBS OFF)
Expand All @@ -137,10 +137,8 @@ if(WINDOWS)
$<$<CONFIG:Release>:/OPT:ICF>
/DEBUG:FULL
/LARGEADDRESSAWARE
/NODEFAULTLIB:LIBCMT
/NODEFAULTLIB:LIBCMTD
$<$<CONFIG:OptDebug,RelWithDebInfo,Release>:/NODEFAULTLIB:MSVCRTD>
$<$<CONFIG:Debug>:/NODEFAULTLIB:MSVCRT>
$<$<CONFIG:OptDebug,RelWithDebInfo,Release>:/NODEFAULTLIB:LIBCMTD>
$<$<CONFIG:Debug>:/NODEFAULTLIB:LIBCMT>
)

add_compile_definitions(
Expand All @@ -166,6 +164,10 @@ if(WINDOWS)
$<$<CONFIG:Debug>:DISABLE_WEBRTC=1>
)

if(DISABLE_WEBRTC)
add_compile_definitions(DISABLE_WEBRTC=1)
endif()

# Options shared between all configurations
add_compile_options(
/utf-8 # matches macOS and Linux behaviors and allows unicode in source files
Expand Down
24 changes: 12 additions & 12 deletions indra/cmake/BootstrapVcpkg.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ if(NOT DEFINED VCPKG_TARGET_TRIPLET)

if(WIN32)
if(LL_GENERATOR_IS_MULTI_CONFIG)
set(VCPKG_TARGET_TRIPLET "x64-windows-secondlife")
set(VCPKG_TARGET_TRIPLET "x64-windows-alchemy")
else()
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(VCPKG_TARGET_TRIPLET "x64-windows-secondlife")
set(VCPKG_TARGET_TRIPLET "x64-windows-alchemy")
else()
set(VCPKG_TARGET_TRIPLET "x64-windows-secondlife-release")
set(VCPKG_TARGET_TRIPLET "x64-windows-alchemy-release")
endif()
endif()
elseif(APPLE)
Expand All @@ -49,33 +49,33 @@ if(NOT DEFINED VCPKG_TARGET_TRIPLET)
endif()
if(LL_GENERATOR_IS_MULTI_CONFIG)
if(OS_PLATFORM STREQUAL arm64)
set(VCPKG_TARGET_TRIPLET "arm64-osx-secondlife")
set(VCPKG_TARGET_TRIPLET "arm64-osx-alchemy")
else()
set(VCPKG_TARGET_TRIPLET "x64-osx-secondlife")
set(VCPKG_TARGET_TRIPLET "x64-osx-alchemy")
endif()
else()
if(OS_PLATFORM STREQUAL arm64)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(VCPKG_TARGET_TRIPLET "arm64-osx-secondlife")
set(VCPKG_TARGET_TRIPLET "arm64-osx-alchemy")
else()
set(VCPKG_TARGET_TRIPLET "arm64-osx-secondlife-release")
set(VCPKG_TARGET_TRIPLET "arm64-osx-alchemy-release")
endif()
else()
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(VCPKG_TARGET_TRIPLET "x64-osx-secondlife")
set(VCPKG_TARGET_TRIPLET "x64-osx-alchemy")
else()
set(VCPKG_TARGET_TRIPLET "x64-osx-secondlife-release")
set(VCPKG_TARGET_TRIPLET "x64-osx-alchemy-release")
endif()
endif()
endif()
else()
if(LL_GENERATOR_IS_MULTI_CONFIG)
set(VCPKG_TARGET_TRIPLET "x64-linux-secondlife")
set(VCPKG_TARGET_TRIPLET "x64-linux-alchemy")
else()
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(VCPKG_TARGET_TRIPLET "x64-linux-secondlife")
set(VCPKG_TARGET_TRIPLET "x64-linux-alchemy")
else()
set(VCPKG_TARGET_TRIPLET "x64-linux-secondlife-release")
set(VCPKG_TARGET_TRIPLET "x64-linux-alchemy-release")
endif()
endif()
endif()
Expand Down
6 changes: 2 additions & 4 deletions indra/cmake/CURL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,5 @@ add_library( ll::libcurl INTERFACE IMPORTED )
find_package(CURL REQUIRED)
target_link_libraries(ll::libcurl INTERFACE CURL::libcurl)

if(LINUX OR DARWIN)
find_library(NGHTTP2_LIBRARIES nghttp2 REQUIRED)
target_link_libraries(ll::libcurl INTERFACE ${NGHTTP2_LIBRARIES})
endif()
find_library(NGHTTP2_LIBRARIES nghttp2 REQUIRED)
target_link_libraries(ll::libcurl INTERFACE ${NGHTTP2_LIBRARIES})
5 changes: 0 additions & 5 deletions indra/cmake/Collada-Dom.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ find_path(COLLADA_DOM_INCLUDE_DIRS NAMES dae.h PATHS "${_VCPKG_INSTALLED_DIR}/${

target_include_directories(ll::colladadom SYSTEM INTERFACE "${COLLADA_DOM_INCLUDE_DIRS}" "${COLLADA_DOM_INCLUDE_DIRS}/1.4")

if(WINDOWS)
target_compile_definitions(ll::colladadom INTERFACE DOM_DYNAMIC=1)
endif()


find_library(COLLADA14_LIBRARY_RELEASE
NAMES collada14dom
PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib"
Expand Down
62 changes: 31 additions & 31 deletions indra/cmake/Copy3rdPartyLibs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,40 +41,40 @@ if(WINDOWS)
set(vcpkg_lib_dir "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")

# Files that vcpkg fails to automatically stage
set(release_libs "legacy.dll") # OpenSSL legacy engine
# set(release_libs "legacy.dll") # OpenSSL legacy engine

#*******************************
# Copy MS C runtime dlls, required for packaging.
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
include(InstallRequiredSystemLibraries)

foreach(system_lib_file IN LISTS CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
get_filename_component(system_lib_directory ${system_lib_file} DIRECTORY)
get_filename_component(system_lib_filename ${system_lib_file} NAME )
MESSAGE(DEBUG "Copying redist file from ${system_lib_directory}/${system_lib_filename}")
to_staging_dirs(
${system_lib_directory}
third_party_targets
${system_lib_filename}
)
to_viewer_staging_dirs(
${system_lib_directory}
third_party_targets
${system_lib_filename}
)
to_viewer_staging_subdirs(
"llplugin"
${system_lib_directory}
third_party_targets
${system_lib_filename}
)
endforeach()

to_viewer_staging_dirs(
${vcpkg_lib_dir}
third_party_targets
${release_libs}
)
# set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
# include(InstallRequiredSystemLibraries)

# foreach(system_lib_file IN LISTS CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
# get_filename_component(system_lib_directory ${system_lib_file} DIRECTORY)
# get_filename_component(system_lib_filename ${system_lib_file} NAME )
# MESSAGE(DEBUG "Copying redist file from ${system_lib_directory}/${system_lib_filename}")
# to_staging_dirs(
# ${system_lib_directory}
# third_party_targets
# ${system_lib_filename}
# )
# to_viewer_staging_dirs(
# ${system_lib_directory}
# third_party_targets
# ${system_lib_filename}
# )
# to_viewer_staging_subdirs(
# "llplugin"
# ${system_lib_directory}
# third_party_targets
# ${system_lib_filename}
# )
# endforeach()

# to_viewer_staging_dirs(
# ${vcpkg_lib_dir}
# third_party_targets
# ${release_libs}
# )
Comment thread
RyeMutt marked this conversation as resolved.

if(USE_FMODSTUDIO)
list(APPEND fmod_libs
Expand Down
5 changes: 5 additions & 0 deletions indra/newview/llvoiceclient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
#include "lltrans.h"
#include "llmutelist.h"
#include "llnearbyvoicemoderation.h"
#include "llviewerregion.h"

const F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f;

Expand Down Expand Up @@ -186,10 +187,12 @@ void LLVoiceClient::userAuthorized(const std::string& user_id, const LLUUID &age
void LLVoiceClient::handleSimulatorFeaturesReceived(const LLSD &simulatorFeatures)
{
std::string voiceServerType = simulatorFeatures["VoiceServerType"].asString();
#ifndef DISABLE_WEBRTC
if (voiceServerType.empty())
{
voiceServerType = WEBRTC_VOICE_SERVER_TYPE;
}
#endif
Comment thread
RyeMutt marked this conversation as resolved.

if (mSpatialVoiceModule && !mNonSpatialVoiceModule)
{
Expand Down Expand Up @@ -600,12 +603,14 @@ LLVoiceP2POutgoingCallInterface *LLVoiceClient::getOutgoingCallInterface(const L
LLVoiceVersionInfo versionInfo = LLVoiceClient::getInstance()->getVersion();
voice_server_type = versionInfo.internalVoiceServerType;
}
#ifndef DISABLE_WEBRTC
if (voiceChannelInfo.has("voice_server_type") && voiceChannelInfo["voice_server_type"] != voice_server_type)
{
// there's a mismatch between what the peer is offering and what our server
// can handle, so default to webrtc
voice_server_type = WEBRTC_VOICE_SERVER_TYPE;
}
#endif
LLVoiceModuleInterface *module = getVoiceModule(voice_server_type);
return dynamic_cast<LLVoiceP2POutgoingCallInterface *>(module);
}
Expand Down
2 changes: 1 addition & 1 deletion indra/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"builtin-baseline": "cd61e1e26a038e82d6550a3ebbe0fbbfe7da78e3",
"builtin-baseline": "a0400024711b283056538ac19ced80b91a83c24c",
"dependencies": [
"alchemy-branding",
"alchemy-dictionaries",
Expand Down
1 change: 1 addition & 0 deletions indra/vcpkg/ports/apr/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "apr",
"version": "1.7.6",
"port-version": 1,
"description": "The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems.",
"homepage": "https://apr.apache.org/",
"license": "Apache-2.0",
Expand Down
16 changes: 11 additions & 5 deletions indra/vcpkg/ports/cef-bin/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,17 @@ vcpkg_extract_source_archive(
)

if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_cmake_configure(
SOURCE_PATH ${CEF_SOURCE_PATH}
OPTIONS
-DCEF_RUNTIME_LIBRARY_FLAG="/MD"
)
if(VCPKG_CRT_LINKAGE MATCHES "dynamic")
vcpkg_cmake_configure(
SOURCE_PATH ${CEF_SOURCE_PATH}
OPTIONS
-DCEF_RUNTIME_LIBRARY_FLAG="/MD"
)
else()
vcpkg_cmake_configure(
SOURCE_PATH ${CEF_SOURCE_PATH}
)
endif()
elseif(VCPKG_TARGET_IS_OSX)
vcpkg_cmake_configure(
SOURCE_PATH ${CEF_SOURCE_PATH}
Expand Down
2 changes: 1 addition & 1 deletion indra/vcpkg/ports/faudio/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO FNA-XNA/faudio
REF "${FAUDIO_REF}"
SHA512 523298017bfbcea2739a18406ed6860e45713049b503558e91f5e6de98993c6e6654c7358bc861a9337d74a12a0cd89f5ecac49ae9734b4856384062a64c79d0
SHA512 e2efecf88bf62232da7b3ac04e21c19ae801ebe05c185c4b1775e2deae7dc9d95de7140ef5759439ca94b6cb4cf3a03cc08cf84c781d0d8a906964ee36876cbc
HEAD_REF master
PATCHES
# Apple's arm64 linker (Xcode 26+) rejects merged globals where a
Expand Down
3 changes: 1 addition & 2 deletions indra/vcpkg/ports/faudio/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "faudio",
"version": "26.5",
"port-version": 1,
"version": "26.6",
"description": "FAudio - accuracy-focused XAudio reimplementation for open platforms",
"homepage": "https://fna-xna.github.io/",
"license": "Zlib",
Expand Down
22 changes: 6 additions & 16 deletions indra/vcpkg/ports/freetype/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ vcpkg_from_gitlab(
brotli-static.patch
bzip2.patch
fix-exports.patch
harffbuzzwin.patch
${SUBPIXEL_RENDERING_PATCH}
)

Expand All @@ -34,21 +33,12 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
brotli FT_DISABLE_BROTLI
)

if (VCPKG_TARGET_IS_WINDOWS)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DFT_DYNAMIC_HARFBUZZ=ON
${FEATURE_OPTIONS}
)
else()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DFT_DISABLE_HARFBUZZ=ON
${FEATURE_OPTIONS}
)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DFT_DISABLE_HARFBUZZ=ON
${FEATURE_OPTIONS}
)

vcpkg_cmake_install()
vcpkg_copy_pdbs()
Expand Down
6 changes: 5 additions & 1 deletion indra/vcpkg/ports/tracy/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,11 @@ vcpkg_cmake_configure(
vcpkg_cmake_install()
# Need to manually fix debug file locations on windows
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_BUILD_TYPE STREQUAL "release")
file(COPY_FILE "${CURRENT_PACKAGES_DIR}/debug/bin/Debug/TracyClient.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/TracyClient.dll")
if(VCPKG_LIBRARY_LINKAGE MATCHES "static")
file(COPY_FILE "${CURRENT_PACKAGES_DIR}/debug/lib/Debug/TracyClient.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/TracyClient.lib")
else()
file(COPY_FILE "${CURRENT_PACKAGES_DIR}/debug/bin/Debug/TracyClient.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/TracyClient.dll")
endif()
endif()

vcpkg_copy_pdbs()
Expand Down
Loading
Loading