Linux 脚本执行编译Cmake
1、使用cmake外部编译的方式,将编译过程的产生文件和make成果物放在某一个新建文件夹内,这样不影响已有的工程文件,一下三个文件main.cpp CMakeLists.txt domake.sh放在同目录下
main.cpp
#include <iostream>
int main()
{
std::cout<<"Hello World" << std::endl;
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.9)
project(HelloWorld)
set(CMAKE_CXX_STANDARD 11)
ADD_EXECUTABLE(HelloWorld main.cpp)
domake.sh:执行编译的脚本文件,这么做的好处是不用再终端一条一条的输出命令来执行工程的编译。尤其是在调试的过程中不需要每次都执行一遍这个输入命令,每次只要执行这个编译脚本即可。(编辑脚本可以使用pycharm的bashSupport 插件)
#!/usr/bin/env bash
rm -rf build/
echo "创建编译目录:build"
mkdir build
echo "in编译目录:build"
cd build/
echo "do:cmake"
cmake ../
echo "do:make"
make
echo "Run HElloWorld"
./HelloWorld
./HelloWorld
./HelloWorld
2、执行这个sh脚本的的方法
第一种
使用绝对目录或者是相对目录
命令: ./domake.sh
会提示没权限:****** dead
需要增加文件的权限
chmod u+x domake.sh
第二种
使用绝对目录或者相对目录均可
sh ./domake.sh
3、注意domake.sh中的最后三行脚本是我故意将编译的可执行程序运行三遍,这个随意就好