cmake学习02 - 第一个工程
源码:https://github.com/panyingyun/cmakedemo
首次使用,单个文件
(1)建立cmakea工程目录
cmakea/
|-- build
|   |-- auto_build.bat
|   `-- auto_build_linux.sh
|-- cmakea.cpp
`-- CMakeLists.txt
其中,build 用于存放编译脚本和编译中间文件.cmakea.cpp是源文件,CMakeLists.txt是工程管理文件
cmakea.cpp 如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/**
 *calc sqrt(a) + sqrt(b)
**/
 
 static double addsqrt(double a , double b){
	 return sqrt(a)+sqrt(b);
 }
 
 
 int main( int argc, char *argv[]){
	if(argc < 3) {
		printf("Usage: input double a and  double b\n");
		return 1;
	}
 
	double a = atof(argv[1]);
	double b = atof(argv[2]);
	
	double c = addsqrt(a,b);
	
	printf("sqrt(%f) + sqrt(%f) = %f\n", a, b, c);
	return 0;
 }
CMakeLists.txt 如下:
cmake_minimum_required(VERSION 2.8)
 
PROJECT(cmakea)
  
add_executable(cmakea cmakea.cpp)
cmake_minimum_required 定义cmake最低版本号
PROJECT 定义工程名
add_executable 定义可执行文件和可执行文件的依赖。
(2) Linux下cmake使用
cmake ..  		 ##自行生成makefile
cmake --build .  ##编译程序,也可以用make来执行
./cmakea 2 8     ##运行可执行程序
截图如下:

其自动生成的Makefile如下:

总之,比起自行写Makefile要简单的多。
(3)windows下cmake使用
使用下面的命令,生成Visual Studio 2017 Win64工程,
cmake -G "Visual Studio 15 2017 Win64"  ..
此时可以使用Visual Studio 2017 Win64 打开cmake1.sln进行编译,也可以使用下面的命令行进行编译
编译Debug版本
cmake --build . --config Debug    
编译Release版本
cmake --build . --config Release
打开cmakea.sln 工程已经建立好。

目前,应该可以体会到CMake管理工程的方便了,那么我们再进行一些学习,管理更加复杂的工程看看。