Menu

BuildNotes

Build (2)
Dave Bullis Russell Shilling

Build Notes

Building XTrackCad consists of the following steps
* Gathering the tools
* Fetching the source
* Configuring the build
* Bulding the product
* Installing the product

The source code is maintained in a Mecurial repository on SourceForge. You will need to install the Mercurial application (hg and thg)

CMake is a cross-platform build system, available at http://www.cmake.org, that can be used to generate builds for a variety of build tools ranging from "make" to Visual Studio and XCode. Using CMake you can build XTrackCAD on Windows, GNU/Linux, and Mac OSX using the build tool(s) of your choice.

Details can be found below.

Windows Build: [WindowsBuild]
Mac OSX Build: [MacBuild]
Linux Build: [LinuxBuild]

You might find these usefull as well:
Developer Info: [DeveloperInfo]
Create Help: [CreateHelp]
Localization and Internationalization: [Internationalization]

XTrackCAD has been compiled and tested on FreeBSD and OpenSolaris. But there is no official support for these operating systems.

Regression Tests

After you've built XTrackCAD you should run the RegressionTesting.

Release Build Notes

In addition to the Build notes in each of the platforms Build Notes above, there a few generic steps for releasing the product.

Update the Release Notes

Create the release notes from the commit
messages in Mercurial.

cd source-directory
hg log -d ">2016-11-01" --template "* {desc}\
" >notes

OR

hg log -r 900: --template "* {desc}\
" >notes

The notes are then inserted into ##source-directory\app\lib\CHANGELOG.md##
Use pandoc to convert the ##CHANGELOG.md## and the ##Readme.txt##. Finally the current release is tagged.

pandoc -f markdown -t plain -o Readme.txt Readme.md
hg ci -m "Update release notes"
hg tag Release_${VERSION}

Creating a Mercurial bundle

cd [sourcedirectory]
hg bundle -a xtrkcad_4_2_4a.hg

Uploading

Create a new directory for this release on sourceforge and upload CHANGELOG.md, Readme.md and the packages.
Replace
* ${USER} with your sourceforge user id
* ${VERSION} with the new version number
* ${SOURCEDIR} with the directory from above
* ${BUILDDIR} with your build directory
* ${PACKAGE} with your built package

$ sftp ${USER}/@frs.sourceforge.net
sftp> cd /home/frs/project/xtrkcad-fork/XTrackCad
sftp> mkdir "Version ${VERSION}'
sftp> cd 'Version ${VERSION}'
stfp> lcd '${SOURCEDIR}/app/lib'
sftp> put CHANGELOG.md
stfp> put Readme.md
stfp> lcd ${BUILDDIR}
sftp> put ${PACKAGE}
sftp> quit

Note: it might take a while for the file to show up.

Other Updates

Update the #%Download and Install: [DownloadInstall]#% wikka page with the new Version number

Update the default download file on the SourceForge download page.

CategoryDevel


Related

Wiki: CreateHelp
Wiki: DeveloperInfo
Wiki: DownloadInstall
Wiki: Home
Wiki: Internationalization
Wiki: LinuxBuild
Wiki: MacBuild
Wiki: WindowsBuild