CopperSpice Overview
Building for Windows (MinGW)

This information pertains to building CopperSpice and developing applications on Windows. CopperSpice and your applications can be developed using any editor such as VI, emacs, or Diamond and built using the CMake build system. For an integrated environment Visual Studio or Qt Creator can be used for development, building, testing, and deployment.

There are two supported approaches to build CopperSpice and your applications. You can use MSVC or MinGW.

  • If you are using MinGW you will need to install MSYS and MinGW as described below.
Note
Windows does not provide a Bourne shell as a standard component. In order to build CopperSpice a shell program is required to run the configure scripts. This is installed as part of the MSYS project.

Utilities (MSYS)

We recommend installing this version of MSYS as it provides GNU Make and several other tools designed to work with the MinGW version of GCC. The same version of MSYS is used for 32-bit and 64-bit systems.

We are using MSYS revision 13 dated May 2013 msys+7za+wget+svn+git+mercurial+cvs-rev13.7z MSYS

MSYS uses your Windows path and adds an entry for the MSYS bin folder. If you want to change your MSYS path, do not specify a drive letter in your path. The MSYS BASH utility treats the path where MSYS resides as the 'root'. As an example, if MSYS was installed to C:\Msys you need to add '/bin' to your path. Internally MSYS will expand this to C:\Msys\bin.

The proper way to add or change your MSYS path is by altering the .bash_profile file. This file will be located in the location specified in USERPROFILE%. This is normally C:\Documents and Settings\<user> or C:\Users\<user>.

Add or modify the path entry to include the path where MSYS and MinGW where installed. In the following line '/bin' refers to MSYS\bin folder.

export PATH=/bin:/c/MinGW/bin:/c/windows/system32

As a Windows developer some of this configuration may seem odd, but this is a result of overlaying Unix file system behavior in a Windows environment. Once the configuration is set up and working it normally does not to be changed.

Compiler (MinGW)

MinGW is a development environment for Windows applications. It includes the GNU Compiler and other required tools. Since MinGW does not rely on any runtime DLL files, it is not necessary to distribute the source code with applications built using the GNU Compiler.

One of the tools in MinGW is GCC which is the compiler for the C and C++ computer languages. On Windows it is perfectly fine to build CopperSpice without MSVC using the MinGW compiler.

There are several different distributions of MinGW and we are using the "MinGW-Builds" project as it appears to be the most widely supported at this time. The POSIX version was selected instead of the win32 version as the latter does not support modern C++ threads.

We have links on our the CopperSpice website to the recommended distribution of MinGW

MinGW Distribution MinGW Files

Building CopperSpice

Refer to the following page for information about building CopperSpice.