summaryrefslogtreecommitdiff
path: root/indra/copy_win_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'indra/copy_win_scripts')
-rw-r--r--indra/copy_win_scripts/CMakeLists.txt35
-rw-r--r--indra/copy_win_scripts/start-client.py64
2 files changed, 99 insertions, 0 deletions
diff --git a/indra/copy_win_scripts/CMakeLists.txt b/indra/copy_win_scripts/CMakeLists.txt
new file mode 100644
index 0000000000..b1b1006e56
--- /dev/null
+++ b/indra/copy_win_scripts/CMakeLists.txt
@@ -0,0 +1,35 @@
+# -*- cmake -*-
+
+# The copy_win_scripts folder contains scripts handy for launching the
+# from the windows command line on windows.
+# The cmake target created copies the scripts to the
+# build directory being used, which where the scripts
+# need to be executed from.
+
+include(CMakeCopyIfDifferent)
+
+set(win_scripts-src ${CMAKE_SOURCE_DIR}/copy_win_scripts)
+set(win_scripts-dst ${CMAKE_BINARY_DIR}/batch)
+
+set(file-list
+ llstart.py
+ start-client.py
+ start-servers.py
+ stop-servers.py
+ user_config.py
+ )
+
+foreach(file ${file-list})
+ if(EXISTS ${file})
+ set(win_scripts-files ${win_scripts-files} file)
+ endif(EXISTS ${file})
+endforeach(file ${file-list})
+
+copy_if_different(
+ ${win_scripts-src}
+ ${win_scripts-dst}
+ win_scripts-targets
+ ${win_scripts-files}
+ )
+
+add_custom_target(copy_win_scripts ALL DEPENDS ${win_scripts-targets})
diff --git a/indra/copy_win_scripts/start-client.py b/indra/copy_win_scripts/start-client.py
new file mode 100644
index 0000000000..fe3906ccb1
--- /dev/null
+++ b/indra/copy_win_scripts/start-client.py
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+import sys, getopt
+import os
+import llstart
+
+def usage():
+ print """start-client.py
+
+ --grid <grid>
+ --farm <grid>
+ --region <starting region name>
+ """
+
+def start_client(grid, slurl, build_config, my_args):
+ login_url = "https://login.%s.lindenlab.com/cgi-bin/login.cgi" % (grid)
+
+ viewer_args = { "--grid" : grid,
+ "--loginuri" : login_url }
+ viewer_args.update(my_args)
+ # *sigh* We must put --url at the end of the argument list.
+ if viewer_args.has_key("--url"):
+ slurl = viewer_args["--url"]
+ del(viewer_args["--url"])
+ viewer_args = llstart.get_args_from_dict(viewer_args)
+ if slurl is not None:
+ viewer_args += " --url %s" % slurl
+
+ # Figure out path stuff.
+ # The client should run from indra/newview
+ # but the exe is at indra/build-<xxx>/newview/<target>
+ build_path = os.path.dirname(os.getcwd());
+ f = open("start-client.log", "w")
+ print >>f, "Viewer startup arguments:"
+ llstart.start("viewer", "../../newview",
+ "%s/newview/%s/secondlife-bin.exe" % (build_path, build_config),
+ viewer_args, f)
+ f.close()
+
+if __name__ == "__main__":
+ grid = llstart.get_config("grid")
+ build_config = llstart.get_config("build_config")
+ my_args = llstart.get_config("viewer_args", force_dict = True)
+ opts, args = getopt.getopt(sys.argv[1:], "u:r:f:g:i:h",
+ ["region=", "username=", "farm=", "grid=", "ip=", "help"])
+ region = None
+ for o, a in opts:
+ if o in ("-r", "--region", "-u", "--username"):
+ region = a
+ if o in ("-f", "--farm", "-g", "--grid"):
+ grid = a
+ if o in ("-h", "--help"):
+ usage()
+ sys.exit(0)
+
+ slurl = llstart.get_config("slurl")
+ if slurl == "":
+ if region is None:
+ region = llstart.get_user_name()
+ slurl = "//%s/128/128/" % (region)
+ # Ensure the slurl has quotes around it.
+ if slurl is not None:
+ slurl = '"%s"' % (slurl.strip('"\''))
+
+ start_client(grid, slurl, build_config, my_args)