summaryrefslogtreecommitdiffstats
path: root/cmake
AgeCommit message (Collapse)AuthorFilesLines
2026-07-21Add project-related variables to feature moduleAlexey Gavrilov1-10/+30
Project available architectures, project root directory, project current architecture, project toolchain directory are define in feature module, and they must to initialize with new function. The mention above function `featureProjectDataAssign` writes values to these variables cause them initialize. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-21Cmake feature add some commentsAlexey Gavrilov1-8/+18
Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-17Overwrite over the macro a feature module functionAlexey Gavrilov1-11/+67
The cmake feature module function `bindFeatureToBuild` has overwrite over the cover function macro. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-16Processing feature variables policy changeAlexey Gavrilov2-8/+22
Feature is enable if variable FEATURE_<feature name> defines and it caches, and it judges as **enable**. It influences the FEATURE_<feature name>_IS_ENABLE field in `CMakeFeature.out` and runfile generation files - all the **enable** features are mention direct or indirect now. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-16Cmake feature module duplicates checkAlexey Gavrilov1-1/+15
Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-16Cmake feature module generates functions bodyAlexey Gavrilov1-76/+86
Add a new macros `createFeatureModuleFunction` that cover functions definition. If module suspends, generates all blank function. Blank function is only show a warning about module status. Generate according body and arguments of function when module is active. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-14Cancel toolchain processing for runfileAlexey Gavrilov1-23/+1
Toolchain and build folder cmake arguments doesn't have in runfile now. Only features are enumerating in. These deleted defines are point by CI service to run needed cmake configuration Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-03File write functions changesAlexey Gavrilov3-9/+35
In `outFeaturesToFile` function toolset is appends to a resulting file (cmake toolchain file or arch, compiler if previous is not specify). Toolset mention needs to filter available features for a specific platform. FEATURE_<feature>_IS_ENABLING var also provides when <feature> already enabled. Build type is not in toolset now. That means to parse `CMAKE_BUILD_TYPE` anyway when toolset is processing even if `CMAKE_TOOLSCHAIN_FILE` is specified. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-02Reproduction cmake run command fileAlexey Gavrilov1-0/+54
Generates file contains command line cmake run to reproduce previous cmake pass through. CI service use this run file to start pipeline with needs cmake configuration that developer was make. Following code pushing workflow: Commit pushed to a code review system (`CMakeReplication.txt` required) -> CI service intercepts changes -> Pipeline start using passed in commit cmake replication command -> CI submit pipeline finished status Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-07-02Write configuring features into output fileAlexey Gavrilov1-20/+53
Implements a new feature module function `outFeaturesToFile` to output all available features into 'CMakeFeatureOut.txt' file. Format of that file is set of FEATURE_<feature>_<property> variables like defines in `CMakeCache.txt`. Will to use as proxy between cmake and configuration tools. Those utilities read features out file to build configuration kernel tree. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-06-25Add feature cmake moduleAlexey Gavrilov2-2/+169
Feature is abstraction around cmake build target used to contains descriptive information in target properties as name, dependencies, tags and etc.. Feature creation divided by three processes: start creation process, fields filling and stop creation process. Start creation process means passed target is handle now, and stop process is finish to handle a current feature. Using this way helps to construct correct features hierarchy and simplify kernel configuration process. This will use in standalone automating kernel configuration tools: 1. Cmake generate a features file with information about them all. 2. Tool read this file and display features tree. 3. User start to configuring his kernel. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-06-09Apply the GPLv3 licenseAlexey Gavrilov3-0/+54
Copyright disclaimer and copyright note are prepending to a every source file. Add license section in the `README.md` file. Create the LICENSE` file with license information. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-30Cmake status information outputAlexey Gavrilov2-0/+2
Reinforce of compiler, C runtime, architecture checks at cmake configuration. Compiler check means continue building at the cmake configure stage only for supported compilers. Use unsupported compiler involves immediate build process stopping. C runtime check means finding of runtime objects. Especially for *crtbegin.o* and *crtend.o* files. Architecture means *ObjectiveProject_ARCHITECTURE* variable is set. That variable configure at toolchain file by default and cannot override if toolchain file is passed. TODO - Image creation - Build under window platform (optional) Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-28Cmake build type at the generation stageAlexey Gavrilov2-4/+0
Fix in *nasm* files - set architecture bitness. Move compiler flags from *toolchain* file to *requirements target* considering cmake files. This solution allows available of multi-configurations generators to pass compiler options without affecting on single-configuration generators. TODO - Debug information - Image creation - Build under window platform (optional) Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-28Cmake build generator support: toolchain fileAlexey Gavrilov2-0/+20
Two toolchain files for clang and gcc compilers under x86 platform. Debug flags also passed at the configure time. Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>
2026-03-27Cmake build generator support: build stageAlexey Gavrilov1-0/+8
Multi-target architecture implementation: each root source code directory presents the one *INTERFACE* target to it's subdirectory subtargets that link only as *STATIC* library. For instance, *arch* directory presents *Architecture* target then *Architecture* target has *CPUID*, *IO*, *PORT* and etc. dependencies Exact order of linking targets is: boot.o CRTIBUNDLE <TARGETS> CRTNBUNDLE. Sequence destruction cause to UB. Please to pay attention to this. TODO - Debug information - Build type - Toolchain file - Image creation - Build by WinGW compiler on Windows platform (optional) Signed-off-by: Alexey Gavrilov <alexey.gavrilov@mail.com>