Installation for Windows

Prerequisites for Windows users

If not already installed:

  1. Install Mercurial
  2. Optionally you can install TortoiseHg
  3. Install Visual Studio 2013
  4. Install Python 2.7
  5. Install CMake
  6. Install jom
  7. Install ninja

Qt is an external library used in FW4SPL. For the successful compilation of Qt with FW4SPL, please see the following requirements:

FW4SPL installation

FW4SPL works with data separation for source, build and install data. To prepare the development environment:

  • Create a development folder (Dev)
  • Create a build folder (Dev\Build)
  • Create a source folder (Dev\Src)
  • Create a install folder (Dev\Install)

To prepare the third party environment:

  • Create a third party folder (BinPkgs)
  • Create a build folder (BinPkgs\Build)
  • Create a source folder (BinPkgs\Src)
  • Create a install folder (BinPkgs\Install)

Dependencies

For the third party libraries the three following repositories have to be cloned in the (BinPkgs) source folder:

Update the cloned repositories to the used version. Make sure that cmake is set as environment variable. Call the cmake-gui or change the cmake arguments with the console from the BinPkgs build folder location. Choose jom as build tool (make sure jom was set as path variable to be found by cmake) for cmake. The following arguments have to be changed:

  • ADDITIONAL_PROJECTS: set the source location of fw4spl-ar-deps and fw4spl-ext-deps
  • CMAKE_INSTALL_PREFIX: set the install location.

Configure and generate the code. Compile the FW4SPL dependencies with jom in the console (e.g. jom all, jom qt, etc).

Source

For the FW4SPL source code the three following repositories have to be cloned in the (Dev) source folder:

Update the cloned repositories to the used version. Make sure that cmake is set as environment variable. Call the cmake-gui or change the cmake arguments with the console from the Dev build folder location. Choose jom or ninja as build tool for cmake (make sure the build tool was set as path variable to be found by cmake). The following arguments have to be changed:

  • ADDITIONAL_PROJECTS: set the source location of fw4spl-ar and fw4spl-ext
  • CMAKE_INSTALL_PREFIX: set the install location.
  • EXTERNAL_LIBRARIES: set the install path of the third part libraries.

Make sure the arguments concerning the compiler (advanced arguments) point to Visual Studio. Configure and generate the code. Compile the FW4SPL source code with jom or ninja in the console . To develop applications with FW4SPL the source code can be imported and compiled with the preferred development environment.

Launch an application

To work with an specific application or several applications the cmake argument PROJECTS_TO_BUILD can be set. After an successful compilation the application can be launched with the launcher.exe from FW4SPL. Therefore the profile.xml of the application in the build folder has to be passed as argument to the launcher call in the console. Make sure that the external libraries directory is set to the path (set PATH=%PATH%;C:FW4SPLBinPkgsInstallPathDebugbin;C:FW4SPLBinPkgsInstallPathDebugx64vc12bin;). .

../../_images/launchApp.png

Console settings

To use FW4SPL with the ConsoleZ or Console2 the following settings should be done:

  • The current directory should point to the build directory
  • Notify the windows command prompt as shell (e.g. C:WindowsSystem32cmd.exe /E:ON /V:ON /T:0E /K ), as default in debug mode
  • Join .bat files to the shell settings, to indicate specific settings like path extensions to the external libraries of FW4SPL (e.g. set PATH=%PATH%;C:FW4SPLBinPkgsInstallPathDebugbin;C:FW4SPLBinPkgsInstallPathDebugx64vc12bin;)
../../_images/ConsoleSettings.png

Release

To generate the projects in release, the following instruction has to be added:

  • The console shell should be the windows command prompt in release mode (C:WindowsSystem32cmd.exe /E:ON /V:ON /T:0E /K /release)
  • Change CMake argument CMAKE_BUILD_TYPE to release
  • Reference the EXTERNAL_LIBRARIES to the install folder of third part libraries compiled in release mode (for compiling the FW4SPL projects)