概述
CMake是CLion默认的构建方式,但是除此之外见得较少,毕竟makefile的地位占据在那,后面还有ninja、Bazel这种竞争对手补位。
details
CLion CMake
- cmake_minimum_required: 版本要求
- project: 项目名
- set CMAKE_CXX_STANDARD: 设置CMake内置变量的值
- add_executable: 生成exe
cmake_minimum_required(VERSION 3.27)
project(c_play)
set(CMAKE_CXX_STANDARD 11)
add_executable(c_play main.cpp)
Cmake Basic
- cmake的语法非常像kv+脚本语言,k即命令
- cmake内置了很多key,通过修改这些key可以方便定义一些版本和配置
- cmake获取变量值的方式和shell一样
-l
include_directories($ENV{GMOCK_HOME}/include)
include_directories(include/)
-L
link_directories($ENV{GMOCK_HOME}/lib)
target_link_libraries(${exe_name} -lgtest)
target_link_libraries(${exe_name} -lpthread)
-o
# exe
add_executable(c_play main.cpp)
# .a
add_library(hello_lib STATIC library.cpp)
# .so
add_library(hello_lib SHARED library.cpp)