diff --git a/indra/develop.py b/indra/develop.py
index 2e50fb040b4bd0b7b10da6e15627ddc4a5a3c200..fe3bfc894f1ceaa628fcff07c3efcb9a78c1944f 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -65,6 +65,8 @@ class PlatformSetup(object):
     build_type = build_types['relwithdebinfo']
     standalone = 'FALSE'
     unattended = 'FALSE'
+    build_server = 'TRUE'
+    package = 'FALSE'
     distcc = True
     cmake_opts = []
 
@@ -108,6 +110,7 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
             opts=quote(opts),
             standalone=self.standalone,
             unattended=self.unattended,
+            build_server=self.build_server,
             type=self.build_type.upper(),
             )
         #if simple:
@@ -115,6 +118,7 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
         return ('cmake -DCMAKE_BUILD_TYPE:STRING=%(type)s '
                 '-DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
+                '-DSERVER:BOOL=%(build_server)s '
                 '-G %(generator)r %(opts)s %(dir)r' % args)
 
     def run(self, command, name=None):
@@ -381,6 +385,7 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
             opts=quote(opts),
             standalone=self.standalone,
             unattended=self.unattended,
+            build_server=self.build_server,
             universal='',
             type=self.build_type.upper()
             )
@@ -392,6 +397,7 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
                 '-DCMAKE_BUILD_TYPE:STRING=%(type)s '
                 '-DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
+                '-DSERVER:BOOL=%(build_server)s '
                 '%(universal)s '
                 '%(opts)s %(dir)r' % args)
 
@@ -467,12 +473,16 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
             opts=quote(opts),
             standalone=self.standalone,
             unattended=self.unattended,
+            build_server=self.build_server,
+            package=self.package,
             )
         #if simple:
         #    return 'cmake %(opts)s "%(dir)s"' % args
         return ('cmake -G "%(generator)s" '
                 '-DSTANDALONE:BOOL=%(standalone)s '
                 '-DUNATTENDED:BOOL=%(unattended)s '
+                '-DSERVER:BOOL=%(build_server)s '
+                '-DPACKAGE:BOOL=%(package)s '
                 '%(opts)s "%(dir)s"' % args)
 
     def find_visual_studio(self, gen=None):
@@ -590,6 +600,10 @@ def cmake_commandline(self, src_dir, build_dir, opts, simple):
        --unattended     build unattended, do not invoke any tools requiring
                         a human response
   -t | --type=NAME      build type ("Debug", "Release", or "RelWithDebInfo")
+  -V | --viewer-only    build/configure the viewer, skipping the server, for
+                        Windows/Mac only (Linux has auto-detect)
+  -P | --package        config 'package' target in Windows solution that will
+                        build an installer
   -N | --no-distcc      disable use of distcc
   -G | --generator=NAME generator name
                         Windows: VC71 or VS2003 (default), VC80 (VS2005) or VC90 (VS2008)
@@ -608,8 +622,8 @@ def main(arguments):
     try:
         opts, args = getopt.getopt(
             arguments,
-            '?hNt:G:',
-            ['help', 'standalone', 'no-distcc', 'unattended', 'type=', 'incredibuild', 'generator='])
+            '?hNVPt:G:',
+            ['help', 'standalone', 'no-distcc', 'viewer-only', 'package', 'unattended', 'type=', 'incredibuild', 'generator='])
     except getopt.GetoptError, err:
         print >> sys.stderr, 'Error:', err
         sys.exit(1)
@@ -639,6 +653,10 @@ def main(arguments):
             setup.distcc = False
         elif o in ('--incredibuild'):
             setup.incredibuild = True
+        elif o in ('-V', '--viewer-only'):
+            setup.build_server = 'FALSE'
+        elif o in ('-P', '--package'):
+            setup.package = 'TRUE'
         else:
             print >> sys.stderr, 'INTERNAL ERROR: unhandled option', repr(o)
             sys.exit(1)