Several configuration options are available that influence the variant of the Adaptive SDK. These options are set via CMake switches, which need to be specified when building the CMake cache.
This means that each unique combination of configuration flags generates a distinct variant of the SDK from the same BSW Package.
Steps
- Start from the BSW Package root directory
- Setup CMake build cache
During this step you can use the default settings or include your custom configurations. - Build the Adaptive stack
- After building the stack, in the
build
directory you will find the build cache for your chosen build preset, for examplebuild/gcc7_linux_x86_64
. - Install Libraries and MSRA Daemons
- After installing is complete, in the
install
directory you will find the Adaptive SDK for your chosen preset, for exampleinstall/gcc7_linux_x86_64
.
1. Setup CMake build cache
You can use the default settings for building the CMake build cache or customize the Adaptive SDK.

Caution: Please ensure for SDK builds a clean CMake cache. For example: Delete the build folder and create a new CMake cache for each SDK build.

Caution: Please do not use the CMake switch AMSR_BUILD_EXAMPLES
for production SDKs. This option would add the provided example code and libraries to the SDK.
Use default settings
The following command configures the MSRA libraries as well as the MSRA Platform Daemons of the SDK.
This enables the development of Adaptive Applications and MSRA platform daemons.
Command build cache default
shell
cmake -DCMAKE_VERBOSE_MAKEFILE=OFF \
-C CMakeConfig/linux_gcc7.cmake \
--preset=gcc7_linux_x86_64 \
-DCMAKE_BUILD_TYPE=Release
Customize build cache
To install a specific component feature, such as enabling the TraceAPI for the ZeroCopyBinding component, it must be specified when generating the CMake cache.
Component-specific CMake switches follow the convention: AMSR_<ComponentShortName>_<ConfigurationItem>
The following customizations are available:
- Install specific component features
- Generate MSRA Daemons alongside the MSRA libraries and MSRA Platform Daemons
Command build cache with customizations
shell
cmake -DCMAKE_VERBOSE_MAKEFILE=OFF \
-C CMakeConfig/linux_gcc7.cmake \
--preset=gcc7_linux_x86_64 \
# CMake switches (see TechRefs)
-DAMSR_ZEROCOPYBINDING_ENABLE_TRACE_API=ON
# Append further CMake switches if necessary
# Activate build of MSRA Daemons
-DAMSR_BUILD_APP=ON \
# Generate MSRA Daemons configuration with build cache setup
-D DVACFG_CMAKE_CONFIGURE=ON

Reference: You can find available CMake Switches for a MSRA component in the corresponding Technical Reference in your delivery at Doc/TechnicalReferences
.
Component-independent CMake Switches

Note: Some CMake Switches may not be available in your scope of delivery. For more information, please refer to the Delivery Description at Doc/DeliveryInformation
.
CMake Switch | Options | Description |
---|---|---|
|
| Build applications and MSRA Daemons |
| Ignore applications and MSRA Daemons | |
|
| Build examples |
| Ignore examples | |
|
| Enable build logging with syslog |
| Ignore syslog build logging | |
|
| Explicitly disable C++ exceptions |
| Leave C++ exceptions enabled | |
|
| Enable usage of logging with redirection to LogDaemon |
| Ignore LogDaemon | |
|
| Enable usage of Execution Manager application client |
| Ignore Execution Manager | |
|
| Enable NVIDIA Orin crypto provider support. Note: Requires a nvpkcs11 implementation. |
| Disable NvOrin crypto provider support. | |
|
| Enable PKCS #11 crypto provider support. Note: Requires a pkcs11 implementation. |
| Disable PKCS #11 crypto provider support. | |
|
| Enable global usage of AMSR IDSM |
| Disable global usage of AMSR IDSM |
2. Build the Adaptive stack
No special distinctions are required to compile the SDK.
Command SDK Build
shell
cmake --build build/<preset-name> --parallel
Example
shell
cmake --build build/gcc7_linux_x86_64 –-parallel
After building the stack, in the build
directory of your BSW package you will find the build cache for your chosen build preset, for example build/gcc7_linux_x86_64
.
3. Install the SDK
The MSRA build system provides several install components. You can choose which installation option fits best your needs.
Command SDK Installation
shell
cmake --install build/<preset-name> \
--component <installation-option> <--prefix /path/to/SDK>
Example SDK Installation
shell
cmake --install build/gcc7_linux_x86_64/ \
--component AMSR_Runtime --prefix /path/to/SDK
After installing is complete, in the install
directory of your BSW package you will find the Adaptive SDK for your chosen preset, for example install/gcc7_linux_x86_64
.

Reference: When the Adaptive SDK is installed it is ready to be integrated into an adaptive project.
Installation Options
Choose which components you would like to install to your SDK.

Note: Some installation options may not be available in your scope of delivery. For more information, please refer to the Delivery Description at Doc/DeliveryInformation
.
Installation Option | Description | Delivery-specific |
---|---|---|
| Installs static libraries, headers and interface libraries to the chosen install prefix. If | No |
| Installs exclusively MSRA Daemons to the chosen install prefix. | No |
| Installs a consistent package of code generators and other files needed for a consistent package to deploy along the libraries. Not included: Adaptive CLI Important: To avoid about 500 MB overhead for each SDK package, this command does not install the Adaptive CLI tool. However, the Adaptive CLI tool is necessary for running the generators. Therefore, make sure that the CLI is available when using the SDK. | No |