Cmake注意就是一个CmakeLists.txt.

参考下面

https://blog.csdn.net/afei__/article/details/81201039

下面开始一个一个语法的研读

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)

链接静态库

Cmake之基本语法相关推荐

  1. 深入浅出CMake(二): 基础语法

    在<深入浅出CMake(一):基础篇>文章中,我们已经知道了怎么依葫芦画瓢编写简单的 CMake 构建文件了,但如果应对复杂的工程的话,这还是远远不够的. CMake 是一套编译构建体系, ...

  2. cmake常用语法参考

    <cmake常用语法参考>   利用cmake来构建C++工程是一个非常方便的选择,尤其是依赖的库比较多的时候,或者工程比较大的时候都非常方便,这里记录一些cmake常用的语法, Key ...

  3. 【转载】CMake 语法 - 详解 CMakeLists.txt

    作者:红橙Darren 链接:https://www.jianshu.com/p/528eeb266f83 来源:简书 目录 1. 初试 cmake 的 helloworld 2. 构建生成 .so ...

  4. linux下cmake命令行,深入理解CMake(1): CMake命令行参数

    初衷 CMake能用来编写跨平台(cross-platform)的构建规则,通过这些规则来调用各个平台的编译器.链接器,生成各个目标(静态库,静态库,或者可执行). 我第一个接触的大型C++项目是Op ...

  5. cmake使用教程(一)-起步

    [cmake系列使用教程] cmake使用教程(一)-起步 cmake使用教程(二)-添加库 cmake使用教程(三)-安装.测试.系统自检 cmake使用教程(四)-文件生成器 cmake使用教程( ...

  6. cmake 指定编译器_我们需要懂得CMake文件

    我们需要懂得CMake文件 一.前言 从事于linux下的C++开发的人员都知道,在C++下编写程序是没有类似windows下编译器的一键编译和运行的按钮,只能由我们开发人员进行手动编译.运行:为了减 ...

  7. cmake,make,nmake的用法

    于是开始找跨平台的编译工具,其中最有名的两个是 cmake 和 scons,cmake 之所以出名估计是因为 KDE 4 从 autotools 转向用 cmake 来编译.而 scons 则是 li ...

  8. 现代 CMake 简明教程(一)- CMake 基础

    系列文章目录 现代 CMake 简明教程(一)- CMake 基础 现代 CMake 简明教程(二)- 设计理念与使用 文章目录 系列文章目录 前言 CMake 基础 1. Modern CMake ...

  9. android cmake 打印_Android NDK 开发:CMake 使用

    1. 前言 当在做 Android NDK 开发时,如果不熟悉用 CMake 来构建,读不懂 CMakeLists.txt 的配置脚本,很容易就会踩坑,遇到编译失败,一个很小的配置问题都会浪费很多时间 ...

最新文章

  1. 操作系统pv操作学习总结
  2. Kotlin 普及度增加,代码质量比 Java 更高?
  3. python sns绘制回归线_SVM--支持向量机amp;Python代码
  4. NOIP2012:疫情控制(二分、贪心、树上倍增)
  5. shell将命令执行的结果赋值给 变量
  6. Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)
  7. Spark mapPartition方法与map方法的区别
  8. VB.NET和C#的比较
  9. Exchange Server 2007邮箱存储服务器的容量规划和性能调优(下)
  10. scala字符串变量替换
  11. Unity3D做的DEMO
  12. 单片机c语言内部ram移动,2012年微型计算机原理与接口技术自考题模拟(9)
  13. 12 经络的走向图和说明
  14. 报错 [Error] expected primary-expression before ‘)‘ token
  15. 为什么误差采取平方和形式
  16. 工业物联网有什么特征
  17. 小米打印机显示服务器出错,更换小米路由器后打印机无法工作解决办法
  18. 人机大战5个误区:人类没那么差阿尔法狗不会防水
  19. 资源分享:嵌入式stm32项目开发 心率检测仪的设计与实现
  20. 【TI-mmWave】三、CCS Projects导入报错:This project requires product SYS/BIOS v6.73.1.01, or equivalent......

热门文章

  1. android编译单独image
  2. VBA中常用的字符串处理函数
  3. XBRL 可扩展商业报告语言
  4. win10+ubuntu双系统修复ubuntu启动引导
  5. 卡饭里的云计算机,微云可以在电脑用吗
  6. Java中12 种 Spring 常用注解,必须记住!
  7. 查linux服务器CPU多少C,在linux 下怎么查看服务器的cpu和内存的硬件信息
  8. 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程
  9. Modern CMake 翻译 2.1 变量和缓存
  10. EAR、JAR、WAR(IT)