Cmake注意就是一个CmakeLists.txt.
下面开始一个一个语法的研读
cmake_minimum_required(VERSION 3.5) ///检查cmake的版本,至少为3.5
cmake_policy(SET CMP0025 NEW) // 暂时步研究,看不懂
project(absl CXX) 指定项目的名称,一般和项目的文件夹名称对应 CXX表示为C++程序
add_subdirectory(absl) 可以将指定的文件夹加到build任务列表中
add_executable(main main.cpp) 将名为main.cpp的源文件编译成一个名称为 main 的可执行文件,可以增加多个
set(CMAKE_CXX_STANDARD 11) 设置支持C++11标准
INCLUDE_DIRECTORIES(absl/strings) 包含需要用到的文件夹路径
AUX_SOURCE_DIRECTORY(. SRC_LIST) 把当前目录(.)下所有源代码文件和头文件加入变量SRC_LIST
add_executable(main ${SRC_LIST}) 生成应用程序 main
message("1111111111") 输出111
${CMAKE_SOURCE_DIR} 显示变量的值
find_package(Threads REQUIRED) 寻找系统的线程库
option(ABSL_RUN_TESTS "If ON, Abseil tests will be run." OFF) 设置值 默认为OFF
include(CTest) CTest是CMake集成的一个测试工具 enable_testing() 之后 BUILD_TESTING 为true
LINK_LIBRARIES("/home/shenwei/mytt/abseil-tt0627/build/abseil-cpp-master/absl/strings/libabsl_absl_strings.a")
引入静态库
target_link_libraries(main /home/shenwei/mytt/abseil-tt0627/build/abseil-cpp-master/absl/strings/libabsl_absl_strings.a)
链接静态库