Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/RemedyIT/axcioma

AXCIOMA, the component framework for distributed, real-time, and embedded systems
https://github.com/RemedyIT/axcioma

component corba cpp11 dds dds4ccm framework iiot middleware omg zeromq

Last synced: 29 days ago
JSON representation

AXCIOMA, the component framework for distributed, real-time, and embedded systems

Awesome Lists containing this project

README

        

image:https://img.shields.io/badge/scoreboard-Remedy IT-brightgreen.svg[Scoreboard, link=https://www.axcioma.org/scoreboard.html]
image:https://www.codefactor.io/repository/github/remedyit/axcioma/badge[CodeFactor, link=https://www.codefactor.io/repository/github/remedyit/axcioma]
image:https://github.com/RemedyIT/axcioma/workflows/linux/badge.svg[Linux CI, link=https://github.com/RemedyIT/axcioma/actions?query=workflow%3Alinux]
image:https://github.com/RemedyIT/axcioma/workflows/fuzzr/badge.svg[Fuzzr CI, link=https://github.com/RemedyIT/axcioma/actions?query=workflow%3Afuzzr]

= Building AXCIOMA or TAOX11

This is the main repository for https://www.axcioma.org[AXCIOMA] and https://www.taox11.org[TAOX11].
AXCIOMA and TAOX11 are created and maintained by https://www.remedy.nl[Remedy IT].
This repository contains the bootstrap tooling to obtain AXCIOMA or TAOX11 and to generate the necessary
configuration using link:brix11/docs/src/brix11.adoc[BRIX11].

== Prerequisites

Before bootstrapping AXCIOMA make sure you have installed the following prerequisites

[cols="<,<",options="header",]
|=========================================
|Prerequisite |Package name
|ruby 2.5 or newer|ruby
|perl version 5.10 or newer |perl
|git |git
|gcc version 8 or newer |gcc
|g++ version 8 or newer |gcc-c++
|xerces-c++ version 3.0 or newer |xerces-c
|GNU make version 3.81 or newer |make
|GNU Bash|bash
|=========================================

== Build steps

After cloning this repository to your local system you need to

. Bootstrap
. Configure
. Generate
. Compile

This can be done all together by executing the following commands

bin/brix11 bootstrap
bin/brix11 configure
bin/brix11 gen build workspace.mwc
bin/brix11 make

For all commands additional help is available by executing `bin/brix11 help _command_`.

=== Bootstrap

AXCIOMA is the default target for bootstrapping. The bootstrap command will clone all dependent git repositories to their expected location. This can be done by executing

bin/brix11 bootstrap

TAOX11 can be specified as optional target, which is done using

bin/brix11 bootstrap taox11

=== Configure

The configure step generates the necessary configuration files for the specified target (execute `bin/brix11 help configure` for more details). The configure step is performed by executing

bin/brix11 configure

NOTE: Configure doesn't use your current environment, when you want configure to use your current environment
use `bin/brix11 -E configure`. When using the `-E` switch you have to keep in mind you will have to keep using
that switch when building project files, running make and running tests. +
As alternative you can specify configuration variables as argument to configure,
for example `-W nddshome= -W nddsarch=` to specify the
RTI Connext DDS home and architecture or `-W openddsroot=` to specify the location of the OpenDDS sources.
This will cause the settings to be stored in the BRIX11 configuration.
The `bin/brix11 env` command will show you all environment variables set up by BRIX11.

=== Generate build artifacts

The generate step will generate the necessary build infrastructure using https://github.com/DOCGroup/MPC[MPC] to compile the core of the target.

bin/brix11 gen build workspace.mwc

=== Compile

The compile step will compile the core of the target with the default compiler for your platform

bin/brix11 make

=== Generate user documentation

User documentation can be generated after the `brix11 configure` command using https://asciidoctor.org/[Asciidoctor] by executing

bin/brix11 generate documentation

After generation the documentation can be found under `docs/html`. A good place to start reading is the `getting_started.html`
document (either under `docs/html/ciaox11` for AXCIOMA or `docs/html/taox11` for TAOX11).

== Building formal releases

To get and build a formal release either checkout a formal release tag after cloning this repository or download and install a formal release source package of this repository.
From there just follow the regular build steps outlined above. The bootstrap procedure will automatically pull in the right versions of the dependent git repositories.