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:
Set up and start the dashboard.
Run the Project Wizard to create a minimal project configuration.
Run one analysis and check the result in the web dashboard.
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-kshrcorbauhaus-cshrcfrom 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.batorabsvars.ps1from 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:
cmake_minimum_required(VERSION 3.10)
set(CMAKE_C_STANDARD 99)
project(app C)
add_executable(app 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:
Choose
Use Wizard.On the
Axivion Topologypage, selectManaged upload on a single machine. (for a description of the different topologies, see the Dashboard Setup section).Confirm the project root directory.
Keep the default configuration directory (typically
axivion/) unless you need a different location.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.Ninjaas the generator for a CMake project).Write the path of the final output of your build (or let the automatic detection do it using the
Detectbutton if it is supported by your build system e.g.CMake).Choose your compiler (e.g.
GNU C/C++) and enter the command line for compilation (e.g.gcc -std=c99 -o app file.cfor the above CMake project).On the VCS (Version Control System) page select
None(in a production setup select instead the VCS that your project actually uses) and keep theTrack all source code files internallyoption enabled in the next step.On the Dashboard URL page, specify the URL of your dashboard (e.g.
http://localhost:9090/axivion).If you want, activate a standard set of rules for your project (e.g.
MISRA C:2025for a C project).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.batandstart_analysis.ps1Linux/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:
Open
http://localhost:9090/axivion.Verify that your project shows up in the list.
View the findings in the issue lists and source views.
To iterate, modify code and run start_analysis.bat / start_analysis.sh
again.