CMAKE相关

CMake 是一个开源的、跨平台的编译工具。

1、CMake语法

  • 变量使用${}方式取值
  • 指令是大小写无关的,但是参数和变量是大小写相关的
  • 注释以#开头

2、CMake命令(如下为CMU数据库系统设计bustub数据库的CMakeLists.txt文件

  • cmake_minimum_required(VERSION 3.10)

规定CMake程序的最低版本

 

  • set命令

用来显式地定义变量

  • set(CMAKE_EXPORT_COMPILE_COMMANDS ON) 

生成一个包含编译信息的JSON文件:compile_commands.json

  • set(BUILD_SHARED_LIBS ON)

值为ON,则表示add_library()创建的是共享库。即除非项目中明确说明该库为静态库,否则所有的库都被构建为共享库

  • set(CMAKE_CXX_STANDARD 17) # Compile as C++17

  • set(CMAKE_CXX_STANDARD_REQUIRED ON) # Require C++17 support

指定C++编译的标准规范

 

  • project(BusTub VERSION 2019.1 DESCRIPTION "The BusTub Relational Database Management System (Educational) @ https://github.com/cmu-db/bustub" LANGUAGES C CXX )

项目信息

上一篇:Kubernetes 集群常用操作总结


下一篇:第12节 设置C++标准