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 ++++++++++++++++++---------- linden/indra/newview/CMakeLists.txt | 4 +- linden/indra/newview/viewer_manifest.py | 8 +-- linden/scripts/linux/0-patch-SL-source | 2 +- linden/scripts/linux/1-get-libraries-from-SL | 11 ++-- linden/scripts/linux/3-compile-SL-source | 27 +-------- linden/scripts/linux/4-package-viewer | 11 +++- linden/scripts/linux/config-SL-source | 16 +++++- 8 files changed, 90 insertions(+), 72 deletions(-) (limited to 'linden') 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 diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index b9c41fc..9172aa0 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt @@ -1326,7 +1326,7 @@ if (WINDOWS) # sets the 'working directory' for debugging from visual studio. if (NOT UNATTENDED) - if (NOT self.using_express) + if (USE_VSTOOL) add_custom_command( TARGET ${VIEWER_BINARY_NAME} PRE_BUILD COMMAND ${CMAKE_SOURCE_DIR}/tools/vstool/vstool.exe @@ -1338,7 +1338,7 @@ if (WINDOWS) ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Setting the ${VIEWER_BINARY_NAME} working directory for debugging." ) - endif (NOT self.using_express) + endif (USE_VSTOOL) endif (NOT UNATTENDED) add_custom_command( diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index bcdf4a9..718c3d2 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py @@ -244,7 +244,7 @@ class WindowsManifest(ViewerManifest): elif self.configuration().lower() == "debug": self.path(self.find_existing_file('debug/imprudence-bin.exe'), dst=self.final_exe()) else: - self.path(self.find_existing_file('release/imprudence-bin.exe', 'releasesse2/imprudence-bin.exe', 'relwithdebinfo/imprudence-bin.exe', 'debug/imprudence-bin.exe'), dst=self.final_exe()) + self.path(self.find_existing_file('release/imprudence-bin.exe', 'releasesse2/imprudence-bin.exe', 'relwithdebinfo/imprudence-bin.exe', 'debug/imprudence-bin.exe', 'imprudence-bin.exe'), dst=self.final_exe()) # copy over the the pdb file for the regular or SSE2 versions if we don't already have one copied symbol_ver = '.'.join(self.args['version']) @@ -281,7 +281,7 @@ class WindowsManifest(ViewerManifest): #self.path("fmod.dll") # For spellchecking - if self.prefix(src=self.args['configuration'], dst=""): + if self.prefix(src=os.path.join(self.args['configuration'], "Release"), dst=""): self.path("libhunspell.dll") self.end_prefix() @@ -289,12 +289,12 @@ class WindowsManifest(ViewerManifest): self.path("llkdu.dll.2.config") # Get llcommon and deps. - if self.prefix(src=self.args['configuration'], dst=""): + if self.prefix(src=os.path.join(self.args['configuration'], "Release"), dst=""): self.path('libapr-1.dll') self.path('libaprutil-1.dll') self.path('libapriconv-1.dll') - self.path('llcommon.dll') self.end_prefix() + self.path('llcommon.dll') # For textures if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): diff --git a/linden/scripts/linux/0-patch-SL-source b/linden/scripts/linux/0-patch-SL-source index 4885d5d..ce0dabe 100755 --- a/linden/scripts/linux/0-patch-SL-source +++ b/linden/scripts/linux/0-patch-SL-source @@ -22,7 +22,7 @@ if [ "$PATCHES" != "" ] ; then elif echo $i | grep ".bz2" &>/dev/null ; then bzcat $i | patch -p1 -s elif echo $i | grep ".zip" &>/dev/null ; then - unzip -o $i >/dev/null + unzip -o $i >/dev/null else patch -p1 -s <$i fi diff --git a/linden/scripts/linux/1-get-libraries-from-SL b/linden/scripts/linux/1-get-libraries-from-SL index 9ba61f4..87ad39c 100755 --- a/linden/scripts/linux/1-get-libraries-from-SL +++ b/linden/scripts/linux/1-get-libraries-from-SL @@ -53,7 +53,7 @@ source config-SL-source cd $PATH_TO_SOURCES/indra # Do a clean build -./develop.py clean +#./develop.py $os_extra clean # Force the vectorization use if we chose so. if [ "$FORCE_VECTORIZE" == "yes" ] ; then @@ -65,7 +65,8 @@ else FATAL_WARNINGS="" fi # Configure the sources and download the LL provided libraries: -./develop.py --type=Release configure "$FATAL_WARNINGS" \ - -DCMAKE_C_FLAGS:STRING="-O2 $TUNE_FLAGS" -DCMAKE_CXX_FLAGS:STRING="-O2 $TUNE_FLAGS" \ - -DCMAKE_C_FLAGS_RELEASE:STRING="-O2 $TUNE_FLAGS" -DCMAKE_CXX_FLAGS_RELEASE:STRING="-O2 $TUNE_FLAGS" \ - -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="-g -O2 $TUNE_FLAGS" -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-g -O2 $TUNE_FLAGS" +./develop.py $os_extra --type=Release configure "$FATAL_WARNINGS" \ + -DCMAKE_C_FLAGS:STRING="$TUNE_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$TUNE_FLAGS" \ + -DCMAKE_C_FLAGS_DEBUG:STRING="-g $TUNE_FLAGS" -DCMAKE_CXX_FLAGS_DEBUG:STRING="-g $TUNE_FLAGS" \ + -DCMAKE_C_FLAGS_RELEASE:STRING="$TUNE_FLAGS" -DCMAKE_CXX_FLAGS_RELEASE:STRING="$TUNE_FLAGS" \ + -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="-g $TUNE_FLAGS" -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-g $TUNE_FLAGS" -DPACKAGE:BOOL=ON diff --git a/linden/scripts/linux/3-compile-SL-source b/linden/scripts/linux/3-compile-SL-source index 34395bb..c932340 100755 --- a/linden/scripts/linux/3-compile-SL-source +++ b/linden/scripts/linux/3-compile-SL-source @@ -54,10 +54,7 @@ source config-SL-source function compile() { cd $PATH_TO_SOURCES/indra echo "Compiling the client into $TEMP_DIR..." - nice -n 19 ionice -c 3 ./develop.py --type=Release build -# if (($? == 0)) ; then -# mv -f $PATH_TO_SOURCES/indra/viewer-linux-i686*/newview/SecondLife*.tar.bz2 $HOME/ -# fi + nice -n 19 $ionice ./develop.py $os_extra --type=Release build } ########### end of functions ########### @@ -66,14 +63,7 @@ if [ "$TEMP_DIR" == "" ] ; then export TEMP_DIR="/usr/tmp/$USER" fi -# Check to see if we simply want to retry a compilation: -if [ "$1" == "--retry" ] ; then - compile - exit $? -fi - # Use the parameter (if any) as the path to the archives: - PATH_TO_ARCHIVES=`pwd` if [ "$1" != "" ] && [ "$1" != "--prep" ] ; then if [ -d $1 ] ; then @@ -83,19 +73,4 @@ if [ "$1" != "" ] && [ "$1" != "--prep" ] ; then fi cd $PATH_TO_SOURCES/indra - -# Do a clean build -#./develop.py clean - -# Force the vectorization use if we chose so. -if [ "$FORCE_VECTORIZE" == "yes" ] ; then - TUNE_FLAGS="$TUNE_FLAGS -DLL_VECTORIZE=1" -fi -if [ "$ALLOW_WARNINGS" == "yes" ] ; then - FATAL_WARNINGS="-DGCC_DISABLE_FATAL_WARNINGS:BOOL=TRUE" -else - FATAL_WARNINGS="" -fi - time compile - diff --git a/linden/scripts/linux/4-package-viewer b/linden/scripts/linux/4-package-viewer index b2bff7f..19d2456 100755 --- a/linden/scripts/linux/4-package-viewer +++ b/linden/scripts/linux/4-package-viewer @@ -1,5 +1,10 @@ #!/bin/bash -cd ../../indra/viewer-linux-* -make package - +if [ "$OSTYPE" == "cygwin" ] ; then + # Assumes version has been passed in from outside, coz Windows insists on adding crap to python output. + cd ../../indra/build-nmake/ + iscc newview/package/${version}-Windows-x86.iss +else + cd ../../indra/viewer-linux-* + make package +fi diff --git a/linden/scripts/linux/config-SL-source b/linden/scripts/linux/config-SL-source index 174d7d4..200f957 100644 --- a/linden/scripts/linux/config-SL-source +++ b/linden/scripts/linux/config-SL-source @@ -9,6 +9,9 @@ # accordingly, so that you (should) end up with a properly packaged client. PWD=`pwd` +os_extra='' +ionice='ionice -c 3' + # Where the sources of the client will be held (defaults to "./linden"): PATH_TO_SOURCES="$PWD/../.." @@ -53,7 +56,7 @@ USE_SYSTEM_BOOST="no" # You may add tune flags here, to optimize the code for your processor. # Example, for an Athlon XP: # TUNE_FLAGS="-march=athlon-xp" -TUNE_FLAGS="-fomit-frame-pointer -frename-registers -ftree-vectorize -fweb -fexpensive-optimizations -msse -mfpmath=sse" +TUNE_FLAGS="-O2 -fomit-frame-pointer -frename-registers -ftree-vectorize -fweb -fexpensive-optimizations -msse -mfpmath=sse" # Set this to "yes" to force vectorization use in the viewer code (only for # processors with SSE or Altivec units, and only if you did enable them via # the TUNE_FLAGS. @@ -61,3 +64,14 @@ FORCE_VECTORIZE="yes" # When using gcc v4.3 or later, you might have to set this to yes... ALLOW_WARNINGS="yes" + + +# Change it all for cygwin. +if [ "$OSTYPE" == "cygwin" ] ; then + os_extra='-G nmake' + ionice='' + USE_SYSTEM_LIBSTDC="no" + TUNE_FLAGS="/EHsc /GR /Zm1000 /DWIN32 /D_WINDOWS " + FORCE_VECTORIZE="no" + ALLOW_WARNINGS="no" +fi -- cgit v1.1 From 51b5df7ebb0aa5a426e98082e76fc31796dcbb4d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Fri, 19 Apr 2013 04:01:13 +1000 Subject: Bump experimental version number. --- .../installers/windows/imprudence_installer_script_experimental.iss | 4 ++-- linden/indra/newview/packaging/mac/English.lproj/InfoPlist.strings | 4 ++-- linden/indra/newview/res/viewerRes.rc | 4 ++-- linden/indra/newview/viewerinfo.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss b/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss index d50957d..a396381 100644 --- a/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss +++ b/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss @@ -9,11 +9,11 @@ ; These will change AppId={{1B3E68BC-13EB-4277-9439-CB5FF9259460} AppName=Imprudence Viewer Experimental -AppVerName=Imprudence Viewer 1.4.0.3 exp 0 windows test release +AppVerName=Imprudence Viewer 1.4.0.3 exp 1 windows test release DefaultDirName={pf}\ImprudenceExperimental DefaultGroupName=Imprudence Viewer Experimental VersionInfoProductName=Imprudence Viewer Experimental -OutputBaseFilename=Imprudence-1.4.0.3-exp-0-windows-test +OutputBaseFilename=Imprudence-1.4.0.3-exp-1-windows-test VersionInfoVersion=1.4.0.3 VersionInfoTextVersion=1.4.0.3 VersionInfoProductVersion=1.4.0.3 diff --git a/linden/indra/newview/packaging/mac/English.lproj/InfoPlist.strings b/linden/indra/newview/packaging/mac/English.lproj/InfoPlist.strings index 91eae98..e0014d3 100644 --- a/linden/indra/newview/packaging/mac/English.lproj/InfoPlist.strings +++ b/linden/indra/newview/packaging/mac/English.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ /* Localized versions of Info.plist keys */ CFBundleName = "Imprudence"; -CFBundleShortVersionString = "Imprudence 1.4.0.3 exp 0"; -CFBundleGetInfoString = "Imprudence 1.4.0.3 exp 0"; +CFBundleShortVersionString = "Imprudence 1.4.0.3 exp 1"; +CFBundleGetInfoString = "Imprudence 1.4.0.3 exp 1"; diff --git a/linden/indra/newview/res/viewerRes.rc b/linden/indra/newview/res/viewerRes.rc index 4144e47..edeee92 100644 --- a/linden/indra/newview/res/viewerRes.rc +++ b/linden/indra/newview/res/viewerRes.rc @@ -156,11 +156,11 @@ BEGIN BEGIN VALUE "CompanyName", "Imprudence Viewer Project" VALUE "FileDescription", "Imprudence" - VALUE "FileVersion", "1.4.0.3 exp 0" + VALUE "FileVersion", "1.4.0.3 exp 1" VALUE "InternalName", "Imprudence" VALUE "OriginalFilename", "imprudence.exe" VALUE "ProductName", "Imprudence" - VALUE "ProductVersion", "1.4.0.3 exp 0" + VALUE "ProductVersion", "1.4.0.3 exp 1" END END BLOCK "VarFileInfo" diff --git a/linden/indra/newview/viewerinfo.cpp b/linden/indra/newview/viewerinfo.cpp index d1ed1a0..7237c16 100644 --- a/linden/indra/newview/viewerinfo.cpp +++ b/linden/indra/newview/viewerinfo.cpp @@ -37,7 +37,7 @@ namespace ViewerInfo const S32 MINOR = 4; const S32 PATCH = 0; const S32 RLEAS = 3; // increment for each beta/RC/release - const std::string EXTRA = "exp 0"; + const std::string EXTRA = "exp 1"; // Mac OS X bundle identifier. Should match the one in Info.plist. const std::string BUNDLE_ID = "org.imprudenceviewer.viewer"; -- cgit v1.1 From 37301a51d2d2f3731ada3ad2170cb9ec91945b62 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Fri, 19 Apr 2013 17:12:36 +1000 Subject: Allow the build scripts to build a configurable type, and make that type RelWithDebInfo. --- linden/scripts/linux/1-get-libraries-from-SL | 2 +- linden/scripts/linux/3-compile-SL-source | 2 +- linden/scripts/linux/config-SL-source | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'linden') diff --git a/linden/scripts/linux/1-get-libraries-from-SL b/linden/scripts/linux/1-get-libraries-from-SL index 87ad39c..99a4367 100755 --- a/linden/scripts/linux/1-get-libraries-from-SL +++ b/linden/scripts/linux/1-get-libraries-from-SL @@ -65,7 +65,7 @@ else FATAL_WARNINGS="" fi # Configure the sources and download the LL provided libraries: -./develop.py $os_extra --type=Release configure "$FATAL_WARNINGS" \ +./develop.py $os_extra --type=$TYPE configure "$FATAL_WARNINGS" \ -DCMAKE_C_FLAGS:STRING="$TUNE_FLAGS" -DCMAKE_CXX_FLAGS:STRING="$TUNE_FLAGS" \ -DCMAKE_C_FLAGS_DEBUG:STRING="-g $TUNE_FLAGS" -DCMAKE_CXX_FLAGS_DEBUG:STRING="-g $TUNE_FLAGS" \ -DCMAKE_C_FLAGS_RELEASE:STRING="$TUNE_FLAGS" -DCMAKE_CXX_FLAGS_RELEASE:STRING="$TUNE_FLAGS" \ diff --git a/linden/scripts/linux/3-compile-SL-source b/linden/scripts/linux/3-compile-SL-source index c932340..4ac80a7 100755 --- a/linden/scripts/linux/3-compile-SL-source +++ b/linden/scripts/linux/3-compile-SL-source @@ -54,7 +54,7 @@ source config-SL-source function compile() { cd $PATH_TO_SOURCES/indra echo "Compiling the client into $TEMP_DIR..." - nice -n 19 $ionice ./develop.py $os_extra --type=Release build + nice -n 19 $ionice ./develop.py $os_extra --type=$TYPE build } ########### end of functions ########### diff --git a/linden/scripts/linux/config-SL-source b/linden/scripts/linux/config-SL-source index 200f957..80ae27a 100644 --- a/linden/scripts/linux/config-SL-source +++ b/linden/scripts/linux/config-SL-source @@ -21,6 +21,8 @@ PATH_TO_PATCHES="$PWD/../../patches" TEMP_DIR="/tmp/SL-$USER" mkdir -p $TEMP_DIR +TYPE="RelWithDebInfo" + USE_SYSTEM_GTK="no" USE_SYSTEM_SDL="no" USE_SYSTEM_SSL="no" -- cgit v1.1 From 976874914ea9f8cda148c02bfed1cdc4f3c47442 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 20 Apr 2013 22:53:07 +1000 Subject: Make python output stuff in the proper order. --- linden/scripts/linux/config-SL-source | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'linden') diff --git a/linden/scripts/linux/config-SL-source b/linden/scripts/linux/config-SL-source index 80ae27a..f60fd92 100644 --- a/linden/scripts/linux/config-SL-source +++ b/linden/scripts/linux/config-SL-source @@ -77,3 +77,7 @@ if [ "$OSTYPE" == "cygwin" ] ; then FORCE_VECTORIZE="no" ALLOW_WARNINGS="no" fi + + +# Work around python problems. +export PYTHONUNBUFFERED='True' -- 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') 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') 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') 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') 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') 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') 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') 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/cmake/00-Common.cmake | 5 +++ linden/indra/develop.py | 5 ++- linden/indra/llplugin/slplugin/CMakeLists.txt | 2 +- linden/indra/mac_crash_logger/CMakeLists.txt | 2 +- linden/indra/mac_updater/CMakeLists.txt | 2 +- linden/indra/media_plugins/webkit/CMakeLists.txt | 4 +- linden/indra/newview/CMakeLists.txt | 42 +++++++++--------- .../windows/imprudence_installer_template.iss | 14 +++--- linden/indra/newview/viewer_manifest.py | 51 ++++++++++++---------- linden/indra/test_apps/llplugintest/CMakeLists.txt | 4 +- linden/scripts/linux/4-package-viewer | 2 +- 11 files changed, 73 insertions(+), 60 deletions(-) (limited to 'linden') diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake index 81bfbdf..ea21ba0 100644 --- a/linden/indra/cmake/00-Common.cmake +++ b/linden/indra/cmake/00-Common.cmake @@ -24,6 +24,11 @@ list(REMOVE_DUPLICATES TYPES) set(CMAKE_CONFIGURATION_TYPES ${TYPES} CACHE STRING "Supported build types." FORCE) unset(TYPES) +# Work around nmake / VS difference. +set(VIEWER_CFG_INTDIR ${CMAKE_CFG_INTDIR}) +if (NMAKE) + set(VIEWER_CFG_INTDIR ${CMAKE_BUILD_TYPE}) +endif(NMAKE) # Determine the number of bits of this processor 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): diff --git a/linden/indra/llplugin/slplugin/CMakeLists.txt b/linden/indra/llplugin/slplugin/CMakeLists.txt index 81d9299..f794dae 100755 --- a/linden/indra/llplugin/slplugin/CMakeLists.txt +++ b/linden/indra/llplugin/slplugin/CMakeLists.txt @@ -75,7 +75,7 @@ if (DARWIN) COMMAND mkdir ARGS -p - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/SLPlugin.app/Contents/Resources + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/SLPlugin.app/Contents/Resources ) endif (DARWIN) diff --git a/linden/indra/mac_crash_logger/CMakeLists.txt b/linden/indra/mac_crash_logger/CMakeLists.txt index daf3e10..ee1dc93 100644 --- a/linden/indra/mac_crash_logger/CMakeLists.txt +++ b/linden/indra/mac_crash_logger/CMakeLists.txt @@ -71,6 +71,6 @@ add_custom_command( -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/CrashReporter.nib - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mac-crash-logger.app/Contents/Resources/CrashReporter.nib + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/mac-crash-logger.app/Contents/Resources/CrashReporter.nib ) diff --git a/linden/indra/mac_updater/CMakeLists.txt b/linden/indra/mac_updater/CMakeLists.txt index 0eac76f..5ae7dd8 100644 --- a/linden/indra/mac_updater/CMakeLists.txt +++ b/linden/indra/mac_updater/CMakeLists.txt @@ -74,6 +74,6 @@ add_custom_command( -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/AutoUpdater.nib - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mac-updater.app/Contents/Resources/AutoUpdater.nib + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/mac-updater.app/Contents/Resources/AutoUpdater.nib ) diff --git a/linden/indra/media_plugins/webkit/CMakeLists.txt b/linden/indra/media_plugins/webkit/CMakeLists.txt index 303a774..f589c61 100644 --- a/linden/indra/media_plugins/webkit/CMakeLists.txt +++ b/linden/indra/media_plugins/webkit/CMakeLists.txt @@ -112,8 +112,8 @@ if (DARWIN) # copy the webkit dylib to the build directory add_custom_command( TARGET media_plugin_webkit POST_BUILD -# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ +# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/libllqtwebkit.dylib + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/ DEPENDS media_plugin_webkit ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ) diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index 9172aa0..907fa5c 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt @@ -1348,7 +1348,7 @@ if (WINDOWS) -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/messages/message_template.msg - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message_template.msg + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/app_settings/message_template.msg COMMENT "Copying message_template.msg to the runtime folder." ) @@ -1359,7 +1359,7 @@ if (WINDOWS) -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/../../etc/message.xml - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings/message.xml + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/app_settings/message.xml COMMENT "Copying message.xml to the runtime folder." ) @@ -1370,11 +1370,11 @@ if (WINDOWS) endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) add_custom_command( - OUTPUT ${CMAKE_CFG_INTDIR}/touched.bat + OUTPUT ${VIEWER_CFG_INTDIR}/touched.bat COMMAND ${PYTHON_EXECUTABLE} ARGS ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py - --configuration=${CMAKE_CFG_INTDIR} + --configuration=${VIEWER_CFG_INTDIR} --channel=${VIEWER_CHANNEL} --login_channel=${VIEWER_LOGIN_CHANNEL} --standalone=${STANDALONE} @@ -1383,15 +1383,15 @@ if (WINDOWS) --source=${CMAKE_CURRENT_SOURCE_DIR} --artwork=${ARTWORK_DIR} --build=${CMAKE_CURRENT_BINARY_DIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/package - --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat + --dest=${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/package + --touch=${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/touched.bat DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit media_plugin_gstreamer010) if (PACKAGE) - add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) + add_custom_target(package ALL DEPENDS ${VIEWER_CFG_INTDIR}/touched.bat) add_dependencies(package windows-updater windows-crash-logger) endif (PACKAGE) endif (WINDOWS) @@ -1526,8 +1526,8 @@ if (DARWIN) --artwork=${ARTWORK_DIR} --build=${CMAKE_CURRENT_BINARY_DIR} --buildtype=${CMAKE_BUILD_TYPE} - --configuration=${CMAKE_CFG_INTDIR} - --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app + --configuration=${VIEWER_CFG_INTDIR} + --dest=${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/${product}.app --grid=${GRID} --source=${CMAKE_CURRENT_SOURCE_DIR} --standalone=${STANDALONE} @@ -1558,8 +1558,8 @@ if (WINDOWS) -E copy_if_different ${BUILT_LLCOMMON} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - COMMENT "Copying llcommon.dll to the runtime folder." + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR} + COMMENT "Copying llcommon.dll to the runtime folder ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}." ) get_target_property(BUILT_SLPLUGIN SLPlugin LOCATION) @@ -1570,8 +1570,8 @@ if (WINDOWS) -E copy_if_different ${BUILT_SLPLUGIN} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - COMMENT "Copying SLPlugin executable to the runtime folder." + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR} + COMMENT "Copying SLPlugin executable to the runtime folder ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}." ) get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION) @@ -1582,8 +1582,8 @@ if (WINDOWS) -E copy_if_different ${BUILT_WEBKIT_PLUGIN} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin - COMMENT "Copying WebKit Plugin to the runtime folder." + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin + COMMENT "Copying WebKit Plugin to the runtime folder ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin." ) get_target_property(BUILT_GSTREAMER_PLUGIN media_plugin_gstreamer010 LOCATION) @@ -1594,8 +1594,8 @@ if (WINDOWS) -E copy_if_different ${BUILT_GSTREAMER_PLUGIN} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin - COMMENT "Copying Gstreamer Plugin to the runtime folder." + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin + COMMENT "Copying Gstreamer Plugin to the runtime folder ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin." ) get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION) @@ -1606,13 +1606,13 @@ if (WINDOWS) -E copy_if_different ${BUILT_QUICKTIME_PLUGIN} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin - COMMENT "Copying Quicktime Plugin to the runtime folder." + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin + COMMENT "Copying Quicktime Plugin to the runtime folder ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin." ) # Copying the mime_types.xml file to app_settings set(mime_types_source "${CMAKE_SOURCE_DIR}/newview/skins/default/xui/en-us") - set(mime_types_dest "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/app_settings") + set(mime_types_dest "${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/app_settings") add_custom_command( TARGET ${VIEWER_BINARY_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} @@ -1629,7 +1629,7 @@ endif (WINDOWS) if (DARWIN) # Don't do this here -- it's taken care of by viewer_manifest.py # add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD -# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/ +# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llplugin/ # DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib # ) endif (DARWIN) diff --git a/linden/indra/newview/installers/windows/imprudence_installer_template.iss b/linden/indra/newview/installers/windows/imprudence_installer_template.iss index 7113368..7d02b0c 100644 --- a/linden/indra/newview/installers/windows/imprudence_installer_template.iss +++ b/linden/indra/newview/installers/windows/imprudence_installer_template.iss @@ -27,16 +27,16 @@ AppPublisher=The Imprudence Project AppPublisherURL=http://kokuaviewer.org AppSupportURL=http://kokuaviewer.org AllowNoIcons=true -InfoAfterFile=..\..\..\..\..\README.txt +InfoAfterFile=..\..\..\..\..\..\README.txt OutputDir=. -SetupIconFile=..\..\..\newview\installers\windows\imp_icon.ico +SetupIconFile=..\..\..\..\newview\installers\windows\imp_icon.ico Compression=lzma2/ultra64 InternalCompressLevel=ultra64 SolidCompression=true PrivilegesRequired=poweruser AllowRootDirectory=true -WizardImageFile=..\..\..\newview\installers\windows\imprudence_installer_icon_left.bmp -WizardSmallImageFile=..\..\..\newview\installers\windows\imprudence_installer_icon_right.bmp +WizardImageFile=..\..\..\..\newview\installers\windows\imprudence_installer_icon_left.bmp +WizardSmallImageFile=..\..\..\..\newview\installers\windows\imprudence_installer_icon_right.bmp SetupLogging=true RestartIfNeededByRun=false AlwaysRestart=false @@ -145,9 +145,9 @@ Source: %%PACKAGEFILES%%\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion Source: %%PACKAGEFILES%%\wrap_oal.dll; DestDir: {app}; Flags: ignoreversion ; VC++ 2005 SP1 x86, VC++ 2008 SP1 x86, and VC++ 2010 SP1 x86 redist -Source: ..\..\..\newview\installers\windows\vcredist_x86_VS2005_SP1_MFC_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2005_SP1_MFC_SEC.exe -;Source: ..\..\..\newview\installers\windows\vcredist_x86_VS2008_SP1_ATL_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2008_SP1_ATL_SEC.exe -Source: ..\..\..\newview\installers\windows\vcredist_x86_VS2010_SP1.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2010_SP1.exe +Source: ..\..\..\..\newview\installers\windows\vcredist_x86_VS2005_SP1_MFC_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2005_SP1_MFC_SEC.exe +;Source: ..\..\..\..\newview\installers\windows\vcredist_x86_VS2008_SP1_ATL_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2008_SP1_ATL_SEC.exe +Source: ..\..\..\..\newview\installers\windows\vcredist_x86_VS2010_SP1.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2010_SP1.exe ; Old files we don't use anymore: ; Source: %%PACKAGEFILES%%\dronesettings.xml; DestDir: {app}; Flags: ignoreversion diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index 718c3d2..84e75b8 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py @@ -232,21 +232,15 @@ class WindowsManifest(ViewerManifest): def construct(self): super(WindowsManifest, self).construct() - # the final exe is complicated because we're not sure where it's coming from, - # nor do we have a fixed name for the executable - # Actually, we know on both counts -- MC - if self.configuration().lower() == "release": - self.path(self.find_existing_file('release/imprudence-bin.exe'), dst=self.final_exe()) - elif self.configuration().lower() == "releasesse2": - self.path(self.find_existing_file('releasesse2/imprudence-bin.exe'), dst=self.final_exe()) - elif self.configuration().lower() == "relwithdebinfo": - self.path(self.find_existing_file('relwithdebinfo/imprudence-bin.exe'), dst=self.final_exe()) - elif self.configuration().lower() == "debug": - self.path(self.find_existing_file('debug/imprudence-bin.exe'), dst=self.final_exe()) - else: - self.path(self.find_existing_file('release/imprudence-bin.exe', 'releasesse2/imprudence-bin.exe', 'relwithdebinfo/imprudence-bin.exe', 'debug/imprudence-bin.exe', 'imprudence-bin.exe'), dst=self.final_exe()) + # Come out, come out, where ever you are. + executable = self.find_existing_file('release/imprudence-bin.exe', 'releasesse2/imprudence-bin.exe', 'relwithdebinfo/imprudence-bin.exe', 'debug/imprudence-bin.exe', './imprudence-bin.exe') + nmake = False + self.path(executable, dst=self.final_exe()) # copy over the the pdb file for the regular or SSE2 versions if we don't already have one copied + # Don't think this ever worked, the destination seems bogus. + # It's trying to copy a built file outside of the source tree, a file we have anyway. + # TODO - do we even need this? symbol_ver = '.'.join(self.args['version']) symbol_file = 'imprudence-%s.%s.pdb' % (symbol_ver, self.args['configuration']) symbol_path = '../../../../../pdb_files/%s' % (symbol_file) @@ -255,7 +249,7 @@ class WindowsManifest(ViewerManifest): else: #print "%s doesn't exist yet" % (os.getcwd() + symbol_path) try: - self.path(self.find_existing_file('release/imprudence-bin.pdb'), dst="../%s" % (symbol_path)) + self.path(self.find_existing_file(executable.split('/', 1)[0] % '/imprudence-bin.pdb'), dst="../%s" % (symbol_path)) pass except: print "Can't save symbol file %s, skipping" % (symbol_path) @@ -270,7 +264,13 @@ class WindowsManifest(ViewerManifest): self.path("imprudence.url") # Plugin host application - self.path(os.path.join(os.pardir, 'llplugin', 'slplugin', self.args['configuration'], "SLPlugin.exe"), "SLPlugin.exe") + try: + self.path(os.path.join(os.pardir, 'llplugin', 'slplugin', self.args['configuration'], "SLPlugin.exe"), "SLPlugin.exe") + except: + # Probably an nmake build, which is not putting exe's into the configuration folders. + self.path(os.path.join(os.pardir, 'llplugin', 'slplugin', "SLPlugin.exe"), "SLPlugin.exe") + # Propogate our wild guess. + nmake = True self.path("featuretable.txt") @@ -281,7 +281,7 @@ class WindowsManifest(ViewerManifest): #self.path("fmod.dll") # For spellchecking - if self.prefix(src=os.path.join(self.args['configuration'], "Release"), dst=""): + if self.prefix(self.args['configuration'], dst=""): self.path("libhunspell.dll") self.end_prefix() @@ -289,12 +289,12 @@ class WindowsManifest(ViewerManifest): self.path("llkdu.dll.2.config") # Get llcommon and deps. - if self.prefix(src=os.path.join(self.args['configuration'], "Release"), dst=""): + if self.prefix(self.args['configuration'], dst=""): self.path('libapr-1.dll') self.path('libaprutil-1.dll') self.path('libapriconv-1.dll') - self.end_prefix() self.path('llcommon.dll') + self.end_prefix() # For textures if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""): @@ -307,21 +307,26 @@ class WindowsManifest(ViewerManifest): self.path("alut.dll") self.end_prefix() + # TODO - Yes, I know, would be better if nmake builds put stuff in the right place, track that down and fix it later. + if nmake: + config = '' + else: + config = self.args['configuration'] # Media plugins - QuickTime - if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"): + if self.prefix(src='../media_plugins/quicktime/%s' % config, dst="llplugin"): self.path("media_plugin_quicktime.dll") self.end_prefix() # Media plugins - WebKit/Qt - if self.prefix(src='../media_plugins/webkit/%s' % self.args['configuration'], dst="llplugin"): + if self.prefix(src='../media_plugins/webkit/%s' % config, dst="llplugin"): self.path("media_plugin_webkit.dll") self.end_prefix() # Media plugins - GStreamer - if self.prefix(src='../media_plugins/gstreamer010/%s' % self.args['configuration'], dst="llplugin"): + if self.prefix(src='../media_plugins/gstreamer010/%s' % config, dst="llplugin"): self.path("media_plugin_gstreamer010.dll") - self.end_prefix() - + self.end_prefix() + # For WebKit/Qt plugin runtimes if self.prefix(src="../../libraries/i686-win32/lib/release", dst="llplugin"): self.path("libeay32.dll") diff --git a/linden/indra/test_apps/llplugintest/CMakeLists.txt b/linden/indra/test_apps/llplugintest/CMakeLists.txt index a6cb740..91ba2db 100644 --- a/linden/indra/test_apps/llplugintest/CMakeLists.txt +++ b/linden/indra/test_apps/llplugintest/CMakeLists.txt @@ -311,7 +311,7 @@ endif (DARWIN OR LINUX) if (DARWIN) # path inside the app bundle where we'll need to copy plugins and other related files set(PLUGINS_DESTINATION_DIR - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llmediaplugintest.app/Contents/Resources + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/llmediaplugintest.app/Contents/Resources ) # create the Contents/Resources directory @@ -326,7 +326,7 @@ if (DARWIN) ) else (DARWIN) set(PLUGINS_DESTINATION_DIR - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ + ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_CFG_INTDIR}/ ) endif (DARWIN) diff --git a/linden/scripts/linux/4-package-viewer b/linden/scripts/linux/4-package-viewer index 19d2456..d954f02 100755 --- a/linden/scripts/linux/4-package-viewer +++ b/linden/scripts/linux/4-package-viewer @@ -3,7 +3,7 @@ if [ "$OSTYPE" == "cygwin" ] ; then # Assumes version has been passed in from outside, coz Windows insists on adding crap to python output. cd ../../indra/build-nmake/ - iscc newview/package/${version}-Windows-x86.iss + iscc newview/$TYPE/package/${version}-Windows-x86.iss else cd ../../indra/viewer-linux-* make package -- cgit v1.1 From 35078867283f1e9302e0a507629e384fd8c86be6 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Fri, 26 Apr 2013 13:10:25 +1000 Subject: Ah, iss has different UUIDs for release and experimentals. --- .../indra/newview/installers/windows/imprudence_installer_template.iss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linden') diff --git a/linden/indra/newview/installers/windows/imprudence_installer_template.iss b/linden/indra/newview/installers/windows/imprudence_installer_template.iss index 7d02b0c..6ae437e 100644 --- a/linden/indra/newview/installers/windows/imprudence_installer_template.iss +++ b/linden/indra/newview/installers/windows/imprudence_installer_template.iss @@ -8,7 +8,7 @@ ; Imp Experimental ID: 1B3E68BC-13EB-4277-9439-CB5FF9259460 ; These will change -AppId={{D7736EE8-AFCE-4735-BBE3-652CDFBBFCA8} +AppId={{1B3E68BC-13EB-4277-9439-CB5FF9259460} AppName=%%APPNAME%% AppVerName=%%APPVERNAME%% DefaultDirName={pf}\Imprudence -- cgit v1.1