文档章节

cbuild-一个创建和管理C++项目的工具

o
 osc_4nmshwhm
发布于 2018/08/07 09:49
字数 540
阅读 13
收藏 0

精选30+云产品,助力企业轻松上云!>>>

cbuild-一个创建和管理C++项目的工具

介绍:

这是个人开发的一个管理C++项目的工具,用shell脚本编写。

可能会不定期更新,也欢迎大家一起完善

当前开发版本0.5。各版本功能如下:

  • version 0.0 -- 初始版本,具备创建、删除、编译、运行项目基本功能
  • version 0.1 -- 在0.0版本基础上使用模板文件,方便用户定制自我需求
  • version 0.5 -- 重构代码,优化参数选项

使用方法:

github地址:https://github.com/caibingcheng/cbuild

gitee地址:https://gitee.com/jerry323/cbuild

github和gitee中该项目是同步的。

安装:

clone项目到本地,进入项目根目录。

git clone git@github.com:caibingcheng/cbuild.git ~/cbuild
cd ~/cbuild

运行install.sh脚本。

sh ./install.sh	#普通安装
sh ./install.sh -f #强制安装,用于重新安装或者添加新功能

安装后,工具包会安装在~/.cbuild下,进入目录,其中template模块包含的是生成项目时一些文件的默认内容,如有需要可以自行修改其中的内容。

**注意:**在~/.cbuild/template/CMakeLists.txt文件中包含{__CBUILD_PROJECT__}字段,这是工具自定义的,不可修改。

使用:

可用命令:

cbuild -a project #添加项目
cbuild -c project #创建项目
cbuild -r project #删除项目
cbuild -b project #编译项目
cbuild -e project #运行项目
cbuild -f		  #打开强制开关,可用于强制生成(覆盖)项目、强制编译\移除\运行项目
cbuild -h         #显示帮助

cbuild -R         #移除当前项目
cbuill -B         #编译当前项目
cbuild -E         #运行当前项目

cbuild uninstall  #卸载工具

大写选项不需要添加参数,默认使用当前项目;比如最近生成的项目或使用-a选项添加的项目。

强制开关打开后造成的项目覆盖破坏是难以逆转的,请合理使用。

**注意:**项目名称project应该只包含项目名称且合法,不应该包含路径符号和其他非法符号('', '/', '?', etc.)。这是不允许的。

项目树:

project

  |--bin

       |--#binara file(executable file)

  |--build

       |--#MakeFile

  |--src

       |--main.cpp    

  |--include

       |--#include file

  |--lib

       |--#libs

  |--CMakeLists.txt

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

OSChina 周一乱弹 —— 毛巾又怎么样?!我在乎的是大姐姐温柔的怀抱!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《雨 因你而下,于你而止》- Seto 手机党少年们想听歌,请使劲儿戳(这里) @Dan...

小小编辑
5分钟前
17
0
MySQL 常用操作

1 创建/打开/删除数据库 create database db;create database db character set utf8mb4;use db;drop database db;alter database db character set utf8mb4; 2 修复表 mysqlcheck --a......

氷泠
9分钟前
0
0
Node.js中的module.exports与export - module.exports vs exports in Node.js

问题: I've found the following contract in a Node.js module: 我在Node.js模块中找到了以下合同: module.exports = exports = nano = function database_module(cfg) {...} I wonder ......

javail
14分钟前
13
0
如何防止单击按钮时对话框关闭 - How to prevent a dialog from closing when a button is clicked

问题: I have a dialog with EditText for input. 我有一个使用EditText输入的对话框。 When I click the "yes" button on dialog, it will validate the input and then close the dialog.......

富含淀粉
44分钟前
7
0
访问者模式Visitor

一 概述 场景:通常来说,用于封装数据所用到的pojo类,其只包含get、set,对应的业务逻辑是在Service上完成的;但如果出现多个pojo类都共用一套逻辑时,则应该考虑将逻辑进行抽象,不同类型...

小明不觉小
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部