summaryrefslogtreecommitdiff
path: root/indra/media_plugins
diff options
context:
space:
mode:
Diffstat (limited to 'indra/media_plugins')
-rw-r--r--indra/media_plugins/cef/CMakeLists.txt102
-rw-r--r--indra/media_plugins/cef/media_plugin_cef.cpp16
-rw-r--r--indra/media_plugins/libvlc/CMakeLists.txt29
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)