第一节

step 1 : a basic starting point

Exercise 1 - building a basic project

1
2
3
4
5
6
7
8
9
10
# MakeLists.txt

#cmake版本最低要求
cmake_minimum_required(VERSION 3.0)

#项目名称
project(MyProject)

#添加项目所需的源代码文件
add_executable(MyProject main.cpp)

Exercise 2 - spacifying the C++ Standard

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# MakeLists.txt

#cmake版本最低要求
cmake_minimum_required(VERSION 3.0)

#设置C++标准
set(CMAKE_CXX_STANDARD 11)

#设置C++标准为必须
set(CAMKE_CXX_STANDARD_REQUIRED True)

#项目名称
project(MyProject)

#添加项目所需的源代码文件
add_executable(MyProject main.cpp)

Exercise 3 - adding a version number and configured header file

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# MakeLists.txt

#cmake版本最低要求
cmake_minimum_required(VERSION 3.0)

#项目名称
project(MyProject Version 1.0)

configure_file(MyProjectConfig.h.in MyProjectConfig.h)

target_include_directories(MyProject PUBLIC ${PROJECT_BINARY_DIR})

#添加项目所需的源代码文件
add_executable(MyProject main.cpp)
1
2
3
4
# MyProjectConfig.h.in

#define VERSION_MAJOR @MyProject_VERSION_MAJOR@
#define VERSION_MINOR @MyProject_VERSION_MINOR@
1
2
3
4
5
6
7
8
9
10
11
# main.cpp

#inlcude <MyProjectconfig.h>

if (argc < 2)
{
std::cout << argv[0] << " Version " << VERSION_MAJOR << " . "
<< VERSION_MINOR << std::endl;
std::cout << " Usage: " << argv[0] << " number " << std:: endl;
return 1;
}