diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 8c3e167989232c615c6e8b1e9f1284c5e7881c8e..4b8ccbbb165f3787cf5bc47f6813c02fa23a3c3c 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 0b3ddb32b1e12ae669de2029c392cf049ac36c1d..888244863a12ee95173caf37015c2aa1aa5343cf 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 4a0f23a42851b002fd773bbd25f87eb5614b6753..f4ad1c2a6d8b3cdf498f132a62814bacf1d0ebab 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 ce28a5870e5d37e2b486ba900b1f456a52e8b77e..b1dcc186e61fbc22d12ac4de1bc67c7aa20958b6 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 b952ea2fe4e5077eb3ba77275d7a45724dce661b..c4e72b06dd2c6bbec4018026781847f131621d2f 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