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
|
nfapi_nr_interface_scf
|
||||||
*.log
|
*.log
|
||||||
*.out
|
*.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.
|
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
|
# 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.
|
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