Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
suhao opened this issue Apr 27, 2020 · 0 comments
Open

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

suhao opened this issue Apr 27, 2020 · 0 comments

Comments

@suhao
Copy link
Collaborator

suhao commented Apr 27, 2020

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机制
@suhao suhao added this to the CMake包管理与编译器 milestone Apr 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant