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

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

完成的功能

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

脚本

脚本构建的标准项目目录

 1ProjectName                     #项目目录
 2├── CMakeLists.txt              #项目根目录CMakeLists.txt配置文件
 3└── src                         #源码目录
 4    ├──utilities                #次级原码目录
 5    |   ├── CMakeLists.txt      #次级源码目录CMakeLists.txt配置文件
 6    |   ├── util.h              #其他次级源码
 7    |   └── util.cpp            #其他次级源码
 8    ├── CMakeLists.txt          #源码目录CMakeLists.txt配置文件
 9    ├── main.cpp                #程序入口
10    ├── ...                     #其他项目文件
11    └── test.cpp                #其他项目文件

脚本内容

 1#! /bin/bash
 2
 3#create by impressionyang on 2020/01/05
 4
 5echo "start setting up your own project"
 6
 7read -p "please input your project name:" project_name
 8read -p "please input your runable file's name:" file_name
 9
10cp -r cmaketest $project_name
11
12sed -i "s/cmaketest/$project_name/g" $project_name/CMakeLists.txt
13sed -i "s/cmaketest/$file_name/g" $project_name/src/CMakeLists.txt
14
15
16
17echo "project setup finish, please copy your project to your workspace and enjoy your development!"

脚本原理

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

使用

克隆项目至本地

1git clone https://github.com/impressionyang/qt_cmanke_project_initialize.git

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

1sudo chmod +x setup.sh
2
3./setup

使用方法

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

生成的项目


impressionyang