Cmake支持跨平台,是用于build、test和package的工具,你可以把它看成是一系列工具的统称CMake Tools。通常用于便利编译文件,需要规则文件,即CMakelists.txt,根据该规则文件生成Makefile。
MingW32-make同样跨平台,但该程序是作用对象是Makefile文件。
而如何生成一个Makefile呢?
这就需要CMake Generator了。
Makefile Generators
大概流程如下图:
那如何将Cmake和MingW-make结合起来使用呢?
首先我们提前准备好Cmake(如何安装配置)、一个c/cpp文件、一个CMakelists.txt文件。
#include <iostream>
using namespace std;
int main(){
cout << "hello word cmake!!!" << endl;
return 0;
}
<pre name="code" class="cpp"><pre name="code" class="cpp">
#设置C编译器
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_C_FLAGS "-g -Wall -I C:\\mingw-4.81\\mingw\\include -L C:\\mingw-4.81\\mingw\\lib")
#设置C++编译器
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_CXX_FLAGS "-g -Wall -I C:\\mingw-4.81\\mingw\\include -L C:\\mingw-4.81\\mingw\\lib")
PROJECT (HELLO CXX)
SET(SRC_LIST hello.cpp)
ADD_EXECUTABLE(hello ${SRC_LIST})
MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir " ${HELLO_SOURCE_DIR})
CMAKE_C_COMPILER:指定C编译器
CMAKE_CXX_COMPILER:指定C++编译器
CMAKE_C_FLAGS:指定编译C文件时编译选项,也可以通过add_definitions命令添加编译选项
PROJECT:
效果图: