cmake 语法?(1) 单独执行CMake脚本文件,如message.cmake。(2) 通过message命令输出信息,变量个数根据具体情况而定。(3) 定义缓存变量cache_var并设值为"The value",message命令输出其值。(4) 缓存变量在CMake中用于配置项目构建选项,如路径设置、功能启用等。(5) 缓存变量提供用户自定义化配置选项,不需修改脚本。(6) list、if、foreach/while、那么,cmake 语法?一起来了解一下吧。
(1) 单独执行CMake脚本文件,如message.cmake。
(2) 通过message命令输出信息,变量个数根据具体情况而定。
(3) 定义缓存变量cache_var并设值为"The value",message命令输出其值。
(4) 缓存变量在CMake中用于配置项目构建选项,如路径设置、功能启用等。
(5) 缓存变量提供用户自定义化配置选项,不需修改脚本。
(6) list、if、foreach/while、function/macro等功能和宏用于执行逻辑和操作。
(7) function和macro在CMake中功能一致,执行结果相同。

当我们在写CMakeLists.txt文件时,常常会搞不明白link_directories, LINK_LIBRARIES, target_link_libraries这3者的区别,下面就其详细介绍:
它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用(这里特指c++。c和 Java 中用法类似)。
比如:
语法:
它相当于g++命令的-L选项的作用,也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。
比如:
List of direct link dependencies.
比如:
也可以写成:
语法:TARGET_LINK_LIBRARIES(targetlibrary1
比如(以下写法(包括备注中的)都可以):
再如:
CMakeLists文件链接方式有如下2种:

CMake 简明教程笔记
一、CMake简介 CMake 是一个开源的跨平台自动化构建系统。 它通过 CMakeLists.txt 等输入文件,生成特定平台的标准构建文件,如 Unix 的 Makefile 或 Windows 的 Visual C++ 项目文件。 CMake 旨在让熟悉特定 IDE 的开发者能以通用方式构建软件。
二、阅读指南 作为 CMake 的快速入门指南,建议略过复杂的 CMake 语言和命令部分,直接利用目录或索引链接查阅官方文档。 每部分都有示例代码,可根据个人兴趣深入学习。 为了获取完整信息和最佳阅读体验,建议直接查看原文链接。
三、CMake 语法概览 基于官方文档的 cmakelanguage 翻译,提供快速入门 CMake 语法的指导。 请务必查阅原文以确保信息的准确性和完整性。
四、项目组织结构主入口点:顶级源目录下的 CMakeLists.txt,负责整个构建规范。
以下是CMake常用语法的直观总结和应用实例:
CMake的基本语法开始于设置CMAKE_MINIMUM_REQUIRED(VERSION 3.10),确保使用的CMake版本至少为3.10。接着,通过PROJECT关键字定义工程名,如PROJECT(HELLO)表示一个默认支持所有语言的项目。
指定特定语言支持的项目,如PROJECT(HELLO CXX)专为C++设计。PROJECT(HELLO C CXX)则同时支持C和C++。
PROJECT指令还定义了预定义变量_BINARY_DIR和_SOURCE_DIR,它们分别对应二进制目录和源码目录。比如,HELLO_BINARY_DIR和HELLO_SOURCE_DIR。
SET关键字用于定义变量,如SET(SRC_LIST main.c),可添加多个文件,如SET(SRC_LIST main.c t1.c t2.c)。MESSAGE关键字用于输出信息,如向终端显示 SRC_LIST 的内容。
CMake的OPTION关键字用于条件编译,比如定义USE_MYMATH,可在configure_file中应用。LIST关键字用于操作列表,如读取、查找和修改列表内容。
CMake语法与实战入门的核心要点如下:
一、CMake简介 CMake是一款跨平台的开源构建系统,通过CMakeLists.txt文件实现软件编译流程的统一控制。 CMake简化了软件构建、测试和打包过程,避免了因不同Make工具差异导致的复杂性问题。
二、CMakeLists.txt文件的核心功能搜索源代码文件:使用如aux_source_directory命令查找所有cpp文件。 自定义搜索库路径:通过find_library命令查找预编译库。 指定链接库:在CMakeLists.txt中指定需要链接的库。 定义项目目录变量:如PROJECT_SOURCE_DIR、PROJECT_BINARY_DIR等,用于引用项目源目录和二进制目录。
三、实战中的CMake命令管理源文件:通过add_library和aux_source_directory命令,轻松管理多个源文件和目录的编译。

以上就是cmake 语法的全部内容,CMake的基本语法开始于设置CMAKE_MINIMUM_REQUIRED(VERSION 3.10),确保使用的CMake版本至少为3.10。接着,通过PROJECT关键字定义工程名,如PROJECT(HELLO)表示一个默认支持所有语言的项目。指定特定语言支持的项目,如PROJECT(HELLO CXX)专为C++设计。PROJECT(HELLO C CXX)则同时支持C和C++。内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。