added dist-zip (same as old dist) and dist-installer targets

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4098 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2005-06-19 17:01:34 +00:00
parent aa9aed537f
commit e5ccd95016

View file

@ -66,6 +66,10 @@ cvs_version = strftime('%d-%b-%Y.cvs', gmtime())
opts = Options()
opts.Add(('VERSION', 'Version of NSIS', cvs_version))
opts.Add(('VER_MAJOR', 'Major version of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_MINOR', 'Minor version of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_REVISION', 'Revision of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_BUILD', 'Build version of NSIS (recommended for dist-installer)', None))
opts.Add(PathOption('PREFIX', 'Installation prefix', None))
opts.Add(BoolOption('MSTOOLKIT', 'Use Microsoft Visual C++ Toolkit', 'no'))
opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no'))
@ -84,17 +88,20 @@ Help(opts.GenerateHelpText(defenv))
####### Functions ###
######################################################################
defenv['DISTDIR'] = defenv.Dir('#nsis-$VERSION')
defenv['ZIPDISTDIR'] = defenv.Dir('#nsis-$VERSION')
defenv['INSTDISTDIR'] = defenv.Dir('#.instdist')
def Distribute(dir, files):
defenv.Install('$DISTDIR/%s' % dir, files)
defenv.Install('$ZIPDISTDIR/%s' % dir, files)
defenv.Install('$INSTDISTDIR/%s' % dir, files)
if defenv.has_key('PREFIX') and defenv['PREFIX']:
ins = defenv.Install('$PREFIX/%s' % dir, files)
return ins
return []
def DistributeAs(path, file):
defenv.InstallAs('$DISTDIR/%s' % path, file)
defenv.InstallAs('$ZIPDISTDIR/%s' % path, file)
defenv.InstallAs('$INSTDISTDIR/%s' % path, file)
if defenv.has_key('PREFIX') and defenv['PREFIX']:
ins = defenv.InstallAs('$PREFIX/%s' % path, file)
return ins
@ -166,10 +173,29 @@ defenv.Alias('install-includes', '$PREFIX/Include')
######################################################################
dist_zip = 'nsis-${VERSION}.zip'
zip_target = defenv.Zip(dist_zip, '$DISTDIR')
delete_action = defenv.AddPostAction(zip_target, Delete('$DISTDIR'))
AlwaysBuild(delete_action)
defenv.Alias('dist', dist_zip)
zip_target = defenv.Zip(dist_zip, '$ZIPDISTDIR')
defenv.Alias('dist-zip', zip_target)
AlwaysBuild(defenv.AddPostAction(zip_target, Delete('$ZIPDISTDIR')))
defenv['INSTVER'] = '/DVERSION=$VERSION'
if defenv['VER_MAJOR'] and defenv['VER_MINOR'] \
and defenv['VER_REVISION'] and defenv['VER_BUILD']:
defenv['INSTVER'] += ' /DVER_MAJOR=$VER_MAJOR'
defenv['INSTVER'] += ' /DVER_MINOR=$VER_MINOR'
defenv['INSTVER'] += ' /DVER_REVISION=$VER_REVISION'
defenv['INSTVER'] += ' /DVER_BUILD=$VER_BUILD'
installer_target = defenv.Command('nsis-${VERSION}.exe',
'$INSTDISTDIR' + os.sep + 'Examples' + os.sep + 'makensis.nsi',
'$INSTDISTDIR' + os.sep + 'makensis.exe ' +
'/DOUTFILE=$TARGET.abspath $INSTVER $SOURCE')
defenv.Depends(installer_target, '$INSTDISTDIR')
defenv.Alias('dist-installer', installer_target)
AlwaysBuild(defenv.AddPostAction(installer_target, Delete('$INSTDISTDIR')))
defenv.Alias('dist', ['dist-zip', 'dist-installer'])
######################################################################
####### Distribute Basics ###