summaryrefslogtreecommitdiff
path: root/indra/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake')
-rw-r--r--indra/cmake/00-Common.cmake2
-rw-r--r--indra/cmake/APR.cmake2
-rw-r--r--indra/cmake/Boost.cmake4
-rw-r--r--indra/cmake/CEFPlugin.cmake96
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake60
-rw-r--r--indra/cmake/Discord.cmake13
-rw-r--r--indra/cmake/GLM.cmake2
-rw-r--r--indra/cmake/LLPrimitive.cmake232
-rw-r--r--indra/cmake/LibVLCPlugin.cmake2
-rw-r--r--indra/cmake/OPENAL.cmake38
-rw-r--r--indra/cmake/OpenGL.cmake2
-rw-r--r--indra/cmake/UI.cmake6
-rw-r--r--indra/cmake/UnixInstall.cmake6
-rw-r--r--indra/cmake/ViewerMiscLibs.cmake11
-rw-r--r--indra/cmake/WebRTC.cmake30
15 files changed, 247 insertions, 259 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 4b007ceec9..3e1dab7c00 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -154,7 +154,7 @@ if (LINUX OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
--param asan-stack=0
)
add_link_options(-fsanitize=address)
- elseif( NOT USE_FLATPAK )
+ elseif( NOT (${LINUX_DISTRO} MATCHES freedesktop) )
add_compile_definitions( _FORTIFY_SOURCE=2 )
endif()
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake
index b7ada1cfb1..ef541388d8 100644
--- a/indra/cmake/APR.cmake
+++ b/indra/cmake/APR.cmake
@@ -5,7 +5,7 @@ include_guard()
add_library( ll::apr INTERFACE IMPORTED )
-if (NOT USE_FLATPAK)
+if (NOT (${LINUX_DISTRO} MATCHES freedesktop))
if (WINDOWS)
target_include_directories(ll::apr SYSTEM INTERFACE ${prefix_result}/../include)
target_link_directories(ll::apr INTERFACE ${prefix_result})
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index a6e60aa95b..9746704907 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -28,10 +28,10 @@ elseif (WINDOWS)
message(WARNING "Could not detect Boost suffix via glob; using fallback '${sfx}'. "
"Check that vcpkg installed boost into ${prefix_result}.")
endif ()
-elseif (NOT USE_FLATPAK)
+elseif (NOT (${LINUX_DISTRO} MATCHES freedesktop))
find_package( Boost )
endif ()
-if (NOT USE_FLATPAK)
+if (NOT (${LINUX_DISTRO} MATCHES freedesktop))
target_link_libraries( ll::boost INTERFACE
boost_context${sfx}
boost_fiber${sfx}
diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake
index 2546ec7993..269afcc456 100644
--- a/indra/cmake/CEFPlugin.cmake
+++ b/indra/cmake/CEFPlugin.cmake
@@ -5,7 +5,7 @@ include(Prebuilt)
include_guard()
add_library( ll::cef INTERFACE IMPORTED )
-if (${LINUX_DISTRO} MATCHES arch)
+if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64))
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0)
file(
COPY /usr/src/cef/libcef_dll
@@ -29,26 +29,26 @@ if (${LINUX_DISTRO} MATCHES arch)
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
endif ()
- if (NOT EXISTS ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9.tar.gz)
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme.tar.gz)
file(DOWNLOAD
- https://github.com/secondlife/dullahan/archive/refs/tags/v1.31.0-CEF_148.0.9.tar.gz
- ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9.tar.gz
+ https://github.com/secondlife/dullahan/archive/refs/tags/v1.40.0-CEF_150.0.19.embed_scheme.tar.gz
+ ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme.tar.gz
)
endif ()
file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9.tar.gz
+ INPUT ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
)
try_compile(DULLAHAN_RESULT
PROJECT dullahan
- SOURCE_DIR ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9
- BINARY_DIR ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme
+ BINARY_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme
CMAKE_FLAGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
-DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE}
-DCEF_WRAPPER_DIR:PATH=/usr/include/cef
- -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9
+ -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme
-DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/lib/cef/libcef.so
-DCEF_DLL_LIBRARY_RELEASE:FILEPATH=${ARCH_PREBUILT_DIRS_RELEASE}/libcef_dll_wrapper.a
"-DCMAKE_CXX_FLAGS:STRING=-I/usr/include/cef -I/usr/src/cef -DWRAPPING_CEF_SHARED"
@@ -56,18 +56,24 @@ if (${LINUX_DISTRO} MATCHES arch)
if (${DULLAHAN_RESULT})
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release)
file(
- COPY ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9/dullahan_host
+ COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/dullahan_host
DESTINATION ${LIBS_PREBUILT_DIR}/bin/release
)
+ if (CMAKE_BUILD_TYPE MATCHES Release)
+ execute_process(
+ COMMAND ${CMAKE_STRIP} dullahan_host
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release
+ )
+ endif ()
file(
- COPY ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9/libdullahan.a
+ COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/libdullahan.a
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/cef)
file(
COPY
- ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9/src/dullahan.h
- ${CMAKE_BINARY_DIR}/dullahan-1.31.0-CEF_148.0.9/src/dullahan_version.h
+ ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/src/dullahan.h
+ ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/src/dullahan_version.h
DESTINATION ${LIBS_PREBUILT_DIR}/include/cef
)
file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "0")
@@ -127,6 +133,12 @@ elseif (${LINUX_DISTRO} MATCHES fedora)
COPY ${CMAKE_BINARY_DIR}/dullahan-1.29.0-CEF_146.0.12/dullahan_host
DESTINATION ${LIBS_PREBUILT_DIR}/bin/release
)
+ if (CMAKE_BUILD_TYPE MATCHES Release)
+ execute_process(
+ COMMAND ${CMAKE_STRIP} dullahan_host
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release
+ )
+ endif ()
file(
COPY ${CMAKE_BINARY_DIR}/dullahan-1.29.0-CEF_146.0.12/libdullahan.a
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
@@ -172,11 +184,29 @@ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64)
-DPROJECT_ARCH:STRING=${CMAKE_SYSTEM_PROCESSOR}
)
if (${DULLAHAN_RESULT})
+ if (CMAKE_BUILD_TYPE MATCHES Release)
+ execute_process(
+ COMMAND ${CMAKE_STRIP}
+ chrome-sandbox
+ libEGL.so
+ libGLESv2.so
+ libcef.so
+ libvk_swiftshader.so
+ libvulkan.so.1
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dullahan-1.24.0-CEF_139.0.40/_deps/cef_prebuild-src/${CMAKE_BUILD_TYPE}
+ )
+ endif ()
execute_process(
COMMAND ${CMAKE_MAKE_PROGRAM} install
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dullahan-1.24.0-CEF_139.0.40
OUTPUT_VARIABLE dullahan_installed
)
+ if (CMAKE_BUILD_TYPE MATCHES Release)
+ execute_process(
+ COMMAND ${CMAKE_STRIP} dullahan_host
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release
+ )
+ endif ()
file(
COPY
${CMAKE_BINARY_DIR}/dullahan-1.24.0-CEF_139.0.40/src/dullahan.h
@@ -189,23 +219,6 @@ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64)
else ()
use_prebuilt_binary(dullahan)
endif ()
-
-execute_process(
- COMMAND patchelf --set-rpath ${INSTALL_LIBRARY_DIR} bin/release/dullahan_host
- WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}
-)
-
-if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))
- target_include_directories( ll::cef SYSTEM INTERFACE /usr/include/cef/include)
- if (${LINUX_DISTRO} MATCHES fedora)
- set(LIB_SUFFIX ${ADDRESS_SIZE})
- endif ()
- execute_process(
- COMMAND patchelf --add-rpath ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef bin/release/dullahan_host
- WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}
- )
-endif ()
-
target_include_directories( ll::cef SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/cef)
if (WINDOWS)
@@ -270,13 +283,34 @@ elseif (DARWIN)
-output libdullahan.a
WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}
)
-
elseif (LINUX)
- if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))
+ if (NOT (${LINUX_DISTRO} MATCHES freedesktop))
+ execute_process(
+ COMMAND patchelf --set-rpath ${INSTALL_LIBRARY_DIR} dullahan_host
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release
+ )
+ endif ()
+ if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora))
+ target_include_directories( ll::cef SYSTEM INTERFACE /usr/include/cef/include)
if (${LINUX_DISTRO} MATCHES fedora)
set(LIB_SUFFIX ${ADDRESS_SIZE})
endif ()
target_link_directories( ll::cef INTERFACE ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef )
+ execute_process(
+ COMMAND patchelf --add-rpath ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef dullahan_host
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release
+ )
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 AND (CMAKE_BUILD_TYPE MATCHES Release))
+ execute_process(
+ COMMAND ${CMAKE_STRIP}
+ bin/release/chrome-sandbox
+ bin/release/dullahan_host
+ lib/release/libEGL.so
+ lib/release/libGLESv2.so
+ lib/release/libvk_swiftshader.so
+ lib/release/libvulkan.so.1
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}
+ )
endif ()
target_link_libraries( ll::cef INTERFACE
libdullahan.a
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 680f2f3ac2..667a04a1c5 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -29,29 +29,6 @@ endmacro()
###################################################################
if(WINDOWS)
#*******************************
- # VIVOX - *NOTE: no debug version
- set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
-
- # ND, it seems there is no such thing defined. At least when building a viewer
- # Does this maybe matter on some LL buildserver? Otherwise this and the snippet using slvoice_src_dir
- # can all go
- if( ARCH_PREBUILT_BIN_RELEASE )
- set(slvoice_src_dir "${ARCH_PREBUILT_BIN_RELEASE}")
- endif()
- set(slvoice_files SLVoice.exe )
- if (ADDRESS_SIZE EQUAL 64)
- list(APPEND vivox_libs
- vivoxsdk_x64.dll
- ortp_x64.dll
- )
- else (ADDRESS_SIZE EQUAL 64)
- list(APPEND vivox_libs
- vivoxsdk.dll
- ortp.dll
- )
- endif (ADDRESS_SIZE EQUAL 64)
-
- #*******************************
# Misc shared libs
set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
@@ -159,12 +136,6 @@ if(WINDOWS)
endforeach()
elseif(DARWIN)
- set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
- set(slvoice_files SLVoice)
- set(vivox_libs
- libortp.dylib
- libvivoxsdk.dylib
- )
set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}")
set(debug_files
)
@@ -188,15 +159,6 @@ elseif(LINUX)
set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}")
set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}")
- set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
- set(vivox_libs
- libsndfile.so.1
- libortp.so
- libvivoxoal.so.1
- libvivoxsdk.so
- )
- set(slvoice_files SLVoice)
-
# *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables
# or ARCH_PREBUILT_DIRS
set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}")
@@ -226,8 +188,6 @@ elseif(LINUX)
else(WINDOWS)
message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...")
- set(vivox_lib_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux")
- set(vivox_libs "")
# *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables
# or ARCH_PREBUILT_DIRS
set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug")
@@ -249,26 +209,6 @@ endif(WINDOWS)
# Done building the file lists, now set up the copy commands.
################################################################
-# Curiously, slvoice_files are only copied to SHARED_LIB_STAGING_DIR_RELEASE.
-# It's unclear whether this is oversight or intentional, but anyway leave the
-# single copy_if_different command rather than using to_staging_dirs.
-
-if( slvoice_src_dir )
- copy_if_different(
- ${slvoice_src_dir}
- "${SHARED_LIB_STAGING_DIR_RELEASE}"
- out_targets
- ${slvoice_files}
- )
- list(APPEND third_party_targets ${out_targets})
-endif()
-
-to_staging_dirs(
- ${vivox_lib_dir}
- third_party_targets
- ${vivox_libs}
- )
-
to_staging_dirs(
${release_src_dir}
third_party_targets
diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake
index 51dd06ce0c..4893886afc 100644
--- a/indra/cmake/Discord.cmake
+++ b/indra/cmake/Discord.cmake
@@ -8,8 +8,13 @@ target_compile_definitions(ll::discord_sdk INTERFACE LL_DISCORD=1)
#use_prebuilt_binary(discord_sdk)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/discord_sdk_installed OR NOT ${discord_sdk_installed} EQUAL 0)
+ if (${LINUX_DISTRO} MATCHES gentoo)
+ set(PREFIX_PATH /var/cache/distfiles)
+ else ()
+ set(PREFIX_PATH $ENV{HOME}/Downloads)
+ endif ()
file(ARCHIVE_EXTRACT
- INPUT $ENV{HOME}/Downloads/DiscordSocialSdk-1.9.17379.zip
+ INPUT ${PREFIX_PATH}/DiscordSocialSdk-1.10.18687.zip
DESTINATION ${CMAKE_BINARY_DIR}
)
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/discord_sdk)
@@ -45,6 +50,12 @@ if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKIN
COPY ${CMAKE_BINARY_DIR}/discord_social_sdk/lib/release${DISCORD_PLATFORM}/${LIBRARY_PREFIX}discord_partner_sdk.${LIBRARY_EXTENSION}
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
+ if (CMAKE_BUILD_TYPE MATCHES Release AND LINUX)
+ execute_process(
+ COMMAND ${CMAKE_STRIP} libdiscord_partner_sdk.so
+ WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}
+ )
+ endif ()
endif ()
file(WRITE ${PREBUILD_TRACKING_DIR}/discord_sdk_installed "0")
endif ()
diff --git a/indra/cmake/GLM.cmake b/indra/cmake/GLM.cmake
index d804774ff6..c7d0ec3aed 100644
--- a/indra/cmake/GLM.cmake
+++ b/indra/cmake/GLM.cmake
@@ -4,7 +4,7 @@ include(Prebuilt)
add_library( ll::glm INTERFACE IMPORTED )
#use_system_binary( glm )
-if (USE_FLATPAK OR (${LINUX_DISTRO} MATCHES debian) OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))
+if (${LINUX_DISTRO} MATCHES freedesktop OR (${LINUX_DISTRO} MATCHES debian) OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64))
use_prebuilt_binary(glm)
elseif (NOT WINDOWS)
find_package( glm REQUIRED )
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index eb1f23b2a3..144f92118b 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -18,57 +18,96 @@ if( USE_CONAN )
"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" )
endif()
-if (NOT USE_FLATPAK)
- include(FindPkgConfig)
- pkg_check_modules(Minizip REQUIRED minizip)
- if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES gentoo) OR DARWIN OR WINDOWS)
+#use_system_binary( colladadom )
+
+#use_prebuilt_binary(colladadom)
+if (${LINUX_DISTRO} MATCHES freedesktop)
+use_prebuilt_binary(minizip-ng) # needed for colladadom
+#use_prebuilt_binary(libxml2)
+
+find_library(MINIZIPNG_LIBRARY
+ NAMES
+ minizip.lib
+ libminizip.a
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+target_link_libraries(ll::minizip-ng INTERFACE ${MINIZIPNG_LIBRARY})
+endif ()
+
+if (FALSE)
+find_library(LIBXML2_LIBRARY
+ NAMES
+ libxml2.lib
+ libxml2.a
+ PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+
+target_link_libraries(ll::libxml INTERFACE ${LIBXML2_LIBRARY})
+
+if (WINDOWS)
+ target_link_libraries( ll::libxml INTERFACE Bcrypt.lib)
+endif()
+endif (FALSE)
+
+include(FindPkgConfig)
+if (NOT (${LINUX_DISTRO} MATCHES freedesktop))
+ pkg_search_module(Minizip REQUIRED minizip)
+endif ()
+if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES gentoo) OR DARWIN OR WINDOWS)
set(Minizip_INCLUDE_DIRS ${Minizip_INCLUDE_DIRS}/minizip)
- endif ()
- pkg_check_modules(Libxml2 REQUIRED libxml-2.0)
- target_link_libraries( ll::minizip-ng INTERFACE ${Minizip_LIBRARIES} )
- target_link_libraries( ll::libxml INTERFACE ${Libxml2_LIBRARIES} )
- if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0)
+elseif (${LINUX_DISTRO} MATCHES freedesktop)
+ set(Minizip_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/minizip-ng)
+ set(Minizip_LIBRARY_DIRS ${ARCH_PREBUILT_DIRS_RELEASE})
+endif ()
+pkg_search_module(Libxml2 REQUIRED libxml-2.0)
+target_link_libraries( ll::minizip-ng INTERFACE ${Minizip_LIBRARIES} )
+target_link_libraries( ll::libxml INTERFACE ${Libxml2_LIBRARIES} )
+if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0)
if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11.tar.gz)
- file(DOWNLOAD
- https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r11.tar.gz
- ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11.tar.gz
+ file(DOWNLOAD
+ https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r11.tar.gz
+ ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11.tar.gz
)
endif ()
file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11.tar.gz
- DESTINATION ${CMAKE_BINARY_DIR}
+ INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
)
if (WINDOWS OR CMAKE_COMMAND MATCHES /usr/bin/cmake)
- execute_process(
- COMMAND sed -i "s/include_directories/cmake_minimum_required(VERSION 3.28)\\ninclude_directories/" CMakeLists.txt
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ execute_process(
+ COMMAND sed -i "s/include_directories/cmake_minimum_required(VERSION 3.28)\\ninclude_directories/" CMakeLists.txt
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
)
else ()
- execute_process(
- COMMAND sed -i "" -e "s/include_directories/cmake_minimum_required(VERSION 3.28)\\ninclude_directories/" CMakeLists.txt
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ execute_process(
+ COMMAND sed -i "" -e "s/include_directories/cmake_minimum_required(VERSION 3.28)\\ninclude_directories/" CMakeLists.txt
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
)
endif ()
if (WINDOWS)
- execute_process(
- COMMAND sed -i "s/SHARED/STATIC/" 1.4/CMakeLists.txt
- COMMAND sed -i "/#include <cstdarg>/a #define WIN32" dae/daeUtils.cpp
- COMMAND sed -i "/using namespace cdom;/a namespace boost{void boost::throw_exception(class std::exception const &){}}" dae/daeURI.cpp
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/src
+ execute_process(
+ COMMAND sed -i "s/SHARED/STATIC/" 1.4/CMakeLists.txt
+ COMMAND sed -i "/#include <cstdarg>/a #define WIN32" dae/daeUtils.cpp
+ COMMAND sed -i "/using namespace cdom;/a namespace boost{void boost::throw_exception(class std::exception const &){}}" dae/daeURI.cpp
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/src
+ )
+ elseif (CMAKE_COMMAND MATCHES /usr/bin/cmake)
+ execute_process(
+ COMMAND sed -i "s/SHARED/STATIC/" src/1.4/CMakeLists.txt
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
)
else ()
- execute_process(
- COMMAND sed -i "" -e "s/SHARED/STATIC/" src/1.4/CMakeLists.txt
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ execute_process(
+ COMMAND sed -i "" -e "s/SHARED/STATIC/" src/1.4/CMakeLists.txt
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
)
endif ()
if (DARWIN)
- set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.88/include)
- set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.88/lib)
- set(BOOST_LIBRARY_SUFFIX -mt)
+ set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.88/include)
+ set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.88/lib)
+ set(BOOST_LIBRARY_SUFFIX -mt)
elseif (WINDOWS)
- set(BOOST_CFLAGS -I${prefix_result}/../include)
- set(BOOST_LIBS -L${prefix_result})
+ set(BOOST_CFLAGS -I${prefix_result}/../include)
+ set(BOOST_LIBS -L${prefix_result})
# Detect actual toolset/version suffix from vcpkg-installed libs.
file(GLOB _boost_context_libs "${prefix_result}/boost_context-*.lib")
if (_boost_context_libs)
@@ -84,98 +123,71 @@ if (NOT USE_FLATPAK)
message(WARNING "Could not detect Boost suffix via glob in LLPrimitive; using fallback.")
endif ()
elseif (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
- set(BOOST_CFLAGS -I/usr/local/include)
- execute_process(
- COMMAND sed -i "" -e "s/endif 0/endif/" dae/daeUtils.cpp
- COMMAND sed -i "" -e "s/linux/FreeBSD/" dae/daeUtils.cpp
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/src
+ set(BOOST_CFLAGS -I/usr/local/include)
+ execute_process(
+ COMMAND sed -i "" -e "s/endif 0/endif/" dae/daeUtils.cpp
+ COMMAND sed -i "" -e "s/linux/FreeBSD/" dae/daeUtils.cpp
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/src
)
+ elseif (${LINUX_DISTRO} MATCHES freedesktop)
+ set(BOOST_CFLAGS -I${LIBS_PREBUILT_DIR}/include)
+ set(BOOST_LIBS -L${ARCH_PREBUILT_DIRS_RELEASE})
endif ()
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/collada/1.4)
try_compile(COLLADADOM_RESULT
- PROJECT colladadom
- SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
- BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
- TARGET collada14dom
- CMAKE_FLAGS
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
- -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
- -DCMAKE_CXX_STANDARD:STRING=17
- -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
- -DBoost_CFLAGS:STRING=${BOOST_CFLAGS}
- -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS}
- "-DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} ${BOOST_LIBS}"
- -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem${BOOST_LIBRARY_SUFFIX}
- -DBoost_SYSTEM_LIBRARY:STRING=boost_system${BOOST_LIBRARY_SUFFIX}
- -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES}
- -DOPT_COLLADA14:BOOL=ON
- -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada
+ PROJECT colladadom
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ TARGET collada14dom
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
+ -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
+ -DCMAKE_CXX_STANDARD:STRING=17
+ -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
+ -DBoost_CFLAGS:STRING=${BOOST_CFLAGS}
+ -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS}
+ "-DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} ${BOOST_LIBS}"
+ -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem${BOOST_LIBRARY_SUFFIX}
+ -DBoost_SYSTEM_LIBRARY:STRING=boost_system${BOOST_LIBRARY_SUFFIX}
+ -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES}
+ -DOPT_COLLADA14:BOOL=ON
+ -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada
)
if (WINDOWS)
- execute_process(
- COMMAND MSBuild.exe ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/Project.slnx -p:Configuration=${CMAKE_BUILD_TYPE}
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
- OUTPUT_VARIABLE colladadom_installed
+ execute_process(
+ COMMAND MSBuild.exe ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/Project.slnx -p:Configuration=${CMAKE_BUILD_TYPE}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ OUTPUT_VARIABLE colladadom_installed
)
- file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada)
- file(
- COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/include
- DESTINATION ${LIBS_PREBUILT_DIR}/include
+ file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada)
+ file(
+ COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/include
+ DESTINATION ${LIBS_PREBUILT_DIR}/include
)
- file(RENAME
- ${LIBS_PREBUILT_DIR}/include/include
- ${LIBS_PREBUILT_DIR}/include/collada
+ file(RENAME
+ ${LIBS_PREBUILT_DIR}/include/include
+ ${LIBS_PREBUILT_DIR}/include/collada
)
- file(MAKE_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE})
- file(RENAME
- ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/src/1.4/${CMAKE_BUILD_TYPE}/collada14dom.lib
- ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom23-s.lib
+ file(MAKE_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE})
+ file(RENAME
+ ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11/src/1.4/${CMAKE_BUILD_TYPE}/collada14dom.lib
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom23-s.lib
)
elseif (${COLLADADOM_RESULT})
- execute_process(
- COMMAND ${CMAKE_MAKE_PROGRAM} install
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
- OUTPUT_VARIABLE colladadom_installed
+ execute_process(
+ COMMAND ${CMAKE_MAKE_PROGRAM} install
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r11
+ OUTPUT_VARIABLE colladadom_installed
)
- file(RENAME
- ${ARCH_PREBUILT_DIRS}/libcollada14dom.a
- ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a
+ file(RENAME
+ ${ARCH_PREBUILT_DIRS}/libcollada14dom.a
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a
)
endif ()
file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}")
- endif ()
-
-else (NOT USE_FLATPAK)
-
-#use_system_binary( colladadom )
-
-use_prebuilt_binary(colladadom)
-use_prebuilt_binary(minizip-ng) # needed for colladadom
-use_prebuilt_binary(libxml2)
-
-find_library(MINIZIPNG_LIBRARY
- NAMES
- minizip.lib
- libminizip.a
- PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
-
-target_link_libraries(ll::minizip-ng INTERFACE ${MINIZIPNG_LIBRARY})
-
-find_library(LIBXML2_LIBRARY
- NAMES
- libxml2.lib
- libxml2.a
- PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
-
-target_link_libraries(ll::libxml INTERFACE ${LIBXML2_LIBRARY})
-
-if (WINDOWS)
- target_link_libraries( ll::libxml INTERFACE Bcrypt.lib)
-endif()
-
-endif (NOT USE_FLATPAK)
+endif ()
target_include_directories( ll::colladadom SYSTEM INTERFACE
${LIBS_PREBUILT_DIR}/include/collada
diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake
index e8cd051021..7ff9a9e651 100644
--- a/indra/cmake/LibVLCPlugin.cmake
+++ b/indra/cmake/LibVLCPlugin.cmake
@@ -27,7 +27,7 @@ if (DARWIN)
target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include)
target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib)
target_link_libraries( ll::libvlc INTERFACE vlc vlccore )
-elseif (WINDOWS OR USE_FLATPAK)
+elseif (WINDOWS OR (${LINUX_DISTRO} MATCHES freedesktop))
use_prebuilt_binary(vlc-bin)
if (WINDOWS)
set(LIB_SUFFIX lib)
diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake
index 3a36c64fd3..94c3b0fcf6 100644
--- a/indra/cmake/OPENAL.cmake
+++ b/indra/cmake/OPENAL.cmake
@@ -18,21 +18,26 @@ endif()
if (USE_OPENAL)
add_library( ll::openal INTERFACE IMPORTED )
-
- if (NOT USE_FLATPAK)
- target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
- include(FindPkgConfig)
- pkg_check_modules(Openal REQUIRED freealut)
- target_include_directories(ll::openal SYSTEM INTERFACE ${Openal_INCLUDE_DIRS})
- target_link_directories(ll::openal INTERFACE ${Openal_LIBRARY_DIRS})
- target_link_libraries(ll::openal INTERFACE ${Openal_LIBRARIES})
- return ()
- endif ()
-
+ if (${LINUX_DISTRO} MATCHES freedesktop)
target_include_directories( ll::openal SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/AL")
+ endif ()
target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
+ if (${LINUX_DISTRO} MATCHES freedesktop)
use_prebuilt_binary(openal)
+ file(REMOVE
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1.24.2
+ ${LIBS_PREBUILT_DIR}/include/AL/al.h
+ ${LIBS_PREBUILT_DIR}/include/AL/alc.h
+ ${LIBS_PREBUILT_DIR}/include/AL/alext.h
+ ${LIBS_PREBUILT_DIR}/include/AL/efx-creative.h
+ ${LIBS_PREBUILT_DIR}/include/AL/efx-presets.h
+ ${LIBS_PREBUILT_DIR}/include/AL/efx.h
+ )
+ endif ()
+ if (FALSE)
find_library(OPENAL_LIBRARY
NAMES
OpenAL32
@@ -40,7 +45,11 @@ if (USE_OPENAL)
libopenal.dylib
libopenal.so
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
+ endif ()
+ include(FindPkgConfig)
+ if (${LINUX_DISTRO} MATCHES freedesktop)
+ pkg_search_module(Openal REQUIRED openal)
find_library(ALUT_LIBRARY
NAMES
alut
@@ -49,5 +58,12 @@ if (USE_OPENAL)
PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH)
target_link_libraries(ll::openal INTERFACE ${OPENAL_LIBRARY} ${ALUT_LIBRARY})
+ else ()
+ pkg_search_module(Openal REQUIRED freealut)
+ endif ()
+
+ target_include_directories(ll::openal SYSTEM INTERFACE ${Openal_INCLUDE_DIRS})
+ target_link_directories(ll::openal INTERFACE ${Openal_LIBRARY_DIRS})
+ target_link_libraries(ll::openal INTERFACE ${Openal_LIBRARIES})
endif ()
diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake
index 5e00eff3b8..feaedf16e5 100644
--- a/indra/cmake/OpenGL.cmake
+++ b/indra/cmake/OpenGL.cmake
@@ -4,7 +4,7 @@ include(Variables)
include(Prebuilt)
include(FindOpenGL)
-if (USE_FLATPAK)
+if (${LINUX_DISTRO} MATCHES freedesktop)
add_library(ll::glu INTERFACE IMPORTED)
use_prebuilt_binary(glu)
target_link_libraries(ll::glu INTERFACE GLU)
diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake
index 24dc121533..c4b2dfbd37 100644
--- a/indra/cmake/UI.cmake
+++ b/indra/cmake/UI.cmake
@@ -6,7 +6,7 @@ include(GLIB)
add_library( ll::uilibraries INTERFACE IMPORTED )
if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
- if (USE_FLATPAK)
+ if (${LINUX_DISTRO} MATCHES freedesktop)
use_prebuilt_binary(fltk)
endif ()
target_compile_definitions(ll::uilibraries INTERFACE LL_FLTK=1 LL_X11=1 )
@@ -15,7 +15,7 @@ if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
return()
endif()
- if (USE_FLATPAK OR (${LINUX_DISTRO} MATCHES debian) OR (${LINUX_DISTRO} MATCHES ubuntu))
+ if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES debian) OR (${LINUX_DISTRO} MATCHES freedesktop) OR (${LINUX_DISTRO} MATCHES ubuntu))
include(FindPkgConfig)
pkg_check_modules(CAIRO REQUIRED cairo)
target_include_directories(ll::uilibraries SYSTEM INTERFACE ${CAIRO_INCLUDE_DIRS})
@@ -54,7 +54,7 @@ if( WINDOWS )
)
endif()
-if (USE_FLATPAK)
+if (${LINUX_DISTRO} MATCHES freedesktop)
target_include_directories( ll::uilibraries SYSTEM INTERFACE
${LIBS_PREBUILT_DIR}/include
)
diff --git a/indra/cmake/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake
index 34c3ed0ec9..70107fea9a 100644
--- a/indra/cmake/UnixInstall.cmake
+++ b/indra/cmake/UnixInstall.cmake
@@ -6,7 +6,7 @@ set(INSTALL OFF CACHE BOOL
"Generate install target.")
if (INSTALL)
- if (USE_FLATPAK OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ if (${LINUX_DISTRO} MATCHES freedesktop OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
set(INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH
"Top-level installation directory.")
else ()
@@ -14,7 +14,7 @@ if (INSTALL)
"Top-level installation directory.")
endif ()
- if (USE_FLATPAK)
+ if (${LINUX_DISTRO} MATCHES freedesktop)
set(_LIB lib)
elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME})
@@ -37,7 +37,7 @@ if (INSTALL)
set(APP_SHARE_DIR ${INSTALL_SHARE_DIR}/${VIEWER_BINARY_NAME}
CACHE PATH
"Installation directory for read-only data files.")
- if (USE_FLATPAK)
+ if (${LINUX_DISTRO} MATCHES freedesktop)
set(APP_LIBEXEC_DIR ${INSTALL_PREFIX}/libexec
CACHE PATH
"Installation directory for non-manual executables.")
diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake
index aece8f834c..5efca62032 100644
--- a/indra/cmake/ViewerMiscLibs.cmake
+++ b/indra/cmake/ViewerMiscLibs.cmake
@@ -3,20 +3,11 @@ include(Prebuilt)
if (NOT (DARWIN OR WINDOWS))
add_library( ll::fontconfig INTERFACE IMPORTED )
-
find_package(Fontconfig REQUIRED)
target_link_libraries( ll::fontconfig INTERFACE Fontconfig::Fontconfig )
endif ()
-if (FALSE)
-if( NOT USE_CONAN )
- use_prebuilt_binary(libhunspell)
-endif()
-
-use_prebuilt_binary(slvoice)
-endif (FALSE)
-
-if (DARWIN OR USE_FLATPAK)
+if (DARWIN OR (${LINUX_DISTRO} MATCHES freedesktop))
use_prebuilt_binary(nanosvg)
endif ()
use_prebuilt_binary(viewer-fonts)
diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake
index 286d3aa172..1575c30d82 100644
--- a/indra/cmake/WebRTC.cmake
+++ b/indra/cmake/WebRTC.cmake
@@ -6,27 +6,18 @@ include(Prebuilt)
add_library( ll::webrtc INTERFACE IMPORTED )
target_include_directories( ll::webrtc SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/webrtc" "${LIBS_PREBUILT_DIR}/include/webrtc/third_party/abseil-cpp")
-if (DARWIN OR WINDOWS)
-use_prebuilt_binary(webrtc)
-elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)))
+if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64 AND LINUX)
target_compile_definitions(ll::webrtc INTERFACE CM_WEBRTC=1)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/webrtc_installed OR NOT ${webrtc_installed} EQUAL 0)
- if (DARWIN)
- set(WEBRTC_PLATFORM macos-arm64)
- elseif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64)
- set(WEBRTC_PLATFORM linux-arm64)
- else ()
- set(WEBRTC_PLATFORM linux-x64)
- endif ()
- if (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz)
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-linux-arm64.tar.xz)
file(DOWNLOAD
- https://github.com/crow-misia/libwebrtc-bin/releases/download/137.7151.3.1/libwebrtc-${WEBRTC_PLATFORM}.tar.xz
- ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz
+ https://github.com/crow-misia/libwebrtc-bin/releases/download/139.7258.3.1/libwebrtc-linux-arm64.tar.xz
+ ${CMAKE_BINARY_DIR}/libwebrtc-linux-arm64.tar.xz
SHOW_PROGRESS
)
endif ()
file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz
+ INPUT ${CMAKE_BINARY_DIR}/libwebrtc-linux-arm64.tar.xz
DESTINATION ${LIBS_PREBUILT_DIR}
)
file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/webrtc)
@@ -34,7 +25,6 @@ elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES a
foreach(directory
api
audio
- base
build
buildtools
call
@@ -67,16 +57,10 @@ elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES a
${LIBS_PREBUILT_DIR}/lib/libwebrtc.a
${ARCH_PREBUILT_DIRS_RELEASE}/libwebrtc.a
)
- if (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
- file(REMOVE_RECURSE ${ARCH_PREBUILT_DIRS_RELEASE}/WebRTC.framework)
- file(RENAME
- ${LIBS_PREBUILT_DIR}/Frameworks/WebRTC.xcframework/${WEBRTC_PLATFORM}/WebRTC.framework
- ${ARCH_PREBUILT_DIRS_RELEASE}/WebRTC.framework
- )
- file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/Frameworks)
- endif ()
file(WRITE ${PREBUILD_TRACKING_DIR}/webrtc_installed "0")
endif ()
+elseif (NOT (CMAKE_SYSTEM_NAME MATCHES FreeBSD OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)))
+use_prebuilt_binary(webrtc)
endif ()
find_library(WEBRTC_LIBRARY