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