|
The CMake CodeBlocks Project |
|
|
|
|
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 |
|
|
|
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 |
|
|
|
|
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) |
|
|
|
|
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 |
|
|
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 |
|
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 |
|
|
|
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
Install Ogre
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 |
|