Skip to content

[milestone]CMake包管理与编译器 #1

@suhao

Description

@suhao

CMake包管理与编译器

实现工程的结构化,通过基于cmake的可视化配置文件,可以便捷生成VS或xcode的工程项目。

  • build via clang-cl + LLD,gcc,cl.exe,apple-clang,intel,etc
  • supports x86、x64、arm64等
  • host on windows、raspberry pi、OSX、linux(ubuntu/debian/redhat/arhlinux/raspbian)、FreeBSD、SunOS, etc.

CMake的工作原理

  1. cmake build
  2. exec_process命令
  3. 执行exe/python脚本
  4. 生成基于json的cmake文件
  5. download packages
  6. 生成工程配置文件
  7. 编译
  8. install: 执行exe/python脚本,上传至包管理服务器

特性支持

  • cmake.sh脚本支持,封装cmake基础功能,并扩展
  • 包下载
  • patch应用
  • 构建规则
  • 包管理+CI+CD,实现conan
  • 二进制包管理:编译选项多样性,runtime,编译器版本,平台,CPU(ARM/x64/x86)等,包含版本管理
  • 私有包管理系统
  • 命名规范:user/package:version;platform;debug/release;crt-runtime;cpu;options.
  • 增量编译+改动检测+云端编译+缓存服务
  • 源码编译
  • 编译脚本+patch
  • package.json
  • WSL: 跨平台
  • module+import机制

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions