Permalink
Browse files

+ unify DLL export defines to namespace names

git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
  • Loading branch information...
0 parents commit 120ca87015d849dbea060eaf2295fcc4ee981427 wmayer committed Oct 10, 2011
Showing 4,155 changed files with 2,965,978 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
@@ -0,0 +1,21 @@
+@echo off
+rem Build script, uses vcbuild to completetly build FreeCAD
+
+rem start again nice (LOW)
+if "%1"=="" (
+ start /WAIT /LOW /B cmd.exe /V /C %~s0 go_ahead
+ goto:eof
+)
+rem set the aprobiated Variables here or outside in the system
+if NOT DEFINED VCDIR set VCDIR=C:\Program Files\Microsoft Visual Studio 9.0
+
+rem Register VS Build programms
+call "%VCDIR%\VC\vcvarsall.bat"
+
+rem "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"C:\SW_Projects\CAD\FreeCAD_10" /closeonend:3
+
+
+rem Start the Visuall Studio build process
+"%VCDIR%\VC\vcpackages\vcbuild.exe" FreeCAD_trunk.sln "Debug|Win32"
+"%VCDIR%\VC\vcpackages\vcbuild.exe" FreeCAD_trunk.sln "Debug|Win32"
+"%VCDIR%\VC\vcpackages\vcbuild.exe" FreeCAD_trunk.sln "Release|Win32"
@@ -0,0 +1,19 @@
+# Version of the release. The Revision number you must specify at the command line
+[Version]
+Major: 0
+Minor: 7
+Alias: Bespin
+Url: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk
+
+# Here comes the paths of the needed tools to build a release
+# the path can be simple or as full path. Depends if you have your tool in PATH
+[Tools]
+svn: C:\Program Files (x86)\Subversion\svn.exe
+wget: C:\Libs\FreeCADLibs\FreeCADLibs6.2\bin\wget.exe
+candle: C:\Libs\Libs\wix_30\candle.exe
+light: C:\Libs\Libs\wix_30\light.exe
+hhc: C:\Program Files (x86)\HTML Help Workshop\hhc.exe
+
+# needet until the build is completely done with cMake
+[Libs] # Libs used in the build
+FreecadLib: C:\Libs\FreeCADLibs\FreeCADLibs6.2
@@ -0,0 +1,342 @@
+#! python
+# -*- coding: utf-8 -*-
+# (c) 2007 Jürgen Riegel GPL
+
+Usage = """BuildRelease - Build script to build a complete FreeCAD release
+
+Usage:
+ BuildRelease [Optionen] ReleaseNbr
+
+Options:
+ -h, --help print this help
+ -b, --buildPath specify the output path where the build takes place
+ -i, --ini-file specify the ini file to use
+
+This script will build a complete FreeCAD distribution which includes:
+* Check out fresh source
+* packing source
+* Set the Version and Release numbers
+* Gathering change log
+* completele build FreeCAD
+* run tests
+* build source docu
+* build user docu
+* build installer
+* upload to source forge
+
+On failure of one of these steps the script will stop.
+Each step writes tones of info in the log file.
+There is one error log file.
+
+Autor:
+ (c) 2007 Juergen Riegel
+ juergen.riegel@web.de
+ Licence: GPL
+
+Version:
+ 0.1
+"""
+#
+# Its inteded only to used by the maintainer
+
+import os, sys, getopt
+from subprocess import call,Popen,PIPE
+from time import sleep
+from zipfile import ZipFile,ZIP_DEFLATED
+import tarfile
+from string import find
+import ConfigParser
+import time
+
+
+# global information
+Release = 0
+Major = 0
+Minor = 7
+Alias = ""
+FileName = ""
+BuildPath = "D:/ReleaseBuilds"
+Log = None
+ErrLog = None
+Config = None
+
+
+def CallProcess(args,Msg,ret=True):
+ Anim = ['-','\\','|','/']
+
+ sys.stdout.write(Msg+': ')
+ Log.write("====== Call: " + args[0] + '\n')
+ SVN = Popen(args,
+ stdout=PIPE, stderr = ErrLog)
+
+ i = 0
+ while(SVN.poll() == None):
+ line = SVN.stdout.readline()
+ if(line):
+ Log.write(line.replace('\n',''))
+ sys.stdout.write(chr(8) + Anim[i%4])
+ i+=1
+ sleep(0.2)
+
+ #ErrLog.write(SVN.stdout.read())
+ sys.stdout.write(chr(8) + "done\n")
+ if(not SVN.returncode == 0 and ret):
+ print "Process returns: ",SVN.returncode
+ raise
+
+# Step 2 & 3
+def CheckOut():
+
+ CallProcess([Config.get('Tools','svn'),
+ "checkout",
+ "-r",
+ `Release`,
+ "https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk",
+ "../"+FileName],
+ "2) Checking out")
+
+ sys.stdout.write('3) Write version files: ')
+
+ Version = open("src/Build/Version.h","w")
+ Version.write('#define FCVersionMajor "' + `Major` + '"\n')
+ Version.write('#define FCVersionMinor "' + `Minor` + '"\n')
+ Version.write('#define FCVersionName "' + Alias + '"\n')
+ Version.write('#define FCRevision "' + `Release` + '"\n')
+ Version.write('#define FCRepositoryURL "' + "https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk/src" + '"\n')
+ Version.write('#define FCCurrentDateT "'+time.asctime()+'" \n')
+ Version.close()
+
+ Version = open("installer/Version.wxi","w")
+ Version.write('<Include> \n')
+ Version.write(' <?define FCVersionMajor = ' + `Major` + ' ?>\n')
+ Version.write(' <?define FCVersionMinor = ' + `Minor` + ' ?>\n')
+ Version.write(' <?define FCVersionRevision =' + `Release` + ' ?>\n')
+ Version.write(' <?define FCVersionAlias = "' + Alias + '" ?>\n')
+ Version.write('</Include> \n')
+ Version.close()
+
+ sys.stdout.write('done\n')
+
+
+#Step 4
+def PackSourceZip():
+
+ def addAll(dirFrom, ZipSrcFile):
+ for file in os.listdir(dirFrom): # for files/dirs here
+ if(not file==".svn" and not file== FileName+'_source.zip'):
+ pathFrom = os.path.join(dirFrom, file)
+ if not os.path.isdir(pathFrom): # copy simple files
+ ZipSrcFile.write(pathFrom,pathFrom.replace('.\\',FileName+'\\'))
+ Log.write("Insert: "+ pathFrom + '\n')
+ else:
+ addAll(pathFrom,ZipSrcFile)
+
+ sys.stdout.write("4) Pack zip source files: ")
+
+ SourceFile = ZipFile(FileName+'_source.zip','w',ZIP_DEFLATED,True)
+ addAll('.',SourceFile)
+ SourceFile.close()
+
+ sys.stdout.write("done \n")
+
+# Step 5
+def PackSourceTar():
+
+ def addAll(dirFrom, ZipTarFile):
+ for file in os.listdir(dirFrom): # for files/dirs here
+ if(not file==".svn" and not file== FileName+'_source.zip'):
+ pathFrom = os.path.join(dirFrom, file)
+ if not os.path.isdir(pathFrom): # copy simple files
+ ZipTarFile.add(pathFrom,pathFrom.replace('.\\',FileName+'\\'))
+ Log.write("Insert: "+ pathFrom + '\n')
+ else:
+ addAll(pathFrom,ZipTarFile)
+
+ sys.stdout.write("5) Pack tar source files: ")
+
+ SourceFile = tarfile.open(FileName+'_source.tgz','w:gz')
+ addAll('.',SourceFile)
+ SourceFile.close()
+
+ sys.stdout.write("done \n")
+
+
+# Step 6 & 7
+def BuildAll():
+ import fcbt.FileTools
+ LibPack = Config.get('Libs','FreeCADLib')
+
+ sys.stdout.write('6) Copy resources: ')
+ os.mkdir('./bin')
+ fcbt.FileTools.cpall(LibPack + '/bin','./bin')
+ os.mkdir('./include')
+ fcbt.FileTools.cpall(LibPack + '/include','./include')
+ os.mkdir('./lib')
+ fcbt.FileTools.cpall(LibPack + '/lib','./lib')
+ os.mkdir('./doc')
+ fcbt.FileTools.cpall(LibPack + '/doc','./doc')
+ sys.stdout.write('done\n')
+
+ CallProcess(["BuildAll.bat"],
+ "7) Build all")
+
+# Step 8 & 9
+def HelpFile():
+ import wiki2chm
+ if not os.path.isdir('doc'):
+ os.mkdir('doc')
+ if not os.path.isdir('doc/tmp'):
+ os.mkdir('doc/tmp')
+
+ CallProcess([Config.get('Tools','wget'),'-k', '-r', '-l5', '-P', 'doc/tmp', '-nd',
+ '-R', '*action=*',
+ '-R', '*title=Special*',
+ '-R', '*title=Talk*',
+ '-R', '*oldid=*',
+ '-R', '*printable=yes*',
+ '--domains=apps.sourceforge.net',
+ '--append-output=doc/tmp/wget.log',
+ 'http://apps.sourceforge.net/mediawiki/free-cad/index.php?title=Online_Help_Toc'],
+ "8) Download docu")
+
+ sys.stdout.write("9) Fix up CSS: ")
+ open('doc/tmp/chm.css','w').write(open('src/Tools/chm.css').read())
+
+ wiki2chm.WikiBaseUrl ='http://apps.sourceforge.net/mediawiki/free-cad/'
+ wiki2chm.TocPageName ='Online_Help_Toc'
+ wiki2chm.BasePath ='doc/tmp/'
+ wiki2chm.Output = Log
+
+ wiki2chm.replaceCSS()
+
+ wiki2chm.WriteProject()
+ wiki2chm.readToc()
+ sys.stdout.write("done \n")
+
+# Step 10
+def CompileHelp():
+ import fcbt.FileTools
+ CallProcess([Config.get('Tools','hhc'),'doc/tmp/Online_Help_Toc.hhp'],'10)Compile help:',False)
+ fcbt.FileTools.cpfile('doc/tmp/FreeCAD.chm','doc/FreeCAD.chm')
+ fcbt.FileTools.cpfile('doc/tmp/FreeCAD.chm',FileName+'_helpfile.chm')
+
+def BuildInstaller():
+ import fcbt.FileTools
+ LibPack = Config.get('Libs','FreeCADLib')
+
+ fcbt.FileTools.cpfile('lib/Microsoft_VC80_CRT_x86.msm','installer/Microsoft_VC80_CRT_x86.msm')
+ fcbt.FileTools.cpfile('lib/policy_8_0_Microsoft_VC80_CRT_x86.msm','installer/policy_8_0_Microsoft_VC80_CRT_x86.msm')
+ CallProcess([Config.get('Tools','candle'),
+ '-out', 'installer\\',
+ 'installer\\FreeCAD.wxs',
+ 'installer\\FreeCADBase.wxs',
+ 'installer\\LibPack.wxs',
+ 'installer\\FreeCADDoc.wxs',
+ 'installer\\FreeCADModules.wxs',
+ ],'11)Compile installer:',False)
+ CallProcess([Config.get('Tools','light'),
+ '-ext', 'WixUIExtension',
+ '-cultures:en-us',
+ '-out', 'installer\\FreeCAD.msi',
+ 'installer\\FreeCAD.wixobj',
+ 'installer\\FreeCADBase.wixobj',
+ 'installer\\LibPack.wixobj',
+ 'installer\\FreeCADDoc.wixobj',
+ 'installer\\FreeCADModules.wixobj',
+ ],'12)Build installer:',False)
+
+ fcbt.FileTools.cpfile('installer/FreeCAD.msi',FileName+'_installer.msi')
+
+def SendFTP():
+ from ftplib import FTP
+ ftp = FTP('upload.sf.net')
+ Log.write(ftp.login() + '\n')
+ Log.write(ftp.cwd("/incoming") + '\n')
+ Log.write(ftp.sendcmd('PASV') + '\n')
+ Log.write(ftp.sendcmd('TYPE I') + '\n')
+ sys.stdout.write('13) Send source ZIP: ')
+ f = open(FileName+'_source.zip', "r")
+ Log.write(ftp.storbinary('STOR '+ FileName+'_source.zip', f) + '\n')
+ sys.stdout.write('done\n14) Send source tgz: ')
+ f = open(FileName+'_source.tgz', "r")
+ Log.write(ftp.storbinary('STOR '+ FileName+'_source.tgz', f) + '\n')
+ sys.stdout.write('done\n15) Send installer: ')
+ f = open(FileName+'_installer.msi', "r")
+ Log.write(ftp.storbinary('STOR '+ FileName+'_installer.msi', f) + '\n')
+ f.close()
+ ftp.close()
+
+def main():
+ global Release, Major, Minor, Alias, FileName, BuildPath, Log, ErrLog, Config
+ IniFile = "BuildRelease.ini"
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "hb:", ["help","buildPath="])
+ except getopt.GetoptError:
+ # print help information and exit:
+ sys.stderr.write(Usage)
+ sys.exit(2)
+
+ # checking on the options
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ sys.stderr.write(Usage)
+ sys.exit()
+ if o in ("-b", "--buildPath"):
+ BuildPath = a
+ if o in ("-i", "--ini-file"):
+ IniFile = a
+
+
+ # runing through the files
+ if (not len(args) == 1):
+ sys.stderr.write(Usage)
+
+ Release = int(args[0])
+
+ Config = ConfigParser.ConfigParser()
+ Config.readfp(open(IniFile))
+
+ Alias = Config.get('Version','Alias')
+ Major = Config.getint('Version','Major')
+ Minor = Config.getint('Version','Minor')
+
+ # creating the directory and switch to
+ FileName = 'FreeCAD_' + `Major` + '.' + `Minor` + '.' + `Release`
+ print "=== Building:", FileName, '\n'
+ BuildPath = BuildPath + '/' + FileName
+ # set tool path
+ sys.path.append((BuildPath + '/src/Tools') )
+ OldCwd = os.getcwd()
+ print "1) Creating Build directory: ", BuildPath
+ if not os.path.isdir(BuildPath):
+ os.mkdir(BuildPath)
+ os.chdir(BuildPath)
+ Log = open("BuildRelease.log","w")
+ ErrLog = open("BuildReleaseErrors.log","w")
+
+ try:
+ CheckOut()
+ PackSourceZip()
+ PackSourceTar()
+ BuildAll()
+ HelpFile()
+ CompileHelp()
+ BuildInstaller()
+ #SendFTP()
+ except:
+ Log.close()
+ ErrLog.close()
+ Err = open("BuildReleaseErrors.log","r")
+ sys.stderr.write("!!!!!!!!! Fehler aufgetreten:\n")
+ sys.stderr.write(Err.read())
+ raise
+
+ os.chdir(OldCwd)
+ Log.close()
+ ErrLog.close()
+
+ print "Press any key"
+ sys.stdin.readline()
+
+if __name__ == "__main__":
+ main()
Oops, something went wrong.

0 comments on commit 120ca87

Please sign in to comment.