diff options
Diffstat (limited to 'indra/media_plugins')
| -rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 102 | ||||
| -rw-r--r-- | indra/media_plugins/cef/media_plugin_cef.cpp | 16 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/CMakeLists.txt | 29 |
3 files changed, 103 insertions, 44 deletions
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 236e117aa7..ee9a709c1e 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -50,7 +50,13 @@ if (LINUX) ) list(APPEND media_plugin_cef_SOURCE_FILES ${LINUX_VOLUME_CATCHER}) - set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id -Wl,-rpath,'$ORIGIN:$ORIGIN/../../lib'") + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id") + if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) + 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) list(APPEND media_plugin_cef_SOURCE_FILES volume_catcher_null.cpp) @@ -127,6 +133,13 @@ if (DARWIN) endif (DARWIN) +if (CMAKE_BUILD_TYPE MATCHES Release AND (CMAKE_CXX_COMPILER_ID STREQUAL Clang OR CMAKE_CXX_COMPILER_ID MATCHES GNU)) + add_custom_command( + TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_STRIP} lib${PROJECT_NAME}.so + ) +endif () + if (INSTALL) if (DARWIN) set(_LIB SLPlugin.app/Contents/Frameworks) @@ -144,46 +157,85 @@ if (INSTALL) DESTINATION ${_LIB} ) elseif (LINUX) - if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) - set(_LIB lib/${ARCH}-linux-gnu) + if (USE_FLATPAK) + set(_LIB 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)) - set(_LIB lib${ADDRESS_SIZE}) + set(_LIB lib${ADDRESS_SIZE}/${VIEWER_BINARY_NAME}) else () - set(_LIB lib) + 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} - #PERMISSIONS SETUID OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) - else (${LINUX_DISTRO} MATCHES arch) + elseif (${LINUX_DISTRO} MATCHES fedora) + install( + PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host + DESTINATION libexec/${VIEWER_BINARY_NAME} + ) + else () install( PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome-sandbox ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host DESTINATION libexec/${VIEWER_BINARY_NAME} - #PERMISSIONS SETUID OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) - endif (${LINUX_DISTRO} MATCHES arch) - install( - FILES - ${ARCH_PREBUILT_DIRS_RELEASE}/libcef.so - ${ARCH_PREBUILT_DIRS_RELEASE}/libvk_swiftshader.so - ${AUTOBUILD_INSTALL_DIR}/bin/release/snapshot_blob.bin - ${AUTOBUILD_INSTALL_DIR}/bin/release/v8_context_snapshot.bin - ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak - ${AUTOBUILD_INSTALL_DIR}/resources/chrome_200_percent.pak - ${AUTOBUILD_INSTALL_DIR}/resources/icudtl.dat - ${AUTOBUILD_INSTALL_DIR}/resources/resources.pak - DESTINATION ${_LIB} + endif () + if (NOT (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/libcef.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libvk_swiftshader.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libEGL.so + ${ARCH_PREBUILT_DIRS_RELEASE}/v8_context_snapshot.bin + ${ARCH_PREBUILT_DIRS_RELEASE}/vk_swiftshader_icd.json + ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak + ${AUTOBUILD_INSTALL_DIR}/resources/chrome_200_percent.pak + ${AUTOBUILD_INSTALL_DIR}/resources/icudtl.dat + ${AUTOBUILD_INSTALL_DIR}/resources/resources.pak + DESTINATION ${_LIB} ) - install( - DIRECTORY ${AUTOBUILD_INSTALL_DIR}/resources/locales - DESTINATION ${_LIB} + 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) install( @@ -213,7 +265,7 @@ if (INSTALL) DESTINATION llplugin ) else () - set(_LIB lib) + set(_LIB lib/${VIEWER_BINARY_NAME}) endif () if (NOT WINDOWS) install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index a2b664c755..d5ec3dbb20 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -957,7 +957,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { authResponse(message_in); } -#if !LL_LINUX if (message_name == "edit_undo") { mCEFLib->editUndo(); @@ -966,7 +965,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mCEFLib->editRedo(); } -#endif if (message_name == "edit_cut") { mCEFLib->editCut(); @@ -979,7 +977,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mCEFLib->editPaste(); } -#if !LL_LINUX if (message_name == "edit_delete") { mCEFLib->editDelete(); @@ -992,7 +989,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mCEFLib->viewSource(); } -#endif } else if (message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER) { @@ -1176,28 +1172,19 @@ void MediaPluginCEF::unicodeInput(std::string event, LLSD native_key_data = LLSD // void MediaPluginCEF::checkEditState() { -#if !LL_LINUX bool can_undo = mCEFLib->editCanUndo(); bool can_redo = mCEFLib->editCanRedo(); -#endif bool can_cut = mCEFLib->editCanCut(); bool can_copy = mCEFLib->editCanCopy(); bool can_paste = mCEFLib->editCanPaste(); -#if !LL_LINUX bool can_delete = mCEFLib->editCanDelete(); bool can_select_all = mCEFLib->editCanSelectAll(); -#endif -#if LL_LINUX - if ((can_cut != mCanCut) || (can_copy != mCanCopy) || (can_paste != mCanPaste)) -#else if ((can_undo != mCanUndo) || (can_redo != mCanRedo) || (can_cut != mCanCut) || (can_copy != mCanCopy) || (can_paste != mCanPaste) || (can_delete != mCanDelete) || (can_select_all != mCanSelectAll)) -#endif { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "edit_state"); -#if !LL_LINUX if (can_undo != mCanUndo) { mCanUndo = can_undo; @@ -1209,7 +1196,6 @@ void MediaPluginCEF::checkEditState() mCanRedo = can_redo; message.setValueBoolean("redo", can_redo); } -#endif if (can_cut != mCanCut) { @@ -1229,7 +1215,6 @@ void MediaPluginCEF::checkEditState() message.setValueBoolean("paste", can_paste); } -#if !LL_LINUX if (can_delete != mCanDelete) { mCanDelete = can_delete; @@ -1241,7 +1226,6 @@ void MediaPluginCEF::checkEditState() mCanSelectAll = can_select_all; message.setValueBoolean("select_all", can_select_all); } -#endif sendMessage(message); } diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index b8b3bd68f3..24174a6ef0 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -72,6 +72,13 @@ if (DARWIN) endif (DARWIN) +if (CMAKE_BUILD_TYPE MATCHES Release AND (CMAKE_CXX_COMPILER_ID STREQUAL Clang OR CMAKE_CXX_COMPILER_ID MATCHES GNU)) + add_custom_command( + TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_STRIP} lib${PROJECT_NAME}.so + ) +endif () + if (INSTALL) if (DARWIN) set(_LIB SLPlugin.app/Contents/Frameworks) @@ -87,12 +94,28 @@ if (INSTALL) /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib/libvlccore.dylib DESTINATION ${_LIB}/plugins ) + elseif (USE_FLATPAK) + set(_LIB lib) + 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) + 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}) + set(_LIB lib${ADDRESS_SIZE}/${VIEWER_BINARY_NAME}) else () - set(_LIB lib) + set(_LIB lib/${VIEWER_BINARY_NAME}) endif () if (WINDOWS) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${PROJECT_NAME}.dll DESTINATION llplugin) |
