diff options
| -rw-r--r-- | autobuild.xml | 22 | ||||
| -rw-r--r-- | indra/cmake/00-Common.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/APR.cmake | 27 | ||||
| -rw-r--r-- | indra/cmake/Boost.cmake | 40 | ||||
| -rw-r--r-- | indra/cmake/CEFPlugin.cmake | 15 | ||||
| -rw-r--r-- | indra/cmake/GLM.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/LLPrimitive.cmake | 8 | ||||
| -rw-r--r-- | indra/cmake/LibVLCPlugin.cmake | 9 | ||||
| -rw-r--r-- | indra/cmake/OPENAL.cmake | 16 | ||||
| -rw-r--r-- | indra/cmake/OpenGL.cmake | 5 | ||||
| -rw-r--r-- | indra/cmake/UI.cmake | 5 | ||||
| -rw-r--r-- | indra/cmake/UnixInstall.cmake | 28 | ||||
| -rw-r--r-- | indra/cmake/ViewerMiscLibs.cmake | 2 | ||||
| -rw-r--r-- | indra/llplugin/slplugin/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/llrender/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | indra/llwebrtc/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 57 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/CMakeLists.txt | 16 | ||||
| -rw-r--r-- | indra/newview/ViewerInstall.cmake | 38 |
19 files changed, 210 insertions, 93 deletions
diff --git a/autobuild.xml b/autobuild.xml index 571da61367..fe9f9d6aaa 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -823,6 +823,20 @@ <key>source_type</key> <string>git</string> </map> + <key>glu</key> + <map> + <key>platforms</key> + <map> + <key>linux64</key> + <map> + <key>archive</key> + <map> + <key>url</key> + <string>https://megapahit.net/downloads/glu-9.0.2-linux64.tar.zst</string> + </map> + </map> + </map> + </map> <key>gstreamer</key> <map> <key>platforms</key> @@ -2609,6 +2623,14 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <key>name</key> <string>darwin64</string> </map> + <key>linux64</key> + <map> + <key>archive</key> + <map> + <key>url</key> + <string>https://megapahit.net/downloads/vlc-bin-3.0.23-linux64.tar.zst</string> + </map> + </map> <key>windows64</key> <map> <key>archive</key> diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 90ca9866bb..4b007ceec9 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) - else() + elseif( NOT USE_FLATPAK ) add_compile_definitions( _FORTIFY_SOURCE=2 ) endif() diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index 4ce0d47f7f..b7ada1cfb1 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -5,21 +5,22 @@ include_guard() add_library( ll::apr INTERFACE IMPORTED ) -if (WINDOWS) - target_include_directories(ll::apr SYSTEM INTERFACE ${prefix_result}/../include) - target_link_directories(ll::apr INTERFACE ${prefix_result}) - target_link_libraries(ll::apr INTERFACE libapr-1 libaprutil-1) -else () - include(FindPkgConfig) - pkg_check_modules(Apr REQUIRED apr-1 apr-util-1) - target_include_directories(ll::apr SYSTEM INTERFACE ${Apr_INCLUDE_DIRS}) - target_link_directories(ll::apr INTERFACE ${Apr_LIBRARY_DIRS}) - target_link_libraries(ll::apr INTERFACE ${Apr_LIBRARIES}) +if (NOT USE_FLATPAK) + if (WINDOWS) + target_include_directories(ll::apr SYSTEM INTERFACE ${prefix_result}/../include) + target_link_directories(ll::apr INTERFACE ${prefix_result}) + target_link_libraries(ll::apr INTERFACE libapr-1 libaprutil-1) + else () + include(FindPkgConfig) + pkg_check_modules(Apr REQUIRED apr-1 apr-util-1) + target_include_directories(ll::apr SYSTEM INTERFACE ${Apr_INCLUDE_DIRS}) + target_link_directories(ll::apr INTERFACE ${Apr_LIBRARY_DIRS}) + target_link_libraries(ll::apr INTERFACE ${Apr_LIBRARIES}) + endif () + return () endif () -return () - -use_system_binary( apr apr-util ) +#use_system_binary( apr apr-util ) use_prebuilt_binary(apr_suite) if (WINDOWS) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 3f9134cb8f..a6e60aa95b 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -28,27 +28,29 @@ elseif (WINDOWS) message(WARNING "Could not detect Boost suffix via glob; using fallback '${sfx}'. " "Check that vcpkg installed boost into ${prefix_result}.") endif () -else () +elseif (NOT USE_FLATPAK) find_package( Boost ) endif () -target_link_libraries( ll::boost INTERFACE - boost_context${sfx} - boost_fiber${sfx} - boost_filesystem${sfx} - boost_program_options${sfx} - boost_thread${sfx} - boost_url${sfx} - ) -if (WINDOWS) - target_link_libraries( ll::boost INTERFACE boost_json${sfx}) -else () - target_link_libraries( ll::boost INTERFACE boost_regex${sfx}) -endif () -if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES fedora) OR DARWIN) - target_link_libraries( ll::boost INTERFACE boost_system${sfx}) +if (NOT USE_FLATPAK) + target_link_libraries( ll::boost INTERFACE + boost_context${sfx} + boost_fiber${sfx} + boost_filesystem${sfx} + boost_program_options${sfx} + boost_thread${sfx} + boost_url${sfx} + ) + if (WINDOWS) + target_link_libraries( ll::boost INTERFACE boost_json${sfx}) + else () + target_link_libraries( ll::boost INTERFACE boost_regex${sfx}) + endif () + if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES fedora) OR DARWIN) + target_link_libraries( ll::boost INTERFACE boost_system${sfx}) + endif () + target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) + return() endif () -target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS ) -return() if( USE_CONAN ) target_link_libraries( ll::boost INTERFACE CONAN_PKG::boost ) @@ -163,3 +165,5 @@ target_link_libraries(ll::boost INTERFACE if (LINUX) target_link_libraries(ll::boost INTERFACE rt) endif (LINUX) + +target_include_directories(ll::boost SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake index 2c71074eb8..2546ec7993 100644 --- a/indra/cmake/CEFPlugin.cmake +++ b/indra/cmake/CEFPlugin.cmake @@ -1,7 +1,6 @@ # -*- cmake -*- include(Linking) include(Prebuilt) -include(UnixInstall) include_guard() add_library( ll::cef INTERFACE IMPORTED ) @@ -50,7 +49,7 @@ if (${LINUX_DISTRO} MATCHES arch) -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_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/${_LIB}/cef/libcef.so + -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" ) @@ -118,7 +117,7 @@ elseif (${LINUX_DISTRO} MATCHES fedora) -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.29.0-CEF_146.0.12 - -DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/${_LIB}/cef/libcef.so + -DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/lib${ADDRESS_SIZE}/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-146.0.11 -DWRAPPING_CEF_SHARED" ) @@ -198,8 +197,11 @@ execute_process( 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}/cef bin/release/dullahan_host + COMMAND patchelf --add-rpath ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef bin/release/dullahan_host WORKING_DIRECTORY ${LIBS_PREBUILT_DIR} ) endif () @@ -271,7 +273,10 @@ elseif (DARWIN) elseif (LINUX) if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) - target_link_directories( ll::cef INTERFACE ${INSTALL_PREFIX}/${_LIB}/cef ) + if (${LINUX_DISTRO} MATCHES fedora) + set(LIB_SUFFIX ${ADDRESS_SIZE}) + endif () + target_link_directories( ll::cef INTERFACE ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef ) endif () target_link_libraries( ll::cef INTERFACE libdullahan.a diff --git a/indra/cmake/GLM.cmake b/indra/cmake/GLM.cmake index 957c220bc7..d804774ff6 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 (${LINUX_DISTRO} MATCHES debian OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64 OR ($ENV{MSYSTEM_CARCH} MATCHES aarch64)) +if (USE_FLATPAK 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 523dbc37de..eb1f23b2a3 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -18,7 +18,7 @@ if( USE_CONAN ) "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" ) endif() -if (TRUE) +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) @@ -147,9 +147,9 @@ if (TRUE) file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") endif () -else (TRUE) +else (NOT USE_FLATPAK) -use_system_binary( colladadom ) +#use_system_binary( colladadom ) use_prebuilt_binary(colladadom) use_prebuilt_binary(minizip-ng) # needed for colladadom @@ -175,7 +175,7 @@ if (WINDOWS) target_link_libraries( ll::libxml INTERFACE Bcrypt.lib) endif() -endif (TRUE) +endif (NOT USE_FLATPAK) 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 981f020745..e8cd051021 100644 --- a/indra/cmake/LibVLCPlugin.cmake +++ b/indra/cmake/LibVLCPlugin.cmake @@ -27,11 +27,14 @@ 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) +elseif (WINDOWS OR USE_FLATPAK) use_prebuilt_binary(vlc-bin) + if (WINDOWS) + set(LIB_SUFFIX lib) + endif () target_link_libraries( ll::libvlc INTERFACE - libvlc.lib - libvlccore.lib + ${LIB_SUFFIX}vlc + ${LIB_SUFFIX}vlccore ) else () include(FindPkgConfig) diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index 1b7f9b9071..3a36c64fd3 100644 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -19,13 +19,15 @@ endif() if (USE_OPENAL) add_library( ll::openal INTERFACE IMPORTED ) - 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 () + 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 () target_include_directories( ll::openal SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/AL") target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1) diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index bf7cd8366a..5e00eff3b8 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -4,3 +4,8 @@ include(Variables) include(Prebuilt) include(FindOpenGL) +if (USE_FLATPAK) + add_library(ll::glu INTERFACE IMPORTED) + use_prebuilt_binary(glu) + target_link_libraries(ll::glu INTERFACE GLU) +endif () diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index dc8d84217a..a5e6971248 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -6,6 +6,9 @@ include(GLIB) add_library( ll::uilibraries INTERFACE IMPORTED ) if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) + if (USE_FLATPAK) + use_prebuilt_binary(fltk) + endif () target_compile_definitions(ll::uilibraries INTERFACE LL_FLTK=1 LL_X11=1 ) if( USE_CONAN ) @@ -51,7 +54,7 @@ if( WINDOWS ) ) endif() -if (FALSE) +if (USE_FLATPAK) target_include_directories( ll::uilibraries SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include ) diff --git a/indra/cmake/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake index b82cbbcc2f..65170b5744 100644 --- a/indra/cmake/UnixInstall.cmake +++ b/indra/cmake/UnixInstall.cmake @@ -6,23 +6,25 @@ set(INSTALL OFF CACHE BOOL "Generate install target.") if (INSTALL) - if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) + if (USE_FLATPAK OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) set(INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Top-level installation directory.") - else (CMAKE_SYSTEM_NAME MATCHES FreeBSD) + else () set(INSTALL_PREFIX /usr CACHE PATH "Top-level installation directory.") - endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD) + endif () - if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) - set(_LIB lib/${ARCH}-linux-gnu) - elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) + if (USE_FLATPAK) set(_LIB lib${ADDRESS_SIZE}) + elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) + set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME}) + elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) + set(_LIB lib${ADDRESS_SIZE}/${VIEWER_BINARY_NAME}) else () - set(_LIB lib) + set(_LIB lib/${VIEWER_BINARY_NAME}) endif () - set(INSTALL_LIBRARY_DIR ${INSTALL_PREFIX}/${_LIB}/${VIEWER_BINARY_NAME} CACHE PATH + set(INSTALL_LIBRARY_DIR ${INSTALL_PREFIX}/${_LIB} CACHE PATH "Installation directory for dynamic library files and their resources.") set(INSTALL_SHARE_DIR ${INSTALL_PREFIX}/share CACHE PATH @@ -35,13 +37,17 @@ if (INSTALL) set(APP_SHARE_DIR ${INSTALL_SHARE_DIR}/${VIEWER_BINARY_NAME} CACHE PATH "Installation directory for read-only data files.") - if (${LINUX_DISTRO} MATCHES arch) + if (USE_FLATPAK) + set(APP_LIBEXEC_DIR ${INSTALL_PREFIX}/libexec + CACHE PATH + "Installation directory for non-manual executables.") + elseif (${LINUX_DISTRO} MATCHES arch) set(APP_LIBEXEC_DIR ${INSTALL_PREFIX}/lib/${VIEWER_BINARY_NAME} CACHE PATH "Installation directory for non-manual executables.") - else (${LINUX_DISTRO} MATCHES arch) + else () set(APP_LIBEXEC_DIR ${INSTALL_PREFIX}/libexec/${VIEWER_BINARY_NAME} CACHE PATH "Installation directory for non-manual executables.") - endif (${LINUX_DISTRO} MATCHES arch) + endif () endif (INSTALL) diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 65b8e5cfc0..aece8f834c 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -16,7 +16,7 @@ endif() use_prebuilt_binary(slvoice) endif (FALSE) -if (DARWIN) +if (DARWIN OR USE_FLATPAK) use_prebuilt_binary(nanosvg) endif () use_prebuilt_binary(viewer-fonts) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 38f4c92b09..2a6aa10165 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -69,6 +69,8 @@ endif () if (INSTALL) if (DARWIN OR WINDOWS) install(TARGETS ${PROJECT_NAME} DESTINATION .) + elseif (USE_FLATPAK) + install(TARGETS ${PROJECT_NAME} DESTINATION libexec) elseif (${LINUX_DISTRO} MATCHES arch) install(TARGETS ${PROJECT_NAME} DESTINATION lib/${VIEWER_BINARY_NAME}) else () diff --git a/indra/llrender/CMakeLists.txt b/indra/llrender/CMakeLists.txt index 6de5685517..d7a1d76630 100644 --- a/indra/llrender/CMakeLists.txt +++ b/indra/llrender/CMakeLists.txt @@ -103,7 +103,12 @@ target_link_libraries(llrender llwindow ll::freetype OpenGL::GL - OpenGL::GLU ) +if (USE_FLATPAK) + target_link_libraries(${PROJECT_NAME} ll::glu) +else () + target_link_libraries(${PROJECT_NAME} OpenGL::GLU) +endif () + include(LibraryInstall) diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt index 1c53b0263c..761aab8a7a 100644 --- a/indra/llwebrtc/CMakeLists.txt +++ b/indra/llwebrtc/CMakeLists.txt @@ -76,6 +76,8 @@ endif (LL_TESTS) if (INSTALL) if (DARWIN) set(_LIB ../Frameworks) + elseif (USE_FLATPAK) + set(_LIB lib${ADDRESS_SIZE}) elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME}) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 4736eef420..a3d36d0ed7 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -52,7 +52,10 @@ if (LINUX) list(APPEND media_plugin_cef_SOURCE_FILES ${LINUX_VOLUME_CATCHER}) set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id") if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) - set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH};${INSTALL_PREFIX}/${_LIB}/cef) + if (${LINUX_DISTRO} MATCHES fedora) + set(LIB_SUFFIX ${ADDRESS_SIZE}) + endif () + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH};${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef) endif () list(APPEND media_plugin_cef_LINK_LIBRARIES llwindow ) elseif (DARWIN) @@ -147,14 +150,23 @@ if (INSTALL) DESTINATION ${_LIB} ) elseif (LINUX) - if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) + if (USE_FLATPAK) + set(_LIB lib${ADDRESS_SIZE}) + elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME}) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) set(_LIB lib${ADDRESS_SIZE}/${VIEWER_BINARY_NAME}) else () set(_LIB lib/${VIEWER_BINARY_NAME}) endif () - if (${LINUX_DISTRO} MATCHES arch) + if (USE_FLATPAK) + install( + PROGRAMS + ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome-sandbox + ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host + DESTINATION libexec + ) + elseif (${LINUX_DISTRO} MATCHES arch) install( PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host DESTINATION lib/${VIEWER_BINARY_NAME} @@ -173,17 +185,6 @@ if (INSTALL) ) endif () if (NOT (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))) - file(MAKE_DIRECTORY ${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}) - file(CREATE_LINK - "../libGLESv2.so" - "${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}/libGLESv2.so" - SYMBOLIC - ) - file(CREATE_LINK - "../libvulkan.so.1" - "${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}/libvulkan.so.1" - SYMBOLIC - ) install( FILES ${ARCH_PREBUILT_DIRS_RELEASE}/libcef.so @@ -191,8 +192,6 @@ if (INSTALL) ${ARCH_PREBUILT_DIRS_RELEASE}/libEGL.so ${ARCH_PREBUILT_DIRS_RELEASE}/v8_context_snapshot.bin ${ARCH_PREBUILT_DIRS_RELEASE}/vk_swiftshader_icd.json - ${ARCH_PREBUILT_DIRS_RELEASE}/${VIEWER_BINARY_NAME}/libGLESv2.so - ${ARCH_PREBUILT_DIRS_RELEASE}/${VIEWER_BINARY_NAME}/libvulkan.so.1 ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak ${AUTOBUILD_INSTALL_DIR}/resources/chrome_200_percent.pak ${AUTOBUILD_INSTALL_DIR}/resources/icudtl.dat @@ -203,6 +202,32 @@ if (INSTALL) DIRECTORY ${AUTOBUILD_INSTALL_DIR}/resources/locales DESTINATION ${_LIB} ) + if (USE_FLATPAK) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/libGLESv2.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libvulkan.so.1 + DESTINATION ${_LIB} + ) + else () + file(MAKE_DIRECTORY ${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}) + file(CREATE_LINK + "../libGLESv2.so" + "${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}/libGLESv2.so" + SYMBOLIC + ) + file(CREATE_LINK + "../libvulkan.so.1" + "${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}/libvulkan.so.1" + SYMBOLIC + ) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/${VIEWER_BINARY_NAME}/libGLESv2.so + ${ARCH_PREBUILT_DIRS_RELEASE}/${VIEWER_BINARY_NAME}/libvulkan.so.1 + DESTINATION ${_LIB} + ) + endif () endif () elseif (WINDOWS) set(_LIB llplugin) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 96790a8037..3177b3298d 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -87,6 +87,22 @@ if (INSTALL) /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib/libvlccore.dylib DESTINATION ${_LIB}/plugins ) + elseif (USE_FLATPAK) + set(_LIB lib${ADDRESS_SIZE}) + install( + DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}/vlc + DESTINATION ${_LIB} + ) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/libvlc.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libvlc.so.5 + ${ARCH_PREBUILT_DIRS_RELEASE}/libvlc.so.5.6.1 + ${ARCH_PREBUILT_DIRS_RELEASE}/libvlccore.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libvlccore.so.9 + ${ARCH_PREBUILT_DIRS_RELEASE}/libvlccore.so.9.0.1 + DESTINATION ${_LIB} + ) elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME}) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 46b2967f2c..cce94b0d46 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -226,26 +226,42 @@ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} ) if (LINUX) - if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) - set(_LIB lib/${ARCH}-linux-gnu) - elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) + if (USE_FLATPAK) set(_LIB lib${ADDRESS_SIZE}) + elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) + set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME}) + elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) + set(_LIB lib${ADDRESS_SIZE}/${VIEWER_BINARY_NAME}) else () - set(_LIB lib) + set(_LIB lib/${VIEWER_BINARY_NAME}) endif () if (USE_DISCORD) install( FILES ${ARCH_PREBUILT_DIRS_RELEASE}/libdiscord_partner_sdk.so - DESTINATION ${_LIB}/${VIEWER_BINARY_NAME} + DESTINATION ${_LIB} + ) + endif () + if (USE_FLATPAK) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/libalut.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libalut.so.0 + ${ARCH_PREBUILT_DIRS_RELEASE}/libalut.so.0.0.0 + ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1 + ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.so.1.24.2 + DESTINATION ${_LIB} ) endif () if (USE_FMODSTUDIO) - install(FILES - ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so - ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13 - ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13.34 - DESTINATION ${_LIB}/${VIEWER_BINARY_NAME}) - endif (USE_FMODSTUDIO) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13 + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13.34 + DESTINATION ${_LIB} + ) + endif () endif (LINUX) install(DIRECTORY skins app_settings fonts |
