From d1fcd260993aa75f46f2f7208b828ec0688c53de Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Sat, 19 Jun 2021 19:20:37 -0400 Subject: [PATCH] Add build config options to enable and disable CEF and VLC --- indra/cmake/Variables.cmake | 3 +++ indra/media_plugins/CMakeLists.txt | 17 ++++------------- indra/newview/CMakeLists.txt | 24 +++++++++++++++++++++--- indra/newview/llappviewer.cpp | 11 +++++++++-- indra/newview/llviewerbuildconfig.h.in | 4 ++++ 5 files changed, 41 insertions(+), 18 deletions(-) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 8c3e1679892..4b8ccbbb165 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -43,6 +43,9 @@ endif(USE_ASAN AND USE_LEAKSAN) set(VIEWER_SYMBOL_FILE "" CACHE STRING "Name of tarball into which to place symbol files") set(BUGSPLAT_DB "" CACHE STRING "BugSplat database name, if BugSplat crash reporting is desired") +option(USE_CEF "Enable CEF media plugin" ON) +option(USE_VLC "Enable VLC media plugin" ON) + if(LIBS_CLOSED_DIR) file(TO_CMAKE_PATH "${LIBS_CLOSED_DIR}" LIBS_CLOSED_DIR) else(LIBS_CLOSED_DIR) diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt index 0b3ddb32b1e..888244863a1 100644 --- a/indra/media_plugins/CMakeLists.txt +++ b/indra/media_plugins/CMakeLists.txt @@ -3,18 +3,9 @@ add_subdirectory(base) add_subdirectory(example) -if (LINUX) - #add_subdirectory(gstreamer010) +if (USE_CEF) add_subdirectory(cef) +endif() +if (USE_VLC) add_subdirectory(libvlc) -endif (LINUX) - -if (DARWIN) - add_subdirectory(cef) - add_subdirectory(libvlc) -endif (DARWIN) - -if (WINDOWS) - add_subdirectory(cef) - add_subdirectory(libvlc) -endif (WINDOWS) +endif() diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 4a0f23a4285..f4ad1c2a6d8 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1874,8 +1874,6 @@ if (WINDOWS) ${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt ${viewer_APPSETTINGS_FILES} SLPlugin - media_plugin_cef - media_plugin_libvlc media_plugin_example ) @@ -1891,6 +1889,18 @@ if (WINDOWS) ) endif (ADDRESS_SIZE EQUAL 64) + if (USE_CEF) + list(APPEND COPY_INPUT_DEPENDENCIES + media_plugin_cef + ) + endif () + + if (USE_VLC) + list(APPEND COPY_INPUT_DEPENDENCIES + media_plugin_libvlc + ) + endif () + if (USE_FMODSTUDIO) list(APPEND COPY_INPUT_DEPENDENCIES ${SHARED_LIB_STAGING_DIR}/Release/fmod.dll @@ -2268,7 +2278,15 @@ if (DARWIN) ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef) + add_dependencies(${VIEWER_BINARY_NAME} SLPlugin) + + if (USE_CEF) + add_dependencies(${VIEWER_BINARY_NAME} media_plugin_cef) + endif () + + if (USE_VLC) + add_dependencies(${VIEWER_BINARY_NAME} media_plugin_libvlc) + endif () if (ENABLE_SIGNING) set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}") diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index ce28a5870e5..b1dcc186e61 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -26,6 +26,8 @@ #include "llviewerprecompiledheaders.h" +#include "llviewerbuildconfig.h" + #include "llappviewer.h" // Viewer includes @@ -142,8 +144,13 @@ #include "llcoros.h" #include "llexception.h" +#if USE_CEF #include "cef/dullahan_version.h" +#endif + +#if USE_VLC #include "vlc/libvlc_version.h" +#endif // Third party library includes #include <boost/bind.hpp> @@ -3253,7 +3260,7 @@ LLSD LLAppViewer::getViewerInfo() const info["VOICE_VERSION"] = LLTrans::getString("NotConnected"); } -#if defined(CEF_VERSION) +#if USE_CEF std::ostringstream cef_ver_codec; cef_ver_codec << "Dullahan: "; cef_ver_codec << DULLAHAN_VERSION_MAJOR; @@ -3281,7 +3288,7 @@ LLSD LLAppViewer::getViewerInfo() const info["CEF_VERSION"] = "Web Engine: Undefined"; #endif -#if defined(LIBVLC_VERSION) +#if USE_VLC std::ostringstream vlc_ver_codec; vlc_ver_codec << LIBVLC_VERSION_MAJOR; vlc_ver_codec << "."; diff --git a/indra/newview/llviewerbuildconfig.h.in b/indra/newview/llviewerbuildconfig.h.in index b952ea2fe4e..c4e72b06dd2 100644 --- a/indra/newview/llviewerbuildconfig.h.in +++ b/indra/newview/llviewerbuildconfig.h.in @@ -49,6 +49,10 @@ #cmakedefine01 USE_FMODSTUDIO #cmakedefine01 USE_OPENAL +// Media Plugins +#cmakedefine01 USE_CEF +#cmakedefine01 USE_VLC + // Havok #cmakedefine01 HAVOK #cmakedefine01 HAVOK_TPV -- GitLab