From 2b822609270b6ec5bb941d67a3cb9ea19c122383 Mon Sep 17 00:00:00 2001 From: Griatch Date: Mon, 2 Feb 2015 17:42:24 +0100 Subject: [PATCH] Another variant of windows install, using a dynamically created .bat file. --- bin/evennia.bat | 1 - setup.py | 23 +++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) delete mode 100755 bin/evennia.bat diff --git a/bin/evennia.bat b/bin/evennia.bat deleted file mode 100755 index ff00d9e1b8..0000000000 --- a/bin/evennia.bat +++ /dev/null @@ -1 +0,0 @@ -@"python" "bin\evennia.py" %* diff --git a/setup.py b/setup.py index c77428fbf7..e1a51ad30c 100644 --- a/setup.py +++ b/setup.py @@ -1,8 +1,11 @@ import os +import sys from setuptools import setup, find_packages os.chdir(os.path.dirname(os.path.realpath(__file__))) +VERSION_PATH = os.path.join('evennia', 'VERSION.txt') + def get_requirements(): """ @@ -17,7 +20,23 @@ def get_requirements(): reqs.append(line) return reqs -VERSION_PATH = os.path.join('evennia', 'VERSION.txt') + +def get_scripts(): + """ + Determine which executable scripts should be added. For Windows, + this means creating a .bat file. + """ + execlist = [] + if os.name == "nt": + # Windows + with open(os.path("bin", "evennia.bat"), "w") as bat_file: + bat_file.write("@\"%s\" \"%s\" %%*" % (sys.executable, os.path.join("bin/python.py"))) + execlist.append("bin/evennia.bat") + else: + # Linux, Mac + execlist.append("bin/evennia") + execlist.append("bin/evennia_runner.py") + return execlist def get_version(): @@ -49,7 +68,7 @@ setup( version=get_version(), description='A full-featured MUD building toolkit.', packages=find_packages(), - scripts=['bin/evennia', 'bin/evennia.bat', 'bin/evennia_runner.py'], + scripts=get_scripts(), install_requires=get_requirements(), package_data={'': package_data()}, zip_safe=False