-
- Downloads
CMake: Process platform files in -C config
Allow projects that use the kernel as a subproject to configure the kernel in -C scripts. CMake supports providing a script via -C upon first initialisation of a build directory. This script is expected to populate the configuration cache for the rest of the build to depend on. This is how standalone kernel builds are currently configured. However in buildsystems that add the kernel as a subproject, it was up to the application to modify configuration properties before or after the kernel was imported. This lead to circular dependencies where properties were changed by a module later in the build, but this then invalidated properties that were set based on the first property's original value. This lead to running CMake multiple times in order for settings to reach a stable state. We now assume that most shared system configuration occurs in initial -C settings evaluation. seL4Config.cmake is a configuration module that the kernel exports that allows a configuration script to set kernel platform and architecture settings in a way that doesn't introduce circular dependencies. seL4Config can be imported into other configuration files. This should make it easier for a full system configuration script to query and configure kernel configuration values without introducing circular dependencies on configuration properties.
Showing
- CMakeLists.txt 14 additions, 0 deletionsCMakeLists.txt
- config.cmake 5 additions, 172 deletionsconfig.cmake
- configs/ARM_HYP_verified.cmake 1 addition, 0 deletionsconfigs/ARM_HYP_verified.cmake
- configs/ARM_verified.cmake 1 addition, 0 deletionsconfigs/ARM_verified.cmake
- configs/RISCV64_verified.cmake 1 addition, 0 deletionsconfigs/RISCV64_verified.cmake
- configs/X64_verified.cmake 1 addition, 0 deletionsconfigs/X64_verified.cmake
- configs/seL4Config.cmake 242 additions, 0 deletionsconfigs/seL4Config.cmake
Loading
Please register or sign in to comment