sel4 cmake

简介: sel4 cmake

1. 背景

在看sel4编译过程的时候,发现使用cmake构建的编译系统,因此本文记录cmake相关语法,方便后续快速查看。

2. cmake工具

2.1 查看cmake版本

cmake --version

显示:cmake version 3.10.2

2.2 查看cmake安装位置

which cmake

显示:/usr/bin/cmake

2.3 切换高版本cmake

export PATH=/usr/cmake-3.23.0-linux-x86_64/bin:$PATH
cmake --version

显示版本:cmake version 3.23.0

which cmake

显示修改后路径:/usr/cmake-3.23.0-linux-x86_64/bin/cmake

3. 语法

3.1 cmake_minimum_required(VERSION 3.7.2)

表示编译系统需要的cmake版本最低是3.7.2,由于我的系统默认cmake版本是3.10.2,我做了一个升级,别的地方需要更高的cmake版本。

3.2 include(settings.cmake)

包含其他的 cmake 文件,被包含的文件一般以 cmake结尾

3.3 project(sel4test C CXX ASM)

项目名字:sel4test

支持编程语言:c c++ ASM

3.4 find_package(seL4 REQUIRED)

寻找FindseL4.cmake 文件

./kernel/FindseL4.cmake

3.5 set(KernelRootCNodeSizeBits 13 CACHE INTERNAL “”)

变量设置,将KernelRootCNodeSizeBits设置成13

3.6 message

向终端用户输出自定义信息,主要包含 3 种信息:

  • SEND_ERROR 生产错误,生成过程被跳过;
  • STATUS 输出前缀为 – 的信息;
  • FATAL_ERROR 立即终止所有 cmake 过程。
    实例:
message(STATUS "binary dir ${sel4test_BINARY_DIR}")
message(STATUS "source dir ${sel4test_SOURCE_DIR}")

3.7 cmake cache scripts

CMake缓存脚本提供预配置选项的子集,允许项目用户避免手动设置每个选项。缓存脚本的文件扩展名为.cmake。

项目可以提供缓存脚本文件,每个文件都包含配置单个功能或选项所需的缓存设置。通过组合多个.cmake文件,可以以特定的方式初始化项目。缓存脚本配置是通过在初始化构建目录时将-C<file>传递给cmake来提供的。

3.8 持续更新…

相关文章
|
iOS开发
Xcode报错解决方法:ld: symbol(s) not found for architecture arm64
Xcode报错解决方法:ld: symbol(s) not found for architecture arm64
3313 0
|
7月前
MTK在编译10A的target时报错:make: *** [mmi_feature_check]
MTK在编译10A的target时报错:make: *** [mmi_feature_check]
32 0
|
7月前
|
编译器 Linux C语言
CMake指定交叉编译指南:从编译器设置到验证 (CMake Cross-compilation Guide: From Compiler Setup to Verification)
CMake指定交叉编译指南:从编译器设置到验证 (CMake Cross-compilation Guide: From Compiler Setup to Verification)
1991 1
|
Shell C++ Windows
[√]尝试使用cmake编译使用vld
[√]尝试使用cmake编译使用vld
123 0
|
编译器 API C++
[√]vld编译Release遇到的各种问题
[√]vld编译Release遇到的各种问题
86 0
|
编译器
SEL4编译
SEL4编译
230 0
STM32 Keil工程中使用abs函数报警告 warning: #223-D: function "abs" declared implicitly
STM32 Keil工程中使用abs函数报警告 warning: #223-D: function "abs" declared implicitly
960 0
|
Ubuntu 物联网 Linux
【Matter】使用chip tool在ESP32-C3上进行matter开发
【Matter】使用chip tool在ESP32-C3上进行matter开发
948 0
MAC编译lame ld: symbol(s) not found for architecture x86_64/_lame_init_old“, referenced from
MAC编译lame ld: symbol(s) not found for architecture x86_64/_lame_init_old“, referenced from
267 0