49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
|
|
---
|
|||
|
|
tags: []
|
|||
|
|
date created: 星期三, 十一月 19日 2025, 7:24:00 晚上
|
|||
|
|
date modified: 星期三, 十一月 19日 2025, 7:27:31 晚上
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 1.4.1 CMake 核心环境 (CMake Core)
|
|||
|
|
|
|||
|
|
**1. 构建工具版本 (CMake Version)**
|
|||
|
|
|
|||
|
|
- **关键性**:**P1**
|
|||
|
|
- **信息解析**:
|
|||
|
|
- **物理版本**:**4.1.2**。这是一个非常新的版本(User Context 为 2025 年 11 月),意味着它原生支持现代 C++20/23 特性及最新的构建策略。
|
|||
|
|
- **项目约束**:`cmake_minimum_required(VERSION 3.10)`。
|
|||
|
|
- **结论**:版本兼容性极佳。CMake 4.x 完全向后兼容 3.x 语法。
|
|||
|
|
- **探测命令与结果**:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cmake --version
|
|||
|
|
cmake version 4.1.2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. 构建生成器 (Build Generator)**
|
|||
|
|
|
|||
|
|
- **关键性**:**P1**
|
|||
|
|
- **信息解析**:
|
|||
|
|
- **类型**:**Unix Makefiles**。
|
|||
|
|
- **评价**:这是 Linux 环境下的经典默认值。
|
|||
|
|
- **优化建议**:对于拥有 64 核以上的飞腾 S5000C 平台,若后续发现增量编译速度较慢,可考虑切换为 **Ninja** (`cmake -G Ninja …`),其依赖分析速度通常优于 Make。目前保持 Makefiles 亦无大碍。
|
|||
|
|
- **探测命令与结果**:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
grep "CMAKE_GENERATOR" …/CMakeCache.txt
|
|||
|
|
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**3. 工具链隔离状态 (Toolchain Isolation)**
|
|||
|
|
|
|||
|
|
- **关键性**:**P2**
|
|||
|
|
- **信息解析**:
|
|||
|
|
- **状态**:`CMAKE_TOOLCHAIN_FILE` 为空。
|
|||
|
|
- **架构意义**:这意味着 CMake 没有加载外部的交叉编译配置脚本。所有的编译器指定(Host GCC / Device Clang)均完全由项目内部的 `CMakeLists.txt` 显式控制。这符合“显式异构分离”的设计模式。
|
|||
|
|
- **探测命令与结果**:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
grep "CMAKE_TOOLCHAIN_FILE" …/CMakeCache.txt
|
|||
|
|
(Empty)
|
|||
|
|
```
|