Watch 0 Star 1 Fork 1

极简美 / project_exampleC/C++

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
单仓库、多仓库管理方案 spread retract

Clone or download
Loading...
README.md

CMake工程管理实例

子仓库组织结构示例

  • 3rd:存放第三方或开源的仓库,在cmake执行时下载;

  • docs:存放本模块设计文档、使用说明文档和相关资料;

  • cmake:存放cmake构建所需要的文件、配置等相关信息;

  • source:存放本模块的全部源代码,内部结构以模块设计为准;

  • vendor:存放SOC平台相关的完整SDK,常用于交叉编译的情况;

  • examples:存放本模块的使用示例,与docs的文档一起指导用户快速上手;

  • unittest:存放本模块的单元测试用例,用于对接Jenkins实现自动化测试;

  • README.md:本模块的总述,包括模块概述、版本说明、修改历史等信息;

  • .gitignore:CMake工程标准过滤内容,具体仓库可视情况修改;

todo:

  • 如果是交叉环境编译,需要注意vendor的编译顺序,以及交叉编译工具导入的方法和位置
  • 多级包含vendor目录结构要如何处理?交叉工具只能引入一次!
  • 项目名称、版本号等信息统一放在一个文件中进行描述.

rules:

  • 如果source依赖3rd的库,则依赖关系在cmake/dependence.txt中指定;
  • 3rd和vendor中的add_subdirectory(source_dir binary_dir)两个选项都需要指定,否则编译位置会出错;
  • 同一项目的不同仓库依赖同一个仓库的不同分支/Tag/Commit,采用多次拉去到不同目录的方法解决.

Comments ( 0 )

Sign in for post a comment

C/C++
1
https://gitee.com/simpost/project_example.git
git@gitee.com:simpost/project_example.git
simpost
project_example
project_example
master

Search