- cmake 是软件构建工具,据说是比makefile要先进,可以节省人力成本。
- cmake 和bazel一样,是一种DSL
- cmake 如何定义变量
- cmake 如何定义函数
- cmake 如何定义逻辑跳转
- CMakeLists.txt(注意大小写)
- 如果工程有多个目录,需要确保每个管理的目录都存在一个CMakeLists.txt
- project(hello)
- set(SRC_LIST main.c)
- message(STATUS "This is a BINARY dir" ${HELLO_BINARY_DIR})
- message(STATUS "This is a SOURCE dir" ${HELLO_SORUCE_DIR})
- add_excutable(hello SRC_LIST)
从上面看,这里和Makefile 的不同
- 没有指定-I -L 这些指定头文件以及动态库的路径
- CMakeFiles
- CMakeCache.txt
- cmake_install.cmake
- Makefile
- PROJECT(projectname [CXX] [C] [Java])
- 这个语法省略了两个隐含变量 _BINARY_DIR 以及 _SRC_DIR