diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake
old mode 100644
new mode 100755
index dcf44cd64237b3e49e94be3c5932eef2142f6d77..cb5124812d130746146927e0c32fd99f0b97d1a2
--- a/indra/cmake/FMOD.cmake
+++ b/indra/cmake/FMOD.cmake
@@ -1,26 +1,39 @@
 # -*- cmake -*-
 
-set(FMOD ON CACHE BOOL "Use FMOD sound library.")
+# FMOD can be set when launching the make using the argument -DFMOD:BOOL=ON
+# When building using proprietary binaries though (i.e. having access to LL private servers),
+# we always build with FMOD.
+# Open source devs should use the -DFMOD:BOOL=ON then if they want to build with FMOD, whether
+# they are using STANDALONE or not.
+if (INSTALL_PROPRIETARY)
+  set(FMOD ON CACHE BOOL "Use FMOD sound library.")
+endif (INSTALL_PROPRIETARY)
 
 if (FMOD)
   if (STANDALONE)
+    # In that case, we use the version of the library installed on the system
     set(FMOD_FIND_REQUIRED ON)
     include(FindFMOD)
   else (STANDALONE)
-    if (INSTALL_PROPRIETARY)
-      include(Prebuilt)
-      use_prebuilt_binary(fmod)
-    endif (INSTALL_PROPRIETARY)
-    
-    if (WINDOWS)
-      set(FMOD_LIBRARY fmod)
-    elseif (DARWIN)
-      set(FMOD_LIBRARY fmod)
-    elseif (LINUX)
-      set(FMOD_LIBRARY fmod-3.75)
-    endif (WINDOWS)
-
-    SET(FMOD_LIBRARIES ${FMOD_LIBRARY})
-    set(FMOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
+    if (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
+	  # If the path have been specified in the arguments, use that
+      set(FMOD_LIBRARIES ${FMOD_LIBRARY})
+	  MESSAGE(STATUS "Using FMOD path: ${FMOD_LIBRARIES}, ${FMOD_INCLUDE_DIR}")
+    else (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
+	  # If not, we're going to try to get the package listed in autobuild.xml
+	  # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL) 
+	  # as accessing the private LL location will fail if you don't have the credential
+	  include(Prebuilt)
+	  use_prebuilt_binary(fmod)    
+      if (WINDOWS)
+        set(FMOD_LIBRARY fmod)
+      elseif (DARWIN)
+        set(FMOD_LIBRARY fmod)
+      elseif (LINUX)
+        set(FMOD_LIBRARY fmod-3.75)
+      endif (WINDOWS)
+      set(FMOD_LIBRARIES ${FMOD_LIBRARY})
+      set(FMOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
+    endif (FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
   endif (STANDALONE)
 endif (FMOD)
diff --git a/indra/cmake/FindFMOD.cmake b/indra/cmake/FindFMOD.cmake
index e60b386027a7a40556038fa713f116fe7b131ac8..1ebbc8c96e5e3627f2de7d434ff2e73e5add235c 100644
--- a/indra/cmake/FindFMOD.cmake
+++ b/indra/cmake/FindFMOD.cmake
@@ -11,7 +11,7 @@
 
 FIND_PATH(FMOD_INCLUDE_DIR fmod.h PATH_SUFFIXES fmod)
 
-SET(FMOD_NAMES ${FMOD_NAMES} fmod fmodvc fmod-3.75)
+SET(FMOD_NAMES ${FMOD_NAMES} fmod fmodvc fmodex fmod-3.75)
 FIND_LIBRARY(FMOD_LIBRARY
   NAMES ${FMOD_NAMES}
   PATH_SUFFIXES fmod
diff --git a/indra/cmake/LLKDU.cmake b/indra/cmake/LLKDU.cmake
index 13c2b86e2fa50a35435da4708ac4cbd42a9a557c..e478b01f84ae872422c3c073dda80d9d6a6dd7a1 100644
--- a/indra/cmake/LLKDU.cmake
+++ b/indra/cmake/LLKDU.cmake
@@ -1,13 +1,14 @@
 # -*- cmake -*-
-include(Prebuilt)
 
 # USE_KDU can be set when launching cmake as an option using the argument -DUSE_KDU:BOOL=ON
-# When building using proprietary binaries though (i.e. having access to LL private servers), we always build with KDU
-if (INSTALL_PROPRIETARY AND NOT STANDALONE)
-  set(USE_KDU ON)
-endif (INSTALL_PROPRIETARY AND NOT STANDALONE)
+# When building using proprietary binaries though (i.e. having access to LL private servers), 
+# we always build with KDU
+if (INSTALL_PROPRIETARY)
+  set(USE_KDU ON CACHE BOOL "Use Kakadu library.")
+endif (INSTALL_PROPRIETARY)
 
 if (USE_KDU)
+  include(Prebuilt)
   use_prebuilt_binary(kdu)
   if (WINDOWS)
     set(KDU_LIBRARY kdu.lib)
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 9b758b03f03d3e156e42ec6027df46aedbfd2785..1b60d176f11d141269c664a50b71a189a2e1448a 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -11,38 +11,21 @@ macro (use_prebuilt_binary _binary)
     if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
       if(INSTALL_PROPRIETARY)
         include(FindSCP)
-        if(DEBUG_PREBUILT)
-          message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install
-          --install-dir=${AUTOBUILD_INSTALL_DIR}
-          #--scp="${SCP_EXECUTABLE}"
-          --skip-license-check
-          ${_binary} ")
-        endif(DEBUG_PREBUILT)
-        execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
-          install
-          --install-dir=${AUTOBUILD_INSTALL_DIR}
-          #--scp="${SCP_EXECUTABLE}"
-          --skip-license-check
-          ${_binary}
-          WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-          RESULT_VARIABLE ${_binary}_installed
-          )
-      else(INSTALL_PROPRIETARY)
-        if(DEBUG_PREBUILT)
-          message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install
-          --install-dir=${AUTOBUILD_INSTALL_DIR}
-          --skip-license-check
-          ${_binary} ")
-        endif(DEBUG_PREBUILT)
-        execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
-          install
-          --install-dir=${AUTOBUILD_INSTALL_DIR}
-          --skip-license-check
-          ${_binary}
-          WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-          RESULT_VARIABLE ${_binary}_installed
-          )
       endif(INSTALL_PROPRIETARY)
+	  if(DEBUG_PREBUILT)
+		message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install
+		--install-dir=${AUTOBUILD_INSTALL_DIR}
+		--skip-license-check
+		${_binary} ")
+	  endif(DEBUG_PREBUILT)
+	  execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
+		install
+		--install-dir=${AUTOBUILD_INSTALL_DIR}
+		--skip-license-check
+		${_binary}
+		WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+		RESULT_VARIABLE ${_binary}_installed
+		)
       file(WRITE ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${${_binary}_installed}")
     else(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
       set(${_binary}_installed 0)
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 492e97675d1414fb1855e274a507ea95cf9bf462..2574454d96cf5afe60c388503d9e14972f6fbc6c 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -48,6 +48,7 @@ include_directories(
     ${LLAUDIO_INCLUDE_DIRS}
     ${LLCHARACTER_INCLUDE_DIRS}
     ${LLCOMMON_INCLUDE_DIRS}
+    ${FMOD_INCLUDE_DIR}
     ${LLIMAGE_INCLUDE_DIRS}
     ${LLKDU_INCLUDE_DIRS}
     ${LLINVENTORY_INCLUDE_DIRS}