From e3fcedc0ddbbdc4fe3b1faa0c46cdf77bb4ea1a9 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Wed, 14 Mar 2012 11:57:45 +1000 Subject: Apply various Mac build patches from Mimika Oh and Nemurimasu Neiro to fix up http://redmine.kokuaviewer.org/issues/598 and http://redmine.kokuaviewer.org/issues/602 --- linden/indra/develop.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 2f07e9e..3760609 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -435,7 +435,12 @@ class DarwinSetup(UnixSetup): type=self.build_type ) if self.universal == 'ON': + args['universal'] = '-DCMAKE_OSX_ARCHITECTURES:STRING=\'i386;ppc\'' + elif self.arch == 'ppc': + args['universal'] = '-DCMAKE_OSX_ARCHITECTURES:STRING=\'ppc\'' + else: args['universal'] = '-DCMAKE_OSX_ARCHITECTURES:STRING=\'i386\'' + #if simple: # return 'cmake %(opts)s %(dir)r' % args return ('cmake -G %(generator)r ' -- cgit v1.1 From 8fa60cf0f49c872402aa72d486e1f900a166d951 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 18 Apr 2013 14:03:24 +1000 Subject: New branch for building with nmake. This is a branch, coz it's still crap. --- linden/indra/develop.py | 83 +++++++++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 30 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 3760609..3344288 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -485,6 +485,10 @@ class WindowsSetup(PlatformSetup): 'vc100' : { 'gen' : r'Visual Studio 10', 'ver' : r'10.0' + }, + 'nmake' : { + 'gen' : r'NMake Makefiles', + 'ver' : r'' } } gens['vs2003'] = gens['vc71'] @@ -510,7 +514,7 @@ class WindowsSetup(PlatformSetup): else: print >> sys.stderr, 'Cannot find a Visual Studio installation, testing for express editions' for version in 'vc80 vc90 vc100 vc71'.split(): - if self.find_visual_studio_express(version): + if self.find_visual_studio_express(version) != '': self._generator = version self.using_express = True print 'Building with ', self.gens[version]['gen'] , "Express edition" @@ -534,19 +538,33 @@ class WindowsSetup(PlatformSetup): def cmake_commandline(self, src_dir, build_dir, opts, simple): args = dict( dir=src_dir, - generator=self.gens[self.generator.lower()]['gen'], opts=quote(opts), standalone=self.standalone, unattended=self.unattended, - project_name=self.project_name + project_name=self.project_name, + type=self.build_type, + use_vstool='ON' ) + if self.generator == 'nmake': + args['generator'] = r'NMake Makefiles' + args['use_vstool'] = 'OFF' + else: + args['generator'] = self.gens[self.generator.lower()]['gen'] + if self.using_express: + args['using_express'] = 'ON' + args['use_vstool'] = 'OFF' + else: + args['using_express'] = 'OFF' # default to packaging disabled # if simple: # return 'cmake %(opts)s "%(dir)s"' % args return ('cmake -G "%(generator)s" ' + '-DCMAKE_BUILD_TYPE:STRING=%(type)s ' '-DSTANDALONE:BOOL=%(standalone)s ' '-DUNATTENDED:BOOL=%(unattended)s ' '-DROOT_PROJECT_NAME:STRING=%(project_name)s ' + '-DUSING_EXPRESS:BOOL=%(using_express)s ' + '-DUSE_VSTOOL:BOOL=%(use_vstool)s ' #'-DPACKAGE:BOOL=ON ' '%(opts)s "%(dir)s"' % args) @@ -602,7 +620,7 @@ class WindowsSetup(PlatformSetup): config = '\"%s|Win32\"' % config return "buildconsole %s.sln /build %s" % (self.project_name, config) - + environment = self.find_visual_studio() if environment == '': environment = self.find_visual_studio_express() @@ -614,7 +632,17 @@ class WindowsSetup(PlatformSetup): print >> sys.stderr, "Solution can now be found in:", build_dirs[0] print >> sys.stderr, "Set %s as startup project" % self.project_name print >> sys.stderr, "Set build target is Release or RelWithDbgInfo" - exit(0) + exit(0) + + if self.generator == 'nmake': + '''Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds.''' + self.run(r'sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" build-nmake/win_crash_logger/CMakeFiles/windows-crash-logger.dir/flags.make') + self.run(r'sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" build-nmake/newview/CMakeFiles/imprudence-bin.dir/flags.make') + self.run(r'sed -i "s|\(^RC_FLAGS .* \) /EHsc .*/Zm1000 \($\)|\1\2|" build-nmake/win_crash_logger/CMakeFiles/windows-crash-logger.dir/flags.make') + self.run(r'sed -i "s|\(^RC_FLAGS .* \) /EHsc .*/Zm1000 \($\)|\1\2|" build-nmake/newview/CMakeFiles/imprudence-bin.dir/flags.make') + '''Evil hack.''' + self.run(r'touch newview/touched.bat') + return "nmake" # devenv.com is CLI friendly, devenv.exe... not so much. return ('"%sdevenv.com" %s.sln /build %s' % @@ -634,13 +662,6 @@ class WindowsSetup(PlatformSetup): raise CommandError('the command %r %s' % (name, ret)) - def run_cmake(self, args=[]): - '''Override to add the vstool.exe call after running cmake.''' - PlatformSetup.run_cmake(self, args) - if self.unattended == 'OFF': - if self.using_express == False: - self.run_vstool() - def run_vstool(self): for build_dir in self.build_dirs(): stamp = os.path.join(build_dir, 'vstool.txt') @@ -659,30 +680,30 @@ class WindowsSetup(PlatformSetup): print 'Running %r in %r' % (vstool_cmd, getcwd()) self.run(vstool_cmd) print >> open(stamp, 'w'), self.build_type - + def run_build(self, opts, targets): cwd = getcwd() build_cmd = self.get_build_cmd() - - for d in self.build_dirs(): - try: - os.chdir(d) - if targets: - for t in targets: - cmd = '%s /project %s %s' % (build_cmd, t, ' '.join(opts)) + if build_cmd != "": + for d in self.build_dirs(): + try: + os.chdir(d) + if targets: + for t in targets: + cmd = '%s /project %s %s' % (build_cmd, t, ' '.join(opts)) + print 'Running %r in %r' % (cmd, d) + self.run(cmd) + else: + cmd = '%s %s' % (build_cmd, ' '.join(opts)) print 'Running %r in %r' % (cmd, d) self.run(cmd) - else: - cmd = '%s %s' % (build_cmd, ' '.join(opts)) - print 'Running %r in %r' % (cmd, d) - self.run(cmd) - finally: - os.chdir(cwd) - + finally: + os.chdir(cwd) + class CygwinSetup(WindowsSetup): def __init__(self): super(CygwinSetup, self).__init__() - self.generator = 'vc80' + self.generator = 'nmake' def cmake_commandline(self, src_dir, build_dir, opts, simple): dos_dir = commands.getoutput("cygpath -w %s" % src_dir) @@ -692,11 +713,13 @@ class CygwinSetup(WindowsSetup): opts=quote(opts), standalone=self.standalone, unattended=self.unattended, - project_name=self.project_name + project_name=self.project_name, + type=self.build_type ) #if simple: # return 'cmake %(opts)s "%(dir)s"' % args return ('cmake -G "%(generator)s" ' + '-DCMAKE_BUILD_TYPE:STRING=%(type)s ' '-DUNATTENDED:BOOl=%(unattended)s ' '-DSTANDALONE:BOOL=%(standalone)s ' '-DROOT_PROJECT_NAME:STRING=%(project_name)s ' @@ -723,7 +746,7 @@ Options: -m32 | -m64 build architecture (32-bit or 64-bit) -N | --no-distcc disable use of distcc -G | --generator=NAME generator name - Windows: VC80 (VS2005--default), VC71 (VS2003), + Windows: NMake, VC80 (VS2005--default), VC71 (VS2003), VC90 (VS2008), or VC100 (VS2010) Mac OS X: Xcode (default), Unix Makefiles Linux: Unix Makefiles (default), KDevelop3 -- cgit v1.1 From 4e1c12f728f102f37f7e38b2ed12040dc3be42aa Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:53:55 +1000 Subject: No need to run cmake twice, the user gets warned if they screw up. --- linden/indra/develop.py | 1 - 1 file changed, 1 deletion(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 3344288..7d57973 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -829,7 +829,6 @@ For example: develop.py configure -DSERVER:BOOL=OFF""" for d in setup.build_dirs(): if not os.path.exists(d): raise CommandError('run "develop.py cmake" first') - setup.run_cmake() opts, targets = setup.parse_build_opts(args) setup.run_build(opts, targets) elif cmd == 'clean': -- cgit v1.1 From e3e59e2244b98b78175fecad22053a8edae1b365 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:54:58 +1000 Subject: Cmake now puts the running of vstool into the make files for us, so no need to do it in python. --- linden/indra/develop.py | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 7d57973..ba22202 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -662,25 +662,6 @@ class WindowsSetup(PlatformSetup): raise CommandError('the command %r %s' % (name, ret)) - def run_vstool(self): - for build_dir in self.build_dirs(): - stamp = os.path.join(build_dir, 'vstool.txt') - try: - prev_build = open(stamp).read().strip() - except IOError: - prev_build = '' - if prev_build == self.build_type: - # Only run vstool if the build type has changed. - continue - vstool_cmd = (os.path.join('tools','vstool','VSTool.exe') + - ' --solution ' + - os.path.join(build_dir,'Imprudence.sln') + - ' --config ' + self.build_type + - ' --startup imprudence-bin') - print 'Running %r in %r' % (vstool_cmd, getcwd()) - self.run(vstool_cmd) - print >> open(stamp, 'w'), self.build_type - def run_build(self, opts, targets): cwd = getcwd() build_cmd = self.get_build_cmd() -- cgit v1.1 From 45b52f8fa880afb3826f446f6b211b45873b29e5 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:56:23 +1000 Subject: Remove excess output from the vs finding code, and move it up in the file. --- linden/indra/develop.py | 80 ++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 45 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index ba22202..b2c600e 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -504,6 +504,41 @@ class WindowsSetup(PlatformSetup): self._generator = None self.incredibuild = False + def find_visual_studio(self, gen=None): + if gen is None: + gen = self._generator + gen = gen.lower() + try: + import _winreg + key_str = (r'SOFTWARE\Microsoft\VisualStudio\%s\Setup\VS' % + self.gens[gen]['ver']) + value_str = (r'EnvironmentDirectory') + reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) + key = _winreg.OpenKey(reg, key_str) + value = _winreg.QueryValueEx(key, value_str)[0] + print 'Found: %s' % value + return value + except WindowsError, err: + return '' + + def find_visual_studio_express(self, gen=None): + if gen is None: + gen = self._generator + gen = gen.lower() + try: + import _winreg + key_str = (r'SOFTWARE\Microsoft\VCExpress\%s\Setup\VC' % + self.gens[gen]['ver']) + value_str = (r'ProductDir') + reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) + key = _winreg.OpenKey(reg, key_str) + value = _winreg.QueryValueEx(key, value_str)[0]+"IDE" + print 'Found: %s' % value + self.using_express = True + return value + except WindowsError, err: + return '' + def _get_generator(self): if self._generator is None: for version in 'vc80 vc90 vc100 vc71'.split(): @@ -568,51 +603,6 @@ class WindowsSetup(PlatformSetup): #'-DPACKAGE:BOOL=ON ' '%(opts)s "%(dir)s"' % args) - def find_visual_studio(self, gen=None): - if gen is None: - gen = self._generator - gen = gen.lower() - try: - import _winreg - key_str = (r'SOFTWARE\Microsoft\VisualStudio\%s\Setup\VS' % - self.gens[gen]['ver']) - value_str = (r'EnvironmentDirectory') - print ('Reading VS environment from HKEY_LOCAL_MACHINE\%s\%s' % - (key_str, value_str)) - print key_str - - reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) - key = _winreg.OpenKey(reg, key_str) - value = _winreg.QueryValueEx(key, value_str)[0] - print 'Found: %s' % value - return value - except WindowsError, err: - print >> sys.stderr, "Didn't find ", self.gens[gen]['gen'] - return '' - - def find_visual_studio_express(self, gen=None): - if gen is None: - gen = self._generator - gen = gen.lower() - try: - import _winreg - key_str = (r'SOFTWARE\Microsoft\VCExpress\%s\Setup\VC' % - self.gens[gen]['ver']) - value_str = (r'ProductDir') - print ('Reading VS environment from HKEY_LOCAL_MACHINE\%s\%s' % - (key_str, value_str)) - print key_str - - reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) - key = _winreg.OpenKey(reg, key_str) - value = _winreg.QueryValueEx(key, value_str)[0]+"IDE" - print 'Found: %s' % value - self.using_express = True - return value - except WindowsError, err: - print >> sys.stderr, "Didn't find ", self.gens[gen]['gen'] - return '' - def get_build_cmd(self): if self.incredibuild: config = self.build_type -- cgit v1.1 From 3705e5468154c9682a4f38e646761a219cb53476 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:57:10 +1000 Subject: Remove more excess vs finding output. --- linden/indra/develop.py | 1 - 1 file changed, 1 deletion(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index b2c600e..2c974f6 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -547,7 +547,6 @@ class WindowsSetup(PlatformSetup): print 'Building with ', self.gens[version]['gen'] break else: - print >> sys.stderr, 'Cannot find a Visual Studio installation, testing for express editions' for version in 'vc80 vc90 vc100 vc71'.split(): if self.find_visual_studio_express(version) != '': self._generator = version -- cgit v1.1 From d00b8c8ea63479d4c2b917142912e4bbd5f5d4d2 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:58:51 +1000 Subject: Revert part of an earlier commit, no need to treat nmake differently for this bit. --- linden/indra/develop.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 2c974f6..c3e1341 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -572,6 +572,7 @@ class WindowsSetup(PlatformSetup): def cmake_commandline(self, src_dir, build_dir, opts, simple): args = dict( dir=src_dir, + generator=self.gens[self.generator.lower()]['gen'], opts=quote(opts), standalone=self.standalone, unattended=self.unattended, @@ -580,10 +581,7 @@ class WindowsSetup(PlatformSetup): use_vstool='ON' ) if self.generator == 'nmake': - args['generator'] = r'NMake Makefiles' args['use_vstool'] = 'OFF' - else: - args['generator'] = self.gens[self.generator.lower()]['gen'] if self.using_express: args['using_express'] = 'ON' args['use_vstool'] = 'OFF' -- cgit v1.1 From ccc8c7cbe905b1762e0a70201f1389c844f0db5d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:59:42 +1000 Subject: Do the right vs finding thing even if it's an nmake build. --- linden/indra/develop.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index c3e1341..470f66a 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -559,6 +559,8 @@ class WindowsSetup(PlatformSetup): return self._generator def _set_generator(self, gen): + if gen == 'nmake': + self._get_generator() self._generator = gen generator = property(_get_generator, _set_generator) @@ -608,18 +610,19 @@ class WindowsSetup(PlatformSetup): return "buildconsole %s.sln /build %s" % (self.project_name, config) - environment = self.find_visual_studio() + environment = self.find_visual_studio(self.generator) if environment == '': - environment = self.find_visual_studio_express() - if environment == '': - print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio?" - else: - print >> sys.stderr, "\nSolution generation complete, as you are using an express edition the final\n stages will need to be completed by hand" - build_dirs=self.build_dirs(); - print >> sys.stderr, "Solution can now be found in:", build_dirs[0] - print >> sys.stderr, "Set %s as startup project" % self.project_name - print >> sys.stderr, "Set build target is Release or RelWithDbgInfo" - exit(0) + environment = self.find_visual_studio_express(self.generator) + if self.generator != 'nmake': + if environment == '': + print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio?" + else: + print >> sys.stderr, "\nSolution generation complete, as you are using an express edition the final\n stages will need to be completed by hand" + build_dirs=self.build_dirs(); + print >> sys.stderr, "Solution can now be found in:", build_dirs[0] + print >> sys.stderr, "Set %s as startup project" % self.project_name + print >> sys.stderr, "Set build target is Release or RelWithDbgInfo" + exit(0) if self.generator == 'nmake': '''Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds.''' -- cgit v1.1 From 52fbc90af39ed076c039ea5b4f69bb4fb8d6518d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 23:00:01 +1000 Subject: Small clean ups. --- linden/indra/develop.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 470f66a..eb071bd 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -408,7 +408,7 @@ class LinuxSetup(UnixSetup): print 'Running %r' % cmd self.run(cmd) - + class DarwinSetup(UnixSetup): def __init__(self): super(DarwinSetup, self).__init__() @@ -599,7 +599,6 @@ class WindowsSetup(PlatformSetup): '-DROOT_PROJECT_NAME:STRING=%(project_name)s ' '-DUSING_EXPRESS:BOOL=%(using_express)s ' '-DUSE_VSTOOL:BOOL=%(use_vstool)s ' - #'-DPACKAGE:BOOL=ON ' '%(opts)s "%(dir)s"' % args) def get_build_cmd(self): @@ -607,7 +606,6 @@ class WindowsSetup(PlatformSetup): config = self.build_type if self.gens[self.generator]['ver'] in [ r'8.0', r'9.0', r'10.0', r'7.1' ]: config = '\"%s|Win32\"' % config - return "buildconsole %s.sln /build %s" % (self.project_name, config) environment = self.find_visual_studio(self.generator) @@ -625,14 +623,14 @@ class WindowsSetup(PlatformSetup): exit(0) if self.generator == 'nmake': - '''Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds.''' + # Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds. self.run(r'sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" build-nmake/win_crash_logger/CMakeFiles/windows-crash-logger.dir/flags.make') self.run(r'sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" build-nmake/newview/CMakeFiles/imprudence-bin.dir/flags.make') self.run(r'sed -i "s|\(^RC_FLAGS .* \) /EHsc .*/Zm1000 \($\)|\1\2|" build-nmake/win_crash_logger/CMakeFiles/windows-crash-logger.dir/flags.make') self.run(r'sed -i "s|\(^RC_FLAGS .* \) /EHsc .*/Zm1000 \($\)|\1\2|" build-nmake/newview/CMakeFiles/imprudence-bin.dir/flags.make') - '''Evil hack.''' + # Evil hack. self.run(r'touch newview/touched.bat') - return "nmake" + return 'nmake' # devenv.com is CLI friendly, devenv.exe... not so much. return ('"%sdevenv.com" %s.sln /build %s' % -- cgit v1.1 From 044d7575eab98ff26ed7d48a461b613db52bed04 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Fri, 26 Apr 2013 13:09:45 +1000 Subject: Make nmake builds more like VS builds. Still some tweaking to go, therefore, still some rough bits in this. --- linden/indra/develop.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index eb071bd..76ba0d9 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -580,10 +580,12 @@ class WindowsSetup(PlatformSetup): unattended=self.unattended, project_name=self.project_name, type=self.build_type, - use_vstool='ON' + use_vstool='ON', + nmake='' ) if self.generator == 'nmake': args['use_vstool'] = 'OFF' + args['nmake'] = '-DNMAKE:BOOL=ON' if self.using_express: args['using_express'] = 'ON' args['use_vstool'] = 'OFF' @@ -599,6 +601,7 @@ class WindowsSetup(PlatformSetup): '-DROOT_PROJECT_NAME:STRING=%(project_name)s ' '-DUSING_EXPRESS:BOOL=%(using_express)s ' '-DUSE_VSTOOL:BOOL=%(use_vstool)s ' + '%(nmake)s ' '%(opts)s "%(dir)s"' % args) def get_build_cmd(self): -- cgit v1.1 From dbc65cef0cf5be5963b95e245476f22aff840f21 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Tue, 14 May 2013 01:18:28 +1000 Subject: Allow visual studio express builds from develop.py command line - http://redmine.kokuaviewer.org/issues/711 A few additions to the previous nmake work, from Robin Cornelius. --- linden/indra/develop.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'linden/indra/develop.py') diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 76ba0d9..af633b2 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -532,7 +532,7 @@ class WindowsSetup(PlatformSetup): value_str = (r'ProductDir') reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) key = _winreg.OpenKey(reg, key_str) - value = _winreg.QueryValueEx(key, value_str)[0]+"IDE" + value = _winreg.QueryValueEx(key, value_str)[0]+"vcpackages" print 'Found: %s' % value self.using_express = True return value @@ -618,12 +618,8 @@ class WindowsSetup(PlatformSetup): if environment == '': print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio?" else: - print >> sys.stderr, "\nSolution generation complete, as you are using an express edition the final\n stages will need to be completed by hand" build_dirs=self.build_dirs(); - print >> sys.stderr, "Solution can now be found in:", build_dirs[0] - print >> sys.stderr, "Set %s as startup project" % self.project_name - print >> sys.stderr, "Set build target is Release or RelWithDbgInfo" - exit(0) + return("\"\"%s\\vcbuild\" /useenv %s.sln \"%s|win32\"\"" % (environment, self.project_name, self.build_type)) if self.generator == 'nmake': # Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds. -- cgit v1.1