Difference between revisions of "Development on Windows"

From GIMX
Jump to: navigation, search
(Marked this version for translation)
(Debug build)

(24 intermediate revisions by the same user not shown)

Line 12: Line 12:
  
 
<!--T:29-->
 
<!--T:29-->
If you are running a 32-bit Windows, install the i686 of Msys2.<br />
+
If you are running a 32-bit Windows, install the i686 version.<br />
If you are running a 64-bit Windows, you can choose either the x86_64 version or the i686 version.<br />
+
If you are running a 64-bit Windows, install the x84_64 version.
The binaries produced by the x86_64 version can only run on a 64-bit Windows, whereas the binaries produced by the i686 version can run on a 32-bit or a 64-bit Windows.
 
  
 
==Checkout installation and build tools== <!--T:33-->
 
==Checkout installation and build tools== <!--T:33-->
 +
 +
'''Run msys2.exe and type:'''
  
 
  <!--T:34-->
 
  <!--T:34-->
Line 25: Line 26:
  
 
<!--T:31-->
 
<!--T:31-->
Run mingwXY_shell.bat (XY=32 or 64) and type:
+
'''Run mingw64.exe and type:'''
  
 
  <!--T:32-->
 
  <!--T:32-->
 
cd GIMX-build/windows
 
cd GIMX-build/windows
 
  ./install.sh
 
  ./install.sh
 +
 +
On 32-bit Windows run mingw32.exe instead.
  
 
==Inno setup== <!--T:35-->
 
==Inno setup== <!--T:35-->
Line 39: Line 42:
  
 
<!--T:16-->
 
<!--T:16-->
Run mingwXY_shell.bat (XY=32 or 64) and type:  
+
'''Run mingw64.exe and type:'''
  
 
  <!--T:17-->
 
  <!--T:17-->
cd GIMX-build
+
cd GIMX-build/windows
 
  ./build.sh
 
  ./build.sh
  
Line 48: Line 51:
 
All binaries are copied into <path to msys>\home\<username>\GIMX\setup, e.g. C:\msys32\home\matlo\GIMX\setup.<br />
 
All binaries are copied into <path to msys>\home\<username>\GIMX\setup, e.g. C:\msys32\home\matlo\GIMX\setup.<br />
 
A setup file is also created.
 
A setup file is also created.
 +
 +
On 32-bit Windows run mingw32.exe instead.
  
 
==Eclipse IDE== <!--T:19-->
 
==Eclipse IDE== <!--T:19-->
Line 53: Line 58:
 
<!--T:20-->
 
<!--T:20-->
 
This part is only useful in case you intend to modify the source code. If you only want to build GIMX, you can skip it.<br />
 
This part is only useful in case you intend to modify the source code. If you only want to build GIMX, you can skip it.<br />
Eclipse is an IDE that can be stacked onto the MinGW/MSYS compilation toolchain.<br />
+
Eclipse is an IDE that can be stacked onto the Msys2/MinGW64 compilation toolchain.<br />
 
Be sure to have a [http://www.oracle.com/technetwork/java/javase/downloads/index.html java JRE] installed on your system.<br />
 
Be sure to have a [http://www.oracle.com/technetwork/java/javase/downloads/index.html java JRE] installed on your system.<br />
Download [http://www.eclipse.org/downloads/ Eclipse IDE for C/C++ Developers]. Unzip it to wherever you want.<br />
+
Download [https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2018-12/R/eclipse-cpp-2018-12-R-win32-x86_64.zip Eclipse CDT 2018-12]. Unzip it to wherever you want.<br />
Run eclipse.exe.
+
Run eclipse.exe.<br />
 +
Use default workspace folder.<br />
 +
 
 +
===Cloning project===
 +
 
 +
Copy the following URL: <nowiki>https://github.com/matlo/GIMX.git</nowiki><br />
 +
Click on "Window > Show View > Other...", select "Git repositories", and click on "Open".<br />
 +
Type Ctrl+V. A "Clone Git Repository" window should appear.<br />
 +
First step defines the repository to import. Click on "Next".<br />
 +
Second step defines the branch selection. Select the branches you are interested in. "master" branch contains latest stable source code. Click on "Next".<br />
 +
Third step defines local destination. A standard value for "Directory" is "C:\Users\<username>\git\GIMX". Make sure to select "Clone submodules". Click on "Finish".
 +
 
 +
===Importing project===
 +
 
 +
In the "Git Repositories" view, right click on the cloned git repository, and click on "Import Projects...". Select the project folder (for example "GIMX") and click on "Finish".<br />
 +
 
 +
===Building project===
 +
 
 +
In the "Project Explorer" view, right-click on the project, and click on "Build Project".<br />
 +
If the build fails at finding make or gcc :
 +
* in the "Project Explorer" view, right-click on the project, and click on "Properties"
 +
* unfold "C/C++ Build", and click on "Environment"
 +
* make sure msys2 and mingw64 bin folders are present in the PATH variable
 +
** for example, if you used default installation folder for msys2 (C:\msys64), you should have this at the end of the PATH variable: C:\msys64\usr\bin;C:\msys64\mingw64\bin
 +
** it is not a good idea to change PATH at the system level, as this could lead to other apps malfunctioning
 +
 
 +
===Debug build===
 +
 
 +
* in the "Project Explorer" view, right-click on the project, and click on "Properties"
 +
* in "C/C++ Build", uncheck "Use default build command"
 +
* enter "make -j 4 DEBUG=1 VERBOSE=1" without quotes as "Build command" (replace 4 with your number of CPU cores)
 +
* in the "Project Explorer" view, right-click on the project, and click on "Clean project"
 +
* in the "Project Explorer" view, right-click on the project, and click on "Build project"
 +
 
 +
===Notes===
  
===Project checkout=== <!--T:23-->
+
The build system does not detect changes in headers. Clean and rebuild project after modifying a header.
  
<!--T:27-->
 
Todo: add instructions.
 
 
</translate>
 
</translate>

Revision as of 13:43, 20 September 2019

Other languages:
English • ‎français

This wiki explains how to install a compilation environment (based on Msys2/mingw64) to build GIMX.
It also explains how to install Eclipse CDT and perform a checkout.
Unless otherwise specified, perform a default installation (default directories, etc).

Msys2/MinGW64

Download and install Msys2.
Make sure to follow the instructions from the Msys2 wiki.

If you are running a 32-bit Windows, install the i686 version.
If you are running a 64-bit Windows, install the x84_64 version.

Checkout installation and build tools

Run msys2.exe and type:

pacman --noconfirm -S git
git clone https://github.com/matlo/GIMX-build.git

Development tools

Run mingw64.exe and type:

cd GIMX-build/windows
./install.sh

On 32-bit Windows run mingw32.exe instead.

Inno setup

Download and install Inno setup.

Automated command-line build

Run mingw64.exe and type:

cd GIMX-build/windows
./build.sh

All binaries are copied into <path to msys>\home\<username>\GIMX\setup, e.g. C:\msys32\home\matlo\GIMX\setup.
A setup file is also created.

On 32-bit Windows run mingw32.exe instead.

Eclipse IDE

This part is only useful in case you intend to modify the source code. If you only want to build GIMX, you can skip it.
Eclipse is an IDE that can be stacked onto the Msys2/MinGW64 compilation toolchain.
Be sure to have a java JRE installed on your system.
Download Eclipse CDT 2018-12. Unzip it to wherever you want.
Run eclipse.exe.
Use default workspace folder.

Cloning project

Copy the following URL: https://github.com/matlo/GIMX.git
Click on "Window > Show View > Other...", select "Git repositories", and click on "Open".
Type Ctrl+V. A "Clone Git Repository" window should appear.
First step defines the repository to import. Click on "Next".
Second step defines the branch selection. Select the branches you are interested in. "master" branch contains latest stable source code. Click on "Next".
Third step defines local destination. A standard value for "Directory" is "C:\Users\<username>\git\GIMX". Make sure to select "Clone submodules". Click on "Finish".

Importing project

In the "Git Repositories" view, right click on the cloned git repository, and click on "Import Projects...". Select the project folder (for example "GIMX") and click on "Finish".

Building project

In the "Project Explorer" view, right-click on the project, and click on "Build Project".
If the build fails at finding make or gcc :

  • in the "Project Explorer" view, right-click on the project, and click on "Properties"
  • unfold "C/C++ Build", and click on "Environment"
  • make sure msys2 and mingw64 bin folders are present in the PATH variable
    • for example, if you used default installation folder for msys2 (C:\msys64), you should have this at the end of the PATH variable: C:\msys64\usr\bin;C:\msys64\mingw64\bin
    • it is not a good idea to change PATH at the system level, as this could lead to other apps malfunctioning

Debug build

  • in the "Project Explorer" view, right-click on the project, and click on "Properties"
  • in "C/C++ Build", uncheck "Use default build command"
  • enter "make -j 4 DEBUG=1 VERBOSE=1" without quotes as "Build command" (replace 4 with your number of CPU cores)
  • in the "Project Explorer" view, right-click on the project, and click on "Clean project"
  • in the "Project Explorer" view, right-click on the project, and click on "Build project"

Notes

The build system does not detect changes in headers. Clean and rebuild project after modifying a header.