cbuild-一个创建和管理C++项目的工具
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
cbuild-一个创建和管理C++项目的工具的更多相关文章
- java-idea创建maven管理web项目不能解析EL的解决方法
默认会原样输出: 这是由于这样子创建的web.xml的版本不够高 2.5之前web.xml文件中的头定义中,el表达式默认是忽略不解析的,故需要显示声明解析el表达式 所以我们要修改版本: 再< ...
- 使用Axure管理团队项目图文教程 团队协作操作步骤
Axure RP团队版和企业版都支持团队协作,可以创建和管理团队项目,即多人共同创作一个原型.本文通过图文教程的形式,讲解了如何基于Axure Share服务创建和管理团队项目.因为Axure Sha ...
- 从头开始编写一个Orchard网上商店模块(3) - 创建Orchard.Webshop模块项目
原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-par ...
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...
- Django项目创建与管理
1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程.对于Django模块的相关知识大家可以参考Python社区. 2.准备环境 Django版本为2.0或更高 Py ...
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
转:http://blog.csdn.net/zht666/article/details/8673609/ 本文主要使用图解介绍了使用IntelliJIDEA 12创建Maven管理的JavaWeb ...
- Django项目的创建和管理
1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程.对于Django模块的相关知识大家可以参考Python社区. 2.准备环境 Django版本为2.0或更高 Py ...
- VC 下如何正确的创建及管理项目
讲解 VC 下如何正确的创建及管理项目 本文讲解 Visual C++ 的项目文件组成,以及如何正确的创建及管理项目. 本文所设计的内容是初学者必须要掌握的.不能正确的管理项目,就不能进一步写有规模的 ...
- vs2016 创建 vsto excel 文件项目的一个问题
新工作需要些一个基于Excel开发一个工具,vs的 vsto 功能很好用,封装了基于开发office 开的一些工具.但是在实际使用时,创建项目总是报错,提示打开excel文件失败.项目是需要创建一个e ...
随机推荐
- Python学习--Selenium模块简单介绍(1)
简介及运行流程 Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozi ...
- Win10更新后真正可用VC++6版本
1.首先,我并不支持继续用VC6,毕竟太老太老了...除了VS,如果只是学C,那你完全可以用其它一些工具...当然除非你也是像我一样被逼无奈. 2.本次找了N多个版本,问题就是Win10周年更新包后, ...
- 团队作业——Alpha冲刺 4/12
团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:着手进行编辑界面的布局,插入控件,并进行参数调整. 明日任务:继续完善编辑界面控件,学习控件交互功能. 郭剑南 今日任务:上网查阅学习了关 ...
- 8.2Solr API使用(Facet查询)
转载请出自出处:http://eksliang.iteye.com/blog/2165882 一)概述 Facet是solr的高级搜索功能之一,可以给用户提供更友好的搜索体验.在搜索关键字的同时,能够 ...
- swift protocol的几种形式
三个关注点:1.形式:2.实现方式:3.使用方式: 一.基本形式: 形式:内部无泛型类型: 实现:只需指定类型和实现相应的功能即可: 使用:可以用在其他类型出现的任何地方: protocol Resp ...
- Linq EF 添加数据执行事务处理
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例 2012-12-12 10:39 5538人阅读 ...
- java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
同步SVN仓库中的代码,更新后,运行项目,出现如下错误: com.android.build.api.transform.TransformException: java.util.zip.ZipEx ...
- Linux下RPM包的安装
Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...
- RC Calculation
scenario 定义中包括 Mode.Corner.RC 其中 Corner (PVT)用于计算 cell delay 而 RC 用于计算 net delay 本文简要介绍如何使用 RC 参数来计算 ...
- 简单直白的去理解AOP,了解Spring AOP,使用 @AspectJ - 读书笔记
AOP = Aspect Oriental Programing 面向切面编程 文章里不讲AOP术语,什么连接点.切点.切面什么的,这玩意太绕,记不住也罢.旨在以简单.直白的方式理解AOP,理解Sp ...