Difference between revisions of "Release Build Process"
From FreeSpace Wiki
(First draft of the release build process documentation.) |
(Small tweak to numbering and grouping) |
||
Line 9: | Line 9: | ||
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn | svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn | ||
− | + | 3) (Once per release) Commit a output filename/versioning commit. | |
https://svn.icculus.org/fs2open?view=rev&revision=9546 should be a complete diff of everything that should be modified. | https://svn.icculus.org/fs2open?view=rev&revision=9546 should be a complete diff of everything that should be modified. | ||
− | 4) Export at the desired revision from the branch checkout. | + | 4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout. |
cd <CODE DIRECTORY> | cd <CODE DIRECTORY> |
Revision as of 22:00, 18 April 2013
1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access. svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch." # REV is only needed after copy if not just copying the latest HEAD revision in trunk. 2) (Once per platform) Checkout the branch. cd <CODE DIRECTORY> svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn 3) (Once per release) Commit a output filename/versioning commit. https://svn.icculus.org/fs2open?view=rev&revision=9546 should be a complete diff of everything that should be modified. 4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout. cd <CODE DIRECTORY> svn up fs2_open_<VERSION>_svn svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx] 5) Follow the specific platform's build method. Windows: Currently use MSVC 2008. Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2. -or- "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \ "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \ "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \ "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \ "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \ "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32" Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression. You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip. MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5. Upload these 4 files to the mirrors under builds/WIN. OSX: Currently use Xcode 3.2.6. cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode tar -xvzf Frameworks.tgz /<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx]. Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg. hdiutil create FS2_Open-<VERSION>[_RCx].dmg -srcfolder FS2_Open-<VERSION>[_RCx] MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5. Upload these 2 files to the mirrors under builds/OSX. Linux/FreeBSD: Use whichever latest GCC is available and working. cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx] ./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../ Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file. MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5. Upload these 2 files to the mirros under builds/LINUX or builds/FREEBSD, accordingly.