Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Building Ilwis Objects

martin schouwenburg edited this page Apr 3, 2014 · 5 revisions

The Ilwis-Objects framework is build using the QTCreator IDE and its related project files ( http://qt-project.org/downloads). The project itself is located in two repositories on GitHub. The core (https://github.com/52North/IlwisCore) and the connectors at (https://github.com/52North/IlwisConnectors). The project needs a compiler with full support for C++11. Currently we use MinGw 4.8.2. This compiler comes with the appropriate choice for QT-creator. Note that version of the Microsoft compiler before visual 2013 are not sufficient( lack of support for the standard). For the moment the build has only been tested under the windows platform but there are no specific dependencies on this platform.

The project needs a certain set-up with respect to folders

In a base working folder the following folders need to be created

external All sources ( basically only include files) from non-ilwis software goes into here. They are **not** in the repository of ilwis-objects and should be downloaded seperately. At the moment this is
  • The boost libraries
  • The Eigen matrix library
  • The formats library
  • The geometry library
  • Proj4
  • It is up to the connectors to organize their own libraries. They can put their external libraries (if they need them) between this or put it in the folder were the source of the connector resides.

libraries The import libraries reside here. Both those that are generated from Ilwis itself as thos that are needed by external libraries ( e.g. geos or gdal). For the moment the libraries must reside in a win32debug/win32release subfolder of libraries.
IlwisCore Folder were all the projects from the github IlwisCore reside
IlwisConectors Folder were all the projects from the github IlwisConnectors reside

There are more folders but these are either optional or will be generated.

In a typical setup it might look like

  • base folder
    • External
      • Boost
      • Eigen
      • GdalHeaders
      • geos
      • Proj4
    • IlwisConnectors
      • GdalConnector
      • ...
      • WFS connector
    • IlwisCore
      • Baseoperations
      • ...
      • Rasteroperations
    • Libraries
      • win32debug (for windows)
        • project folders <:generated folder for each module>
        • import libraries
    • Output < generated >
      • win32debug
        • bin
          • Extensions
            • <:One folder for each connector>
          • core.dll + geos.dll

In the IlwisCore folder there will be a project called core. This must be built before all others. The order in which the rest is made doesnt matter as they are independent of each other.

There are no build instructions for the dependencies ( like e.g. the gdal dll) as this is basically openended. The number of connectors is potentially unlimmited and thus the dependencies. The (C++) dependencies must be built with the same compiler as the framework.

Clone this wiki locally