Difference between revisions of "Windows Development System"

From Armagetron
m
Line 1: Line 1:
 
Since Z-Man is in the process of reinstalling his Windows box, he's taking the opportunity to write step-by-step installation instructions to
 
Since Z-Man is in the process of reinstalling his Windows box, he's taking the opportunity to write step-by-step installation instructions to
turn a regular, boring Windows installation into a rocking Armagetron Advanced Development System. Obviouslty, this is still pretty much under
+
turn a regular, boring Windows installation into a rocking Armagetron Advanced Development System. Obviously, this is still pretty much under
 
construction.
 
construction.
  
= Source Control =
+
= The Sources =
  
== CVS ==
+
You need a copy of armagetronad-<VERSION>.src.zip and armagetronad-winlibs-<VERSION>.zip. The versions
 +
don't have to match, take a winlibs with the largest version that is not later than the armagetronad version.
 +
Extract them both into the same folder. Inside the armagetronad-<VERSION>, you'll find the project files armagetronad.workspace (for Code::Blocks) and armagetronad.dsw (for Visual Studio). Open it with the IDE of
 +
your choice. Visual Studio 2005 will ask whether it should transform the project to its own format, answer
 +
with "yes to all". Oh, but wait, you haven't got any of this installed yet.
 +
 
 +
= IDEs =
 +
 
 +
You need only one:
 +
 
 +
== Visual Studio 6.0 ==
 +
 
 +
Not supported by us for much longer and not available for free. Avoid if you can.
 +
 
 +
== Code::Blocks ==
  
CVS is the way we currently manage our source code. The easiest way to get CVS runing to use setup is TortoiseCVS and throw
+
Available for download [http://www.codeblocks.org/ here]. I've got 1.0rc2 with the MINGW compiler. Don't add the CVS/SVN support in third party plugins, there is a warning on the Download page saying it's broken; that information is correct.
ssh for authentication on top of it. Install TortoiseCVS and memorize the directory it was installed to;
 
  
TODO: ssh (Putty perhaps), how-to-set-a-key
+
Z-Man wonders: I remember from my last installation that I had to set some paths to the Microsoft Platform SDK to get the client working. This time, I didn't need to. Maybe the SDK setup made it so that it's not required, maybe Code::Blocks doesn't require the SDK at all (it comes with its own headers that appear to be working fine). Moving the SDK to some other directory had no effect on Code::Blocks, so I assume it's not required.
  
== Darcs ==
+
== Microsoft's Free Stuff ==
  
Currently under discussion as a future source code management tool. Get it from [[http://darcs.net]]. I chose the cygwin-less installation. It's just a plain zip archive without installer. The included README explains better how to install it than I'd be able to.
+
A quirk of this setup: We haven't found a way yet to redistribute the binaries produced with this. Two
A problem so far: Darcs uses Unix line feed only line endings and doesn't translate to CRLF like CVS. We'll see if this is a problem.
+
support libraries are required, and they need to be installed differently on Windows 2000 and Windows XP.
  
= Platform SDK =
+
Also, you'll need at least Windows 2000 to run these.
  
Search for it at [http://search.microsoft.com/results.aspx?mkt=en-US&setlang=en-US&q=Platform+SDK Microsoft] (the links don't look permanent to me). I chose the ISO download of the 2003 edition. Get it, install, and remember the path you installed it to for later, you'll have to make it known to your IDE. You can choose "custom installation" and throw out a lot of junk we don't need: We only need the Configuration Options and Core SDK, and you can throw out the platforms that don't apply to you from Core.
+
=== Platform SDK ===
  
It appears the SDK is not required if you play to use Code::Blocks with the MINGW compiler.
+
Search for it at [http://search.microsoft.com/results.aspx?mkt=en-US&setlang=en-US&q=Platform+SDK Microsoft] (the links don't look permanent to me). Chose the Microsoft Windows Server 2003 Platform SDK or anything that looks more recent. Get it, install, and remember the path you installed it to for later, you'll have to make it known to your IDE. You can choose "custom installation" and throw out a lot of junk we don't need: We only need the Configuration Options and Core SDK, and you can throw out the platforms that don't apply to you from Core.
  
= IDEs =
+
=== Visual C++ 2005 Express Edition ===
  
You need only one:
+
Currently available as a free donwload from [http://msdn.microsoft.com/vstudio/express/visualc/ Microsoft]. The regular installation requires a Passport account, but the [http://msdn.microsoft.com/vstudio/express/support/install/ manual installation instructions] also give ISO downloads. The SQL stuff isn't needed for our purposes, the installation is fat enough without it.
  
== Visual Studio 6.0 ==
+
You'll need to set the paths to the SDK now. Go to Tools/Options/Projects and Solutions/VC++ Directories.
 +
Add <Memorized SDK Path>/Include to "Include Files" and <Memorized Path>/Lib to "Library Files".
 +
Insert both at the bottom.
  
Not supported by us for much longer and not available for free. Avoid if you can.
+
Problems: you also need the DirectX SDK, and linking fails with some missing symbols. To be continued :) Use Code::Blocks, really.
  
== Code::Blocks ==
+
= More Tools =
  
Available for download [http://www.codeblocks.org/ here]. I've got 1.0rc2 with the MINGW compiler. Don't add the CVS/SVN support in third party plugins, there is a warning on the Download page saying it's broken; that information is correct.
+
The following tools are not required for a basic system, you can compile and run our source distribution with
 +
just one of the IDEs above. But if you want to be a full scale developer/builder/distributer, you'll also
 +
need them.
  
I remember from my last installation that I had to set some paths to the Microsoft Platform SDK to get the client working. This time, I didn't need to. Maybe the SDK setup made it so that it's not required, maybe Code::Blocks doesn't require the SDK at all (it comes with its own headers that appear to be working fine). Moving the SDK to some other directory had no effect on Code::Blocks, so I assume it's not required.
+
== CVS ==
  
== Visual C++ 2005 Express Edition ==
+
CVS is the way we currently manage our source code. The easiest way to get CVS runing to use setup is [http://www.tortoisecvs.org/ TortoiseCVS] and throw
 +
ssh for authentication on top of it. Install TortoiseCVS and memorize the directory it was installed to;
  
Currently available as a free donwload from [http://msdn.microsoft.com/vstudio/express/visualc/ Microsoft]. The regular installation requires a Passport account (which I refuse to create), but the [http://msdn.microsoft.com/vstudio/express/support/install/ manual installation instructions] also give ISO downloads. The SQL stuff isn't needed for our purposes, the installation is fat enough without it.
+
TODO: ssh (Putty perhaps), how-to-set-a-key
  
To be continued.
+
== Python ==
  
= Winlibs =
+
The script that sorts our included resources into the right place (and is only needed if you want
 +
to build from CVS)
 +
is written in Python which is
 +
available at http://www.python.org. Z-Man has got version 2.4.3. Installation is completely automatic.
  
We pack the libraries we depend on into one neat CVS module.
+
== Darcs ==
  
= NSIS Installer =
+
Currently under discussion as a future source code management tool, so not required at all for anyone yet. Get it from http://darcs.net. Z-man chose the cygwin-less installation. It's just a plain zip archive without installer. The included README explains better how to install it than I'd be able to.
 +
A problem so far: Darcs uses Unix line feed only line endings and doesn't translate to CRLF like CVS. We'll see if this is a problem.
  
= Where To Get =
+
== NSIS Installer ==
  
[http://www.tortoisecvs.org/ TortoiseCVS]
+
Needed to build installer .exes from your builds. Get it at http://nsis.sourceforge.net/Main_Page. Z-Man uses version 2.05. Installation is automatic.

Revision as of 13:26, 9 April 2006

Since Z-Man is in the process of reinstalling his Windows box, he's taking the opportunity to write step-by-step installation instructions to turn a regular, boring Windows installation into a rocking Armagetron Advanced Development System. Obviously, this is still pretty much under construction.

The Sources

You need a copy of armagetronad-<VERSION>.src.zip and armagetronad-winlibs-<VERSION>.zip. The versions don't have to match, take a winlibs with the largest version that is not later than the armagetronad version. Extract them both into the same folder. Inside the armagetronad-<VERSION>, you'll find the project files armagetronad.workspace (for Code::Blocks) and armagetronad.dsw (for Visual Studio). Open it with the IDE of your choice. Visual Studio 2005 will ask whether it should transform the project to its own format, answer with "yes to all". Oh, but wait, you haven't got any of this installed yet.

IDEs

You need only one:

Visual Studio 6.0

Not supported by us for much longer and not available for free. Avoid if you can.

Code::Blocks

Available for download here. I've got 1.0rc2 with the MINGW compiler. Don't add the CVS/SVN support in third party plugins, there is a warning on the Download page saying it's broken; that information is correct.

Z-Man wonders: I remember from my last installation that I had to set some paths to the Microsoft Platform SDK to get the client working. This time, I didn't need to. Maybe the SDK setup made it so that it's not required, maybe Code::Blocks doesn't require the SDK at all (it comes with its own headers that appear to be working fine). Moving the SDK to some other directory had no effect on Code::Blocks, so I assume it's not required.

Microsoft's Free Stuff

A quirk of this setup: We haven't found a way yet to redistribute the binaries produced with this. Two support libraries are required, and they need to be installed differently on Windows 2000 and Windows XP.

Also, you'll need at least Windows 2000 to run these.

Platform SDK

Search for it at Microsoft (the links don't look permanent to me). Chose the Microsoft Windows Server 2003 Platform SDK or anything that looks more recent. Get it, install, and remember the path you installed it to for later, you'll have to make it known to your IDE. You can choose "custom installation" and throw out a lot of junk we don't need: We only need the Configuration Options and Core SDK, and you can throw out the platforms that don't apply to you from Core.

Visual C++ 2005 Express Edition

Currently available as a free donwload from Microsoft. The regular installation requires a Passport account, but the manual installation instructions also give ISO downloads. The SQL stuff isn't needed for our purposes, the installation is fat enough without it.

You'll need to set the paths to the SDK now. Go to Tools/Options/Projects and Solutions/VC++ Directories. Add <Memorized SDK Path>/Include to "Include Files" and <Memorized Path>/Lib to "Library Files". Insert both at the bottom.

Problems: you also need the DirectX SDK, and linking fails with some missing symbols. To be continued :) Use Code::Blocks, really.

More Tools

The following tools are not required for a basic system, you can compile and run our source distribution with just one of the IDEs above. But if you want to be a full scale developer/builder/distributer, you'll also need them.

CVS

CVS is the way we currently manage our source code. The easiest way to get CVS runing to use setup is TortoiseCVS and throw ssh for authentication on top of it. Install TortoiseCVS and memorize the directory it was installed to;

TODO: ssh (Putty perhaps), how-to-set-a-key

Python

The script that sorts our included resources into the right place (and is only needed if you want to build from CVS) is written in Python which is available at http://www.python.org. Z-Man has got version 2.4.3. Installation is completely automatic.

Darcs

Currently under discussion as a future source code management tool, so not required at all for anyone yet. Get it from http://darcs.net. Z-man chose the cygwin-less installation. It's just a plain zip archive without installer. The included README explains better how to install it than I'd be able to. A problem so far: Darcs uses Unix line feed only line endings and doesn't translate to CRLF like CVS. We'll see if this is a problem.

NSIS Installer

Needed to build installer .exes from your builds. Get it at http://nsis.sourceforge.net/Main_Page. Z-Man uses version 2.05. Installation is automatic.