Skip to content

Build instructions

ameci-iis edited this page Apr 4, 2024 · 1 revision

General configuration

The build generally requires CMake (at least version 3.16) and a suitable toolchain to be installed on your system.

Independent of the build target, you can configure the build with the following CMake variables:

  • iec61937-13_BUILD_BINARIES: a Boolean variable that controls if the executables in the demo folder are built. The default value is OFF.
  • iec61937-13_BUILD_DOC: a Boolean variable that controls if the Doxygen documentation in the doc folder is built. The documentation is generated from the comments in the source files and requires Doxygen to be installed. The default value is OFF.
  • CMAKE_BUILD_TYPE: a standard CMake variable controlling optimization level and debug symbols. It is recommended to always set this to Release, unless you are doing development on the software.

Native build

These are basic build instructions. For further information on your specific platform, visit the target-specific build pages.

  1. Clone the project and make a build folder.

    $ git clone [email protected]:Fraunhofer-IIS/iec61937-13.git
    $ mkdir -p build
    
  2. Configure the project using CMake.

    $ cmake -S iec61937-13 -B build -DCMAKE_BUILD_TYPE=Release
    
  3. Build the project.

    $ cmake --build build --config Release
    

    The build/ folder should, dependent on the set configuration, now contain:

    • lib/ subfolder with the built project libraries
    • bin/ subfolder with the built project binaries (e.g. example programs)
    • doc/ subfolder with the generated Doxygen documentation

    NOTE: on Windows the output subfolder will additionally contain Release or Debug subfolder.

Target-specific build instructions

We provide more detailed build instructions for the following platforms.

For some platforms, we provide starter toolchain files. You can find more info here. Further cross-compilation with specific toolchains can be achieved by providing your own toolchain files.