Difference between revisions of "4/Development setup"

From Worms Knowledge Base

Jump to: navigation, search
(D: best to not install D1 due to PATH conflicts and confusion)
m (ae and requisites: Never mind about the spaces)
 
(10 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
There are two versions of the language: D 1 and 2. D2 is the current version, thus commonly referred to as just "D".
 
There are two versions of the language: D 1 and 2. D2 is the current version, thus commonly referred to as just "D".
  
Warning: The D installer is known to truncate the system PATH environment variable over a certain limit. (If you don't know what this means, it most likely doesn't apply to you.)
+
* Proceed to the [http://dlang.org/download.html D download page], and download the current "dmd D 2.0 compiler 1-click install for Windows".
 
+
* Download and run the [http://ftp.digitalmars.com/dinstaller.exe D Windows installer].
+
 
** On the component selection screen, uncheck "D 1".
 
** On the component selection screen, uncheck "D 1".
 +
 +
== Git ==
 +
[http://git-scm.com/ Git] is a [[w:source control]] system. ae and its dependencies are stored in git.
 +
 +
[http://git-scm.com/download/win Download] and install the Windows version of git.
 +
* At '''Adjusting your PATH environment''', select one of the first two options.
 +
* At '''Choosing the SSH executable''', select '''Use OpenSSH'''.
 +
* At '''Configuring the line ending conventions''', select '''Checkout as-is, commit as-is'''.
  
 
== ae and requisites ==
 
== ae and requisites ==
There are two ways to set up development libraries: the proper way (using source control), and the easy way (zip snapshots). The proper way allows to easily update and contribute back to the libraries, but requires a lot more work when setting up from scratch. This page covers the easy way.
+
* Create a work directory which will contain all the source code.
  
* Download the following libraries:
+
* Right-click on the newly-created work directory, and select '''Git Bash'''.
** [http://www.dsource.org/projects/bindings/changeset/head/trunk/win32?old_path=/&format=zip Win32 bindings]
+
 
** [http://www.dsource.org/projects/derelict/changeset/head/branches/Derelict2/DerelictUtil/derelict?old_path=%2F&format=zip Derelict2 Util]
+
* At the prompt, type (without the <tt>$</tt> signs):
** [http://www.dsource.org/projects/derelict/changeset/head/branches/Derelict2/DerelictSDL/derelict?old_path=%2F&format=zip Derelict2 SDL]
+
 
** [https://github.com/CyberShadow/ae/zipball/master Armageddon Engine]
+
$ git clone https://github.com/CyberShadow/ae
{{gap}}
+
$ git clone https://github.com/CS-svnmirror/dsource-bindings-win32 win32
[[File:ae-setup-folderstructure.png|thumb|right|Folder structure]]
+
$ git clone https://bitbucket.org/cybershadow/derelict.git
* Unpack all ZIP files.
+
 
* Create a new folder, and place the unpacked folders in the new folder as shown in the picture to the right. You will need to:
+
* Go back to the work directory, and copy the path to it from the address bar.
** rename the root folder from the last zip file from <code>CyberShadow-ae-<i>something</i></code> to simply <code>ae</code>.
+
** merge the <code>derelict</code> directories from the derelict zip files.
+
* Copy the path to the new folder from the address bar.
+
 
{{gap}}
 
{{gap}}
 
* Navigate to <code>C:\D\dmd2\windows\bin</code>, and open <code>sc.ini</code> in Notepad.
 
* Navigate to <code>C:\D\dmd2\windows\bin</code>, and open <code>sc.ini</code> in Notepad.
 
* Find the line starting with <code>DFLAGS=</code>
 
* Find the line starting with <code>DFLAGS=</code>
 
* At the end of the line, type a space, then <code>"-I</code>, then paste the path copied above, then type <code>"</code> to close the quotes.
 
* At the end of the line, type a space, then <code>"-I</code>, then paste the path copied above, then type <code>"</code> to close the quotes.
* [[File:ae-setup-dmd-scini.png|thumb|600px|none|Example correct sc.ini]]
+
: [[File:ae-setup-dmd-scini.png|thumb|600px|none|Example correct sc.ini]]
 
* Save and close the file.
 
* Save and close the file.
 +
 +
* You will also need to [http://www.libsdl.org/download-2.0.php download the SDL2 DLL] (you'll need the Runtime binary for 32-bit Windows). Place the DLL in the folder you created.
 +
 +
You should now be able to compile and run the PewPew demo by running the following command from the work directory:
 +
 +
$ rdmd ae/demo/pewpew/pewpew
 +
 +
For improved performance, you can create and run a release build with the command:
 +
 +
$ rdmd -O -inline -release ae/demo/pewpew/pewpew
 +
 +
Below are instructions for setting up an editor or IDE, for more comfortable development.
 +
 
<!--
 
<!--
 
>>>>>>>>>>>>>> Visual D is blocked by http://www.dsource.org/forums/viewtopic.php?p=27618 <<<<<<<<<<<<<<<
 
>>>>>>>>>>>>>> Visual D is blocked by http://www.dsource.org/forums/viewtopic.php?p=27618 <<<<<<<<<<<<<<<
Line 50: Line 66:
 
* Click OK.
 
* Click OK.
 
-->
 
-->
 +
<!--
 +
>>>>>>>>>>>>>> Mono-D has the same issues as Visual-D <<<<<<<<<<<<<<<
 +
 +
== Mono-D ==
 +
Mono-D is a plugin adding D support for MonoDevelop.
 +
 +
* Download and install [http://monodevelop.com/ MonoDevelop] and its dependencies.
 +
* Follow the [http://mono-d.sourceforge.net/?page_id=9 Mono-D installation instructions].
 +
* Follow the [http://mono-d.sourceforge.net/?page_id=11 "Getting Started" guide], too.
 +
  * On the 4th step, also add the path to your d-stuff folder.
 +
* ???
 +
* Profit!
 +
 +
 
== SDL runtime ==
 
== SDL runtime ==
 
You'll need the SDL 1.2 runtime to run the SDL demos.
 
You'll need the SDL 1.2 runtime to run the SDL demos.
  
* Download the Win32 runtime library for the [http://www.libsdl.org/download-1.2.php SDL 1.2 download page].
+
* Download the Win32 runtime library from the [http://www.libsdl.org/download-1.2.php SDL 1.2 download page].
 
* Place <code>SDL.dll</code> in your project's directory, or somewhere on the system path (e.g. <code>C:\Windows</code>)
 
* Place <code>SDL.dll</code> in your project's directory, or somewhere on the system path (e.g. <code>C:\Windows</code>)
 +
 +
-->
  
 
== Geany ==
 
== Geany ==
Line 62: Line 94:
 
* Start Geany, and open a D file (for example, <code>ae/demo/pewpew/pewpew.d</code>).
 
* Start Geany, and open a D file (for example, <code>ae/demo/pewpew/pewpew.d</code>).
 
* From the '''Build''' menu, select '''Set build commands'''
 
* From the '''Build''' menu, select '''Set build commands'''
* Click the '''Build''' button below '''D source file Commands''', and change the text to '''Build and run''' in the pop-up box
+
* In the edit box near the '''Build''' button (in the '''Command''' column), replace the command with: <code>rdmd --build-only -w -g -of.\ "%f"</code>
* In the edit box near the button (in the '''Command''' column), type: <code>rdmd -w -g "%f"</code>
+
: [[File:ae-setup-geany-buildtools.png|thumb|400px|none|Screenshot]]
* [[File:ae-setup-geany-buildtools.png|thumb|400px|none|Screenshot]]
+
* You should now be able to compile the current file with '''F8''', build the currently-opened D program with '''F9''', and run it with '''F5'''.
* You should now be able to build & run the currently-opened D program by pressing '''F9''' or by clicking the '''Build''' icon ([[File:Ae-geany-build.png|20px]]) in the toolbar.
+
* To create optimized builds (which catch less programming errors and are unsuitable for debugging, but run faster), use this '''Build''' command line: <code>rdmd --build-only -w -O -inline -release -of.\ "%f"</code>
 
+
 
<!--
 
<!--
 
Notes:
 
Notes:
Line 74: Line 105:
 
Zeus - shareware
 
Zeus - shareware
 
-->
 
-->
 +
 +
== Troubleshooting ==
 +
 +
;Warnings about missing rpcns4.lib, mpr.lib, version.lib
 +
:These warnings can be safely ignored.
 +
;Derelict SharedLibLoadException
 +
:The program could not find the SDL DLL. Copy SDL2.dll in the program's folder, or to any folder in the system PATH (e.g. <code>C:\Windows</code>).

Latest revision as of 02:21, 13 July 2014

(Up to 4)

This page describes how to set up a working development environment with D and Armageddon Engine on Windows, and build the sample ae demos.

D

There are two versions of the language: D 1 and 2. D2 is the current version, thus commonly referred to as just "D".

  • Proceed to the D download page, and download the current "dmd D 2.0 compiler 1-click install for Windows".
    • On the component selection screen, uncheck "D 1".

Git

Git is a w:source control system. ae and its dependencies are stored in git.

Download and install the Windows version of git.

  • At Adjusting your PATH environment, select one of the first two options.
  • At Choosing the SSH executable, select Use OpenSSH.
  • At Configuring the line ending conventions, select Checkout as-is, commit as-is.

ae and requisites

  • Create a work directory which will contain all the source code.
  • Right-click on the newly-created work directory, and select Git Bash.
  • At the prompt, type (without the $ signs):
$ git clone https://github.com/CyberShadow/ae
$ git clone https://github.com/CS-svnmirror/dsource-bindings-win32 win32
$ git clone https://bitbucket.org/cybershadow/derelict.git
  • Go back to the work directory, and copy the path to it from the address bar.

 

  • Navigate to C:\D\dmd2\windows\bin, and open sc.ini in Notepad.
  • Find the line starting with DFLAGS=
  • At the end of the line, type a space, then "-I, then paste the path copied above, then type " to close the quotes.
Example correct sc.ini
  • Save and close the file.
  • You will also need to download the SDL2 DLL (you'll need the Runtime binary for 32-bit Windows). Place the DLL in the folder you created.

You should now be able to compile and run the PewPew demo by running the following command from the work directory:

$ rdmd ae/demo/pewpew/pewpew

For improved performance, you can create and run a release build with the command:

$ rdmd -O -inline -release ae/demo/pewpew/pewpew

Below are instructions for setting up an editor or IDE, for more comfortable development.


Geany

There are many editors and IDEs supporting D. This page describes setting up Geany, but there are many others available. If you're feeling adventurous, you can try experimenting with some of the editors and IDEs on this page.

  • Download and run the Windows Geany installer (with GTK) from the Geany download page.
  • Start Geany, and open a D file (for example, ae/demo/pewpew/pewpew.d).
  • From the Build menu, select Set build commands
  • In the edit box near the Build button (in the Command column), replace the command with: rdmd --build-only -w -g -of.\ "%f"
Screenshot
  • You should now be able to compile the current file with F8, build the currently-opened D program with F9, and run it with F5.
  • To create optimized builds (which catch less programming errors and are unsuitable for debugging, but run faster), use this Build command line: rdmd --build-only -w -O -inline -release -of.\ "%f"

Troubleshooting

Warnings about missing rpcns4.lib, mpr.lib, version.lib
These warnings can be safely ignored.
Derelict SharedLibLoadException
The program could not find the SDL DLL. Copy SDL2.dll in the program's folder, or to any folder in the system PATH (e.g. C:\Windows).
Personal tools