diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake
index cce73ba08bcabcc71c567e04e2b776a05ef067b1..bca99caf2a521b0c4284c6cb36c449262f5a1857 100644
--- a/indra/cmake/Linking.cmake
+++ b/indra/cmake/Linking.cmake
@@ -22,7 +22,7 @@ if (NOT STANDALONE)
     set(ARCH_PREBUILT_DIRS ${ARCH_PREBUILT_DIRS_RELEASE})
     set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS_RELEASE})
     set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs CACHE FILEPATH "Location of staged DLLs")
-    set(EXE_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs CACHE FILEPATH "Location of staged executables")
+    set(EXE_STAGING_DIR "${CMAKE_BINARY_DIR}/sharedlibs/\$(CONFIGURATION)" CACHE FILEPATH "Location of staged executables")
   endif (WINDOWS)
 endif (NOT STANDALONE)
 
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index 7a7281a4a7ec2cae399423e39a2e73e775a433bd..1e39a4474febff91b8cc268edae06b659bb62a59 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -248,6 +248,13 @@ if(LLCOMMON_LINK_SHARED)
         if(NOT WINDOWS)
           get_target_property(LLCOMMON_PATH llcommon LOCATION)
           get_filename_component(LLCOMMON_FILE ${LLCOMMON_PATH} NAME)
+          if(DARWIN)
+            set(SHARED_LIB_STAGING_DIR_CONFIG ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/Resources)
+          else(DARWIN)
+            set(SHARED_LIB_STAGING_DIR_CONFIG ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR})
+          endif(DARWIN)
+
+          # *TODO - maybe make this a symbolic link? -brad
           add_custom_command(
             TARGET llcommon POST_BUILD
             COMMAND ${CMAKE_COMMAND}
@@ -255,7 +262,7 @@ if(LLCOMMON_LINK_SHARED)
               -E
               copy_if_different
               ${LLCOMMON_PATH}
-              ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/${LLCOMMON_FILE}
+              ${SHARED_LIB_STAGING_DIR_CONFIG}/${LLCOMMON_FILE}
             COMMENT "Copying llcommon to the staging folder."
             )
         endif(NOT WINDOWS)