2022-02-10
cmake_minimum_required - 指定CMake的最小版本要求
cmake_minimum_required(VERSION 3.0)
project - 定义工程名称,并可指定工程支持的语言
project(HELLOWORLD)
set - 显式的定义变量
定义SRC变量,其值为main.cpp hello.cpp
set(SRC sayhello.cpp hello.cpp)
变量使用${}方式取值
include_directories - 向工程添加多个特定的头文件搜索路径 --->相当于指定g++编译器的-I参数
include_directories(./include)
link_directories - 向工程添加多个特定的库文件搜索路径 --->相当于指定g++编译器的-L参数
link_directories(./lib)
add_library - 生成库文件 add_library(libname [SHARED|STATIC|MODULE] source1 source2)
add_library(hello SHARED ${SRC})
add_compile_options - 添加编译参数
add_compile_options(-Wall -std=c++11 -O2)
add_executable - 生成可执行文件
add_executable(main main.cpp)
target_link_libraries - 为 target 添加需要链接的共享库 --->相同于指定g++编译器-l参数
target_link_libraries(main hello)
add_subdirectory - 向当前工程添加存放源文件的子目录
添加src子目录,src中需有一个CMakeLists.txt
add_subdirectory(src)
aux_source_directory - 发现一个目录下所有的源代码文件并将列表存储在一个变量中
定义SRC变量,其值为当前目录下所有的源代码文件
aux_source_directory(. SRC)