为什么有CMake
在嵌入式开发中,尤其做Autosar BSW的开发人员知道,项目如果使用的平台是一家还好(比如都使用英飞凌的芯片,TC233/TC297/TC387...),但是做供应商有时由不得你,可能你下一个项目就是瑞萨的RH850。不同的平台,编译器、调试器可能都得换,作为开发人员,你说心累不心累?CMake不仅可以跨平台,而且还免费,生成可移植的makefile
入门示例
假设有main.cpp文件需要编译,首先需要编写CMakeLists.txt文件,CMake_Build.sh是一个shell脚本文件(windows下可以写*.bat脚本文件),自动执行编译过程指令
CMakeLists.txt
# cmake最低版本要求
cmake_minimum_required(VERSION 3.10.2)
# 设置项目名称
project(CMake_Pro)
# 设置使用C++标准版本
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# 编译源码生成目标
add_executable(CMake_Pro main.cpp)
如上就是一个CMake工程最精简的CMakeLists.txt文件,文件中必须包含CMake版本要求、