1.3.2. First Project Setup

This section describes a minimal setup on a single machine where all components run together:

  • Dashboard server

  • Database

  • Analysis agent

The flow is intentionally short:

  1. Set up and start the dashboard.

  2. Run the Project Wizard to create a minimal project configuration.

  3. Run one analysis and check the result in the web dashboard.

  4. Iterate by modifying the code and running the analysis again to see the delta of the results in the dashboard.

This setup is ideal for local proofs of concept, testing small projects or onboarding. For production setups the Dashboard server, Database and analysis agents can all be separated into different machines according to needs. See the Dashboard Setup section for an explanation of the different topologies.

1.3.2.1. Prerequisites

All Axivion Suite commands used in this guide require an Axivion command prompt:

  • On Linux / macOS: in a shell, source bauhaus-kshrc or bauhaus-cshrc from the Axivion Suite installation directory.

  • On Windows: open an Axivion Command Prompt from the Start Menu, or open a standard command prompt and run absvars.bat or absvars.ps1 from the Axivion Suite installation directory.

1.3.2.2. Step 1: Set up the Dashboard

Run the following to create a dashboard configuration:

dashserver init SERVER_HTTP

For production setups, check the Dashboard’s initial Configuration chapter for a list of all the possible options and their meaning.

Then, start the dashboard server:

dashserver start

Save the access credentials printed in the terminal, as you will need them to log in to the dashboard and to run the analysis in Step 3.

Optional status check:

dashserver status

After startup, on any browser, open:

http://localhost:9090/axivion

Use the login information that was printed in the terminal by dashserver start.

1.3.2.3. Step 2: Create a Minimal Project with the Project Wizard

For this guide we use a trivially small C project consisting of a single file.c and a CMakeLists.txt:

CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
set(CMAKE_C_STANDARD 99)
project(app C)
add_executable(app file.c)
file.c
#include <stdio.h>

int main(void) {
    printf("Hello, world!\n");
    return 0;
}

Go to the root directory of the project and start:

axivion_config

If the environment variable BAUHAUS_CONFIG is unset, the Project Wizard opens automatically. For an in-depth explanation of the configuration options, see Project Wizard.

In the wizard:

  1. Choose Use Wizard.

  2. On the Axivion Topology page, select Managed upload on a single machine. (for a description of the different topologies, see the Dashboard Setup section).

  3. Confirm the project root directory.

  4. Keep the default configuration directory (typically axivion/) unless you need a different location.

  5. Choose the build system your project uses (e.g. CMake, which should be automatically detected) and on the next steps specify its options (e.g. Ninja as the generator for a CMake project).

  6. Write the path of the final output of your build (or let the automatic detection do it using the Detect button if it is supported by your build system e.g. CMake).

  7. Choose your compiler (e.g. GNU C/C++) and enter the command line for compilation (e.g. gcc -std=c99 -o app file.c for the above CMake project).

  8. On the VCS (Version Control System) page select None (in a production setup select instead the VCS that your project actually uses) and keep the Track all source code files internally option enabled in the next step.

  9. On the Dashboard URL page, specify the URL of your dashboard (e.g. http://localhost:9090/axivion).

  10. If you want, activate a standard set of rules for your project (e.g. MISRA C:2025 for a C project).

  11. Complete the wizard and hit save.

At the end, the wizard creates a /axivion folder with a start script in your configuration directory:

  • Windows: start_analysis.bat and start_analysis.ps1

  • Linux/macOS: start_analysis.sh

1.3.2.4. Step 3: Run an Analysis and Check the Results

Before running the analysis, set the dashboard credentials that were printed by dashserver start in Step 1. Add them as AXIVION_USERNAME and AXIVION_PASSWORD on your start script (e.g. start_analysis.sh on Linux/macOS and start_analysis.bat or start_analysis.ps1 on Windows).

Note

This is a quick way to get started. For repeated or production use, set AXIVION_USERNAME and AXIVION_PASSWORD as persistent environment variables on your CI system instead. The Axivion plugins also set these environment variables, hence why, when using this workaround in the start_analysis script, it should be checked if they are already defined before setting them.

Run the generated start script from the project configuration directory.

Windows:

axivion/start_analysis.bat

Linux/macOS:

./axivion/start_analysis.sh

The script triggers a first end-to-end run (build integration, analysis, and result upload/update for the configured dashboard project).

When the script finishes successfully:

  1. Open http://localhost:9090/axivion.

  2. Verify that your project shows up in the list.

  3. View the findings in the issue lists and source views.

To iterate, modify code and run start_analysis.bat / start_analysis.sh again.