mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
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>`
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -25,3 +25,4 @@ tags
|
||||
nfapi_nr_interface_scf
|
||||
*.log
|
||||
*.out
|
||||
CMakeUserPresets.json
|
||||
|
||||
64
CMakePresets.json
Normal file
64
CMakePresets.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
24
doc/BUILD.md
24
doc/BUILD.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user