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 ...
随机推荐
- JavaScript获取请求参数
<script type="text/javascript"> //获取请求参数 function paramsMap() { var url = window.loc ...
- 关于<asp:checkBoxList>控件的对齐方法
定义和用法 TextAlign 属性用于获取或设置 CheckBoxList 项目的文本的文本对齐方式. 语法 <asp:CheckBoxList TextAlign="align&q ...
- 华为MSTP负载均衡配置示例
以下内容摘自由华为公司授权并审核通过,今年元月刚刚出版上市的<华为交换机学习指南>一书:http://item.jd.com/11355972.html,http://product.da ...
- MySQL面试之说明myisam和innodb两种存储引擎的不同之处
1.事务的支持不同(innodb支持事务,myisam不支持事务) 2.锁粒度(innodb行锁应用,myisam表锁) 3.存储空间(innodb既缓存索引文件又缓存数据文件,myisam只能缓存索 ...
- Alpha冲刺报告(2/12)(麻瓜制造者)
今日任务总结 燃尽图如下: 具体完成情况如下: 江郑: 今天:完成了商品需求的数据库的基本构建. 遇到的问题:对于php的ci框架不熟,操作原理不懂 明天:和队友进行数据库的对接 符天愉: 今天:完成 ...
- webstorm 2017 激活
参考:https://blog.csdn.net/wangyingwing/article/details/79119592
- composer(管理依赖关系的工具) 及配置信息
Composer 是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 配置文件 ...
- MyBatis实战之配置
MyBatis最重要的配置也就两个,一个是mybatis-config.xml,又称MyBatis的全局配置,另一个就是XXXDao.xml或XXXMapper.xml映射配置. mybatis-co ...
- QGis C++ 开发之创建临时图层并添加要素
开发环境:Win10 + VS2010 + Qt 4.8.6 + QGis 2.14.4 其实本文实现的功能类似于QGis中“添加文本数据图层”的一个简化版,本文不会涉及到对话框的使用 ...
- [转]OpenCV2.4.12 开启OpenGL启用三维可视化支持
OpenCV默认情况下是不支持OpenGL的,如果要使OpenCV支持OpenGL,则需要重编译,具体步骤如下: 注意事项:从The OpenCV Reference ManualOpenCV参考手册 ...