Home
Welcome to OSRail
The CMake CodeBlocks Project PDF Print E-mail
Written by Samuel E. Henley   
Sunday, 11 May 2008 19:39

The purpose of the project in the vendors/cmake directory is to build a CMake generator for codeblocks similar to the current Visual C++ generator. The project uses the current release version of CMake (2.8.0) in the vendor directory.

Additionally, the project contains two built-in commands PackageConfigure and PreCompiledHeader. Also added was a codeblocks project file (CodeBlocksGenerator.cbp) to build/debug the modified CMake with its normally generated CMake makefile.

 

Files Modified in cmake

 

 

The modified version of CMake is required to build OSRail – Instructions for building this version of CMake can be found under “Building OSRail” (Linux or Windows).

Last Updated on Sunday, 22 August 2010 16:05
 
Contributing to the OSRail Project Print E-mail
Saturday, 05 April 2008 09:27

We welcome anyone wishing to contribute to the development of OSRail. The project is in the inception phase with only boiler-plate code for the simulator and utilities. A near complete build system using CMake and CodeBlocks for both Windows and Linux has been created. Programmers can review or download the source from the SVN. For commit authority, for the Project SVN, contact This e-mail address is being protected from spambots. You need JavaScript enabled to view it . Suggestions and design ideas can be added to this site or posted on the Project Trac. For authority to modify the Trac, contact This e-mail address is being protected from spambots. You need JavaScript enabled to view it . You may, if you wish, only outline the idea in an e-mail and it will be placed on this site and/or on the project Trac.

 
Advantages of a Virtual Railroad PDF Print E-mail
Written by Samuel E. Henley   
Saturday, 05 April 2008 09:25

The advantages of a virtual railroad simulation: club members may be many miles apart, the railroad and its equipment can be synchronized to a particular era, operation may be accomplished in real-time with the affects of real distances, the session can be paused and resumed at the groups convenience, and software driven operating session is more adaptable then typical model railroad layout. Sharing your latest model with the group has an exact equivalent in sharing a newly created 3d model, but with a 3d model each member can have their own copy where the cost of producing the model is only having the use of a computer with an internet connection. OSRail is Open Source project licensed under GNU General Public License. The source is available from the Project SVN.

Last Updated on Wednesday, 03 June 2009 08:14
 
Console Utility and IPC (Inter Process Communication) PDF Print E-mail
Written by Samuel E. Henley   
Friday, 16 May 2008 12:13

The Console utilities primary purpose is to display the Inter-Process Communication output from the Simulator program and its utilities. The program reads the command structures in the ConsoleFrame::readNextFromClient(consoleframe.cpp) routine of the Console Utility. The following commands are implemented or planned:

  • ASSERT – implemented – example (src\simulator\main.cpp) Assert prints source file, line number and message. Assert will stop on the initial discovery, but can be overridden from the Console.
  • MESSAGE - implemented – example (src\simulator\main.cpp) Message prints the source file, line number and a message.
  • MEMORY – not implemented – Create memory statistics.

    PROFILE/PROFILE_START/PROFILE_STOP – implemented – example (src\simulator\main.cpp) Produces a min, max and average instruction counter(rdtsc) output (hex).

  • EXCEPTION – implemented – example (src\simulator\main.cpp) Exception prints source file, line number and a message. Exception reference the line number of the exception in the “catch” statement.

  • PLOT – not implemented – Will produce 2D or 3D graphics of a variable (time) or an array of variables.

  • DUMP – implemented – example (src\utilities\msts2blender\mstsace.cpp) Dump will print a variable ("sprintf" format) to the Console utility.

  • TWEAKER – implemented – example ( src/simulator/graphics.cpp )Allows simulator variables to be displayed and changed in real time. )

  • UNITTEST – implemented – UNITTEST is not a macro, but is implemented in vendor/cxxtest/cxxtest/TGConsoleGui.h. The source TGConsoleGui.h is used to tie cxxtest unit tests to the Console IPC. The TGConsoleGui GUI displays detail test results in a Console frame if the Console utility is running prior to the RUN_TEST project of the build system.

   
"Program Name" will generate a new Console window frame, (card box) with that title and "Page Name" will generate a new tab on that frame with "Page Name" for a title (card). Although the labels imply program and page name they my be any classification that will server to order the Console output.

Last Updated on Sunday, 29 November 2009 13:59
 
Third Party Tools PDF Print E-mail
Written by Samuel E. Henley   
Monday, 07 April 2008 10:25

OSRail is a simulation program and the utilities required to support the simulation. Additionally OSRail uses many third party tools to build the cross-platform simulation and utilities. The essentially third party tools and links to their web-sites are listed below:

Last Updated on Monday, 05 October 2009 14:05
 
Third Party Libraries PDF Print E-mail
Written by Samuel E. Henley   
Saturday, 05 April 2008 09:29

OSRail is a simulation program and the utilities required to support the simulation. Additionally OSRail uses many third party libraries to build the cross-platform simulation and utilities. The essentially third party libraries and links to their web-sites are listed below:

Last Updated on Monday, 05 October 2009 14:04
 
Building OSRail for Windows Print E-mail
Written by Samuel E. Henley   
Saturday, 05 April 2008 16:40

Install the SDKs for these 3rd party libraries and required tools.

Create Working Directory

    This directory should be at the top of the OSRail development tree and will contain the downloaded third party software. Create a working directory (c:/working) and for convenience add a directory for downloads (c:/working/download).

7z

TortoiseSVN

  • Version Control System client.

  • Download from http://tortoisesvn.net

  • Run TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi

 

Platform SDK

  • Win32 API - Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1

  • Download from http://download.microsoft.com

  • Run winsdk_web.exe

  • Add Microsoft Windows SDK for Windows 7 - add to environment (computer properties, advanced, environment variables)
    set MSSDK to Microsoft Windows SDK for Windows 7 location (C:\Program Files\Microsoft SDKs\Windows\v7.0\) and add
    %MSSDK%Lib; to LIB; %MSSDK%Include to INCLUDE and add %MSSDK%Utilities\Bin\x86 to PATH.

DirectX

  • Graphics, Input, Sound - DXSDK_Aug09.exe

  • Download or Install from http://download.microsoft.com

  • Add Microsoft DirectX SDK (August 2009) - add to environment (computer properties, advanced, environment variables)
    %DXSDK_DIR%lib\x86  to LIB; %DXSDK_DIR%Include to INCLUDE

PoEdit

Doxygen

Graphviz (dot)

MinGW

TDM Twilight Dragon Media

  • Download and run/install (tdm-mingw-1.908.0-4.4.1-2.exe) GCC 4.4.1 compiler, linker and
    mingw32-make utilities over C:/MinGW http://www.tdragon.net

  • Add "C:\MinGW\bin;C:\MinGW\mingw32\bin;C:\MinGW\libexec\gcc\mingw32\4.4.1"
    to PATH (computer properties, advanced, environment variables)

Open Command Window Here

Pkg-config

Python

  • Used for Unit Testing (cxxtest) of OSRail http://www.python.org

  • Run Python-2.6.4.msi (Any version will do, as long as it has a windows installer (.msi)).

Install wxWidgets

  • Get current version of wxWidgets from wxPack http://wxPack.sourceforge.net .

  • Download and run/install wxPack_v2.8.10.05.exe in the default location ( c:\wxWidgets2.8 ).

  • Add WXWIN=C:\wxWidgets\ to the enviroment and add C:\wxWidgets2.8\lib\gcc_dll to the PATH (computer properties, advanced, environment variables).

Build wxrc

  • cd to  c:\wxWidgets2.8\utils

  • Get commandline in directory ...\wxrc.

  • mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 BUILD=release

Install CodeBlocks

  • Download codeblocks-8.02-setup.exe from http://www.codeblocks.org and/or install then use the nightly build (svn 5859)

  • Run codeblocks-8.02-setup.exe.

  • If using the nightly build load it over the CodeBlocks directory (C:\Program Files\CodeBlocks).

  • Run CodeBlocks.

  • Set the "wx" variable: Menu: Setting, Global Variable Editor, Select variable wx, and set the "base" to "c:/wxWidgets2.8".
    (In later version of codeblocks a dialog will ask.) only setting Base is required.

  • Goto menu Settings->Environment and uncheck "one running instance"
    Settings->Compiler&Debugger->Debugger Settings and uncheck "Catch C++ exceptions"

  • Add C:\Program Files\CodeBlocks to your PATH in the environment: (Computer Properties – Advance – Environment)

Test CodeBlocks & wxWidgets

  • Run CodeBlocks

  • File -> new project -> wxWidgets project

  • Go, next, 2.8.x, title=wxtest, folder=c:/wxWidgets2.8

  • Author = etc.

  • none, frame based

  • Create a release and debug configuration.

  • Use default wxWidgets, Create PCH

  • Finish

  • Build workspace

  • Run workspace

libcurl

  • Get libcurl from http://curl.haxx.se/

  • Install curl-7.19.7-devel-mingw32.zip in the working directory (c:/working/curl)

  • Copy the program curl.exe and its dlls in (F:\working\curl\bin) to Windows/system32.

OSRail Repository

  • Browse Repository at: http://wush.net/svn/sehenley/simulator

  • Create a path in home: c:/working/simulator/trunk

  • Select trunk and checkout to c:/ workspace/simulator/trunk

  • If committing changes, request a password and user name for the svn site from This e-mail address is being protected from spambots. You need JavaScript enabled to view it

CMake (Special version with a CodeBlocks generator – source in vendor sub-directory)

  • Get cmake from http://www.cmake.org/cmake/resources/software.html

  • Download and run cmake-2.8.0-win32-x86.exe, use install path C:\Program Files\CMake.  (Add cmake to system PATH, for example, set path to: C:\Program Files\CMake )

  • Get a command prompt in directory c:/working/trunk/vendor/cmake

  • cmake -G"MinGW Makefiles"

  • mingw32-make

  • mingw-make install

  • Insure that the modified version is on the path with the command cmake –copyright.

  • Use TortoiseSVN to revert any changes to the cmake source
    ( right click on c:/working/trunk/vendor/cmake, TortoiseSVN, revert... )

Build GDAL/OGR

  • Get Gdal from from svn https://svn.osgeo.org/gdal/tags/1.7.1/gdal

  • Checkout to "c:/working/gdal"

  • In "c:/working/gdal" create directory "MINGW".

  • Get a commandline in "MINGW"

  • cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug c:/working/simulator/trunk/src/builds/gdalogr

  • mingw32-make

  • del CMakeCache.txt

  • cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release c:/working/simulator/trunk/src/builds/gdalogr

  • mingw32-make

CG Toolkit

  • Download: CG Toolkit from http://developer.nvidia.com/object/cg_download version for Windows

  • Run Cg-2.2_October2009_Setup.exe

 

 

Install Ogre

  • Download and run OgreSDK_mingw_v1-7-0.exe from http://www.ogre3d.org/ , move to the default location (c:/OgreSDK_mingw_v1-7-0)

  • Set environment variables (Computer Properties – Advance – Environment) OGRE_HOME=c:\OgreSDK_mingw_v1-7-0 and add
    %OGRE_HOME%\bin\debug;%OGRE_HOME%\bin\release to PATH.

angelscript

boost

Open-Soft (OpenAL)

GetText

Subversion Client

  • Download from http://subversion.tigris.org, Collab Net (must register) CollabNetSubversion-client-1.6.5-6.win32.exe
  • Run CollabNetSubversion-client-1.6.5-6.win32.exe

Building OSRail under Windows with CodeBlocks

To build a CODEBLOCKS build under Windows, create a directory CODEBLOCKS in the "/branch/tag or trunk directory" and get a command prompt in the CODEBLOCKS sub-directory, type the command: "cmake -GCodeBlocks .. ". The cmake scripts will check that all 3rd party libraries are installed and build some required utilities for OSRail. The cmake script will create the workspace file OSRail.workspace.

Building OSRail under Windows with mingw32-make

To build a mingw32-make build under Windows, create a directory MINGW in the "/branch/tag or trunk directory" and get a command prompt in the MINGW sub-directory, type the command: "cmake -G"MinGW Makefiles" .. ". The cmake scripts will check that all 3rd party libraries are installed and build some required utilities for OSRail. The cmake script will create Makefile. Run mingw32-make in the MINGW sub-directory.

Last Updated on Monday, 26 July 2010 18:08
 
<< Start < Prev 1 2 Next > End >>

Page 1 of 2