前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Qt CMake GUI项目生成脚本

Qt CMake GUI项目生成脚本

作者头像
impressionyang
发布于 2020-08-26 14:01:51
发布于 2020-08-26 14:01:51
71400
代码可运行
举报
运行总次数:0
代码可运行

自动初始化Linux下Qt通用开发的CMake GUI工程的脚本

  • 这个脚本的来由是在我使用了CMake作为Qt工程的编译工具之后,为了使得即使在没有qtcreator的情况下也能快速地建立CMake Qt GUI工程从而使用其他的文本编辑器如VSCode或者Atom进行开发,而开发的工程建立脚本。
  • 本项目已经发布至我的github

完成的功能

  1. 自动构建一个标准的CMake Qt GUI工程
  2. 使用了以前的通用懒人CMake模板文件
  3. 可以自定义工程名称
  4. github克隆至本地即可重复使用

脚本

脚本构建的标准项目目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ProjectName                     #项目目录
├── CMakeLists.txt              #项目根目录CMakeLists.txt配置文件
└── src                         #源码目录
    ├──utilities                #次级原码目录
    |   ├── CMakeLists.txt      #次级源码目录CMakeLists.txt配置文件
    |   ├── util.h              #其他次级源码
    |   └── util.cpp            #其他次级源码
    ├── CMakeLists.txt          #源码目录CMakeLists.txt配置文件
    ├── main.cpp                #程序入口
    ├── ...                     #其他项目文件
    └── test.cpp                #其他项目文件

脚本内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#! /bin/bash

#create by impressionyang on 2020/01/05

echo "start setting up your own project"

read -p "please input your project name:" project_name
read -p "please input your runable file's name:" file_name

cp -r cmaketest $project_name

sed -i "s/cmaketest/$project_name/g" $project_name/CMakeLists.txt
sed -i "s/cmaketest/$file_name/g" $project_name/src/CMakeLists.txt



echo "project setup finish, please copy your project to your workspace and enjoy your development!"

脚本原理

脚本同级目录下有一个标准的项目工作目录,此目录是为了提供一个标准的工程项目模板而存在的,结构如上述脚本构建的标准项目目录。而脚本的工作原理就是通过读入你设置的工程名可执行文件名之后复制一份标准工程目录然后通过字符串定位修改相应值从而产生一个新的通用编辑器的工程了。

使用

克隆项目至本地

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/impressionyang/qt_cmanke_project_initialize.git

运行setup.sh文件并设置项目名和可执行文件名(使用英文!!!)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo chmod +x setup.sh

./setup

将当前新生成的项目目录拷贝至你的工作目录下进行编程即可


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CMake编写总结
make和CMake之间的关系是CMake 通过命令可以生成make执行的Makefile文件,所以说CMake 是make 的升级版的生成工具
impressionyang
2020/08/27
1.1K0
cmake使用
CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装编译过程。
李小白是一只喵
2020/10/28
2K0
cmake使用
QT的cmake项目工程配置
QT的项目工程默认使用的是qmake,这本来也没什么问题。但是由于要用到vcpkg这个工具来管理第三方库,好像这个 vcpkg工具只能在cmake的项目中才能使用。
杨永贞
2022/04/13
3.5K0
CMake构建学习笔记15-组建第一个程序项目
在前文中论述的都是如何使用CMake构建第三方依赖库,不过这些库都是别人的程序项目,那么如何使用CMake组织构建一个属于自己的C/C++程序项目呢?本文我们就来实现一个使用CMake组建的C/C++项目。
charlee44
2024/12/14
1390
CMake常用命令的一些整理
CMake 是什么我就不用再多说什么了,相信大家都有接触才会看一篇文章。对于不太熟悉的开发人员可以把这篇文章当个查找手册。
混说Linux
2022/11/18
1.6K0
使用Cmake生成跨平台项目编译解决方案
    项目最近有需求在windows下面运行,我花了几周时间将linux的服务器移植到windows下面,目前已经能够正常运行服务器,目前又有了新需求,两边的代码结构和组织是分开的,因此为了两边能够同步维护,需要一个能够跨平台的项目编译解决方案,经过调研之后,选择了使用cmake这个工具,本文主要讲述,使用cmake的生产项目的一些基础知识。
帘卷西风
2018/08/03
5.5K0
使用Cmake生成跨平台项目编译解决方案
CMake用法,这篇文章讲全了
CMake是一个开源的、跨平台的自动化构建系统,用于管理软件构建过程。它通过编写配置文件(CMakeLists.txt),自动生成适合不同编译器和操作系统的构建脚本或项目文件。CMake以其强大的跨平台能力成为众多开发者构建项目的首选工具。无论是简单的单文件项目,还是复杂的多文件、多文件夹乃至集成第三方库的大型工程,CMake都能游刃有余。本文将结合实例详细介绍cmake的常见用法,包括单文件、多文件、多文件夹以及引用第三方库等。
程序员的园
2024/07/18
2880
CMake用法,这篇文章讲全了
如何用cmake编译
CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:
机智的程序员小熊
2019/03/10
4.2K0
如何用cmake编译
关于 CMake 使用,看这一篇可能就够了
cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。
字节流动
2021/10/18
5.9K0
CMake学习笔记
当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候神器就出现了—–CMake!
CtrlX
2023/02/06
2.1K0
CMake 秘籍(六)
在前几章中,我们已经展示了如何使用 CMake 配置、构建和测试我们的项目。安装项目是开发者工具箱中同样重要的一部分,本章将展示如何实现这一点。本章的节涵盖了以下图中概述的安装时操作:
ApacheCN_飞龙
2024/05/24
4500
CMake 秘籍(六)
CMake结合Visual Studio中开发Qt应用程序注意事项
Qt工程管理 个人比较偏爱于使用CMake来管理C++工程,因为只要编写一个CMakeLists.txt文件,就可以在Windows和Mac上生成各自的IDE工程。在Windows上, CMake自然是生成Visual Studio工程文件了(新版Visual Studio貌似能直接倒入CMake工程了);Mac上生成XCode工程即可。开发Qt应用程序的时候,虽然有Qt Creator可以使用,甚至Qt Creator还可以直接导入CMake工程,但是其调试和错误提示功能实在太过寒碜,导致调试过程中各种郁
24K纯开源
2018/05/28
2.9K0
CMake基础教程
如果需要配置和检查我们工程中的所有依赖,那么可以选用CMake工具;但是,这并不是必须的,因为我们可以使用其他的工具或者是IDE(比如Makefiles或者Visual Studio)来配置我们的工程。然而,CMake是最好移植的方式来配置多平台的C++项目。
用户8710643
2021/06/08
6450
披着CLion的外衣实则在讲CMake
至于 CLion 安装和基础设置,网上教程一大把,而且不是学习重点,根据自己需求配置即可。
字节星球Henry
2023/03/23
5.3K0
披着CLion的外衣实则在讲CMake
CMake学习笔记(二)——CMake语法
剑影啸清寒
2018/01/02
5.8K0
CMake使用教程和原理
CMake是一个主要用于CPP的构建工具。CMake语言是平台无关的中间编译工具。同一个CMake编译规则在不同系统平台构建出不同的可执行构建文件。在Linux产生MakeFile,在Windows平台产生Visual Studio工程等。CMake旨在解决各平台的不同Make工具的产生的差异(比如GNU Make, QT的qmake,微软的nmake, BSD的pmake)。
mariolu
2019/12/28
14.1K0
Qmake VS Cmake
尽管如此,如果简单Qt的工程都不知道怎么用 cmake 构建,复杂的工程,就更不知道如何使用 cmake 了。还是从简单的学起吧
全栈程序员站长
2022/08/31
1.2K0
CMake 秘籍(五)
每个项目都必须处理依赖关系,而 CMake 使得在配置项目的系统上查找这些依赖关系变得相对容易。第三章,检测外部库和程序,展示了如何在系统上找到已安装的依赖项,并且到目前为止我们一直使用相同的模式。然而,如果依赖关系未得到满足,我们最多只能导致配置失败并告知用户失败的原因。但是,使用 CMake,我们可以组织项目,以便在系统上找不到依赖项时自动获取和构建它们。本章将介绍和分析ExternalProject.cmake和FetchContent.cmake标准模块以及它们在超级构建模式中的使用。前者允许我们在构建时间获取项目的依赖项,并且长期以来一直是 CMake 的一部分。后者模块是在 CMake 3.11 版本中添加的,允许我们在配置时间获取依赖项。通过超级构建模式,我们可以有效地利用 CMake 作为高级包管理器:在您的项目中,您将以相同的方式处理依赖项,无论它们是否已经在系统上可用,或者它们是否需要从头开始构建。接下来的五个示例将引导您了解该模式,并展示如何使用它来获取和构建几乎任何依赖项。
ApacheCN_飞龙
2024/05/16
8250
CMake
理论上来说,任意一个c++程序都可以使用g++来编译,但当程序规模越来越大时,一个工程可能有许多的文件夹和源文件,这时输入的编译命令将会越来越长。因此,对于C++使用一些工程管理工具会更加高效。这里我们使用CMake。 在一个CMake工程中,我们会使用cmake命令生成一个Makefile文件,然后,用make命令根据这个 makefile文件的内容来编译整个工程。
小飞侠xp
2019/01/03
1.7K0
CMake学习笔记(三)——以笔者的Robosub竞赛为例
CMake学习笔记(三)——以笔者的Robosub竞赛为例 继笔者认真学习了CMake语法之后,便开始尝试自己用CMake将以前用Qt写的软件框架程序改编为CMake指令生成模式。现已成功,在此奉上一
剑影啸清寒
2018/01/02
1.3K0
CMake学习笔记(三)——以笔者的Robosub竞赛为例
相关推荐
CMake编写总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验