Commit b69b4dc0 authored by Bartosz Podrygajlo's avatar Bartosz Podrygajlo

Add CMakePresets.json

Introduce CMakePresests.json which is a simple way to perform incremental build using cmake

New configure resets were added:
 - default: Configure compilation with default options
 - tests: Same as above but ENABLE_TESTS and SANITIZE_ADDRESS is ON

New build presets were added:
 - 5gdefault: Build the software for NR rfsimulator test
 - default: same as 5gdefault
 - 4gdefault: Build the software for LTE rfsimulator test
 - tests: build all unit tests

To configure using configuration preset:

`cmake --preset <preset_name>`

To build using a build preset:

`cmake --build --preset <preset_name>`
parent e15fa14c
......@@ -25,3 +25,4 @@ tags
nfapi_nr_interface_scf
*.log
*.out
CMakeUserPresets.json
{
"version": 3,
"configurePresets": [
{
"name": "default",
"displayName": "Default Config",
"description": "Default build using Ninja generator",
"generator": "Ninja",
"binaryDir": "${sourceDir}/cmake_targets/ran_build/build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
}
},
{
"name": "tests",
"displayName": "Default unit test config",
"inherits": "default",
"binaryDir": "${sourceDir}/cmake_targets/ran_build/build_test",
"cacheVariables": {
"ENABLE_TESTS": "ON",
"SANITIZE_ADDRESS": "ON",
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
}
}
],
"buildPresets": [
{
"name": "5gdefault",
"configurePreset": "default",
"targets": [
"nr-uesoftmodem",
"nr-softmodem",
"rfsimulator",
"dfts",
"ldpc",
"params_libconfig",
"params_yaml"
]
},
{
"name": "default",
"inherits": "5gdefault"
},
{
"name": "4gdefault",
"configurePreset": "default",
"targets": [
"lte-softmodem",
"lte-uesoftmodem",
"dfts",
"coding",
"rfsimulator",
"params_libconfig"
]
},
{
"name": "tests",
"configurePreset": "tests",
"targets": [
"tests"
]
}
]
}
......@@ -217,6 +217,30 @@ cmake-gui ../../..
```
You can of course use all standard cmake/ninja/make commands in this directory.
## cmake presets
CMake presets are common project configure options. See https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html
Configure presets:
- `default`: Configure compilation with default options
- `tests`: Same as above but ENABLE_TESTS and SANITIZE_ADDRESS is ON
Build presets:
- `5gdefault`: Build the software for NR rfsimulator test
- `default`: same as 5gdefault
- `4gdefault`: Build the software for LTE rfsimulator test
- `tests`: build all unit tests
To configure using configuration preset:
cmake --preset <preset_name>
To build using a build preset:
cmake --build --preset <preset_name>
# Cross Compile
If you want to use cross-compiler on x86 platform for aarch64 version, please refer the [cross-compile.md](./cross-compile.md) for more information.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment