diff --git a/indra/develop.py b/indra/develop.py
index 77583b0664f79baed68358cd93904a01cba413f5..a96ea0a6c9e52c32198d5a0b182ff4da176661d5 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -605,6 +605,9 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
 Examples:
   Set up a viewer-only project for your system:
     develop.py configure -DSERVER:BOOL=OFF
+  
+  Set up a Visual Studio 2005 project with package target (to build installer):
+    develop.py -G vc80 configure -DPACKAGE:BOOL=ON
 '''
 
 def main(arguments):
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index dbb445a93c40c7eb1a07fd198121784f8da46ed8..8b97ef7da9ba0895fcbcbe9ff1ee6d8405e22f43 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1289,6 +1289,9 @@ if (LLKDU_LIBRARY)
   add_dependencies(${VIEWER_BINARY_NAME} ${LLKDU_LIBRARY})
 endif (LLKDU_LIBRARY)
 
+set(PACKAGE OFF CACHE BOOL
+    "Add a package target that builds an installer package.")
+
 if (WINDOWS)
     if(MSVC71)
         set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /MAPINFO:LINES")
@@ -1362,10 +1365,10 @@ if (WINDOWS)
               --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat
         DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
         )
-
-    add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat)
-    add_dependencies(package windows-updater windows-crash-logger)
-    set_target_properties(package PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD ON)
+    if (PACKAGE)
+      add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat)
+      add_dependencies(package windows-updater windows-crash-logger)
+    endif (PACKAGE)
 endif (WINDOWS)
 
 target_link_libraries(${VIEWER_BINARY_NAME}
@@ -1437,9 +1440,10 @@ if (LINUX)
       DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
       )
 
-  add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
-  add_dependencies(package linux-crash-logger-stripped)
-  set_target_properties(package PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD ON)
+  if (NOT INSTALL)
+    add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
+    add_dependencies(package linux-crash-logger-stripped)
+  endif (NOT INSTALL)
 endif (LINUX)
 
 if (DARWIN)
@@ -1473,26 +1477,26 @@ if (DARWIN)
     DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
     )
 
-  add_custom_target(package
-    COMMAND
-      ${PYTHON_EXECUTABLE}
-      ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
-      --grid=${GRID}
-      --configuration=${CMAKE_CFG_INTDIR}
-      --channel=${VIEWER_CHANNEL}
-      --login_channel=${VIEWER_LOGIN_CHANNEL}
-      --source=${CMAKE_CURRENT_SOURCE_DIR}
-      --artwork=${ARTWORK_DIR}
-      --build=${CMAKE_CURRENT_BINARY_DIR}
-      --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
-      --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
-    DEPENDS
-      ${VIEWER_BINARY_NAME}
-      ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
-    )
-
-  add_dependencies(package mac-updater mac-crash-logger)
-  set_target_properties(package PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD ON)
+  if (PACKAGE)
+    add_custom_target(package
+      COMMAND
+        ${PYTHON_EXECUTABLE}
+        ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+        --grid=${GRID}
+        --configuration=${CMAKE_CFG_INTDIR}
+        --channel=${VIEWER_CHANNEL}
+        --login_channel=${VIEWER_LOGIN_CHANNEL}
+        --source=${CMAKE_CURRENT_SOURCE_DIR}
+        --artwork=${ARTWORK_DIR}
+        --build=${CMAKE_CURRENT_BINARY_DIR}
+        --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
+        --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
+      DEPENDS
+        ${VIEWER_BINARY_NAME}
+        ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+      )
+      add_dependencies(package mac-updater mac-crash-logger)
+  endif (PACKAGE)
 endif (DARWIN)
 
 if (INSTALL)