当前位置: 首页 > news >正文

CMakeLists.txt语法(一)

一.简介

CMakeLists.txt 文件是用于描述 CMake 构建过程和项目配置的文件。

二.demo

简单CMakeLists.txt语法如下所示:

PROJECT(test C)
SET(SRC_LIST test.c)
MESSAGE(STATUS "This is BANARY DIR:" ${PROJECT_BINARY_DIR})
MESSAGE(STATUS "This is PROJECT SOURCE DIR:" ${PROJECT_SOURCE_DIR})
ADD_EXECUTABLE(testNew ${SRC_LIST})

三.语法详细解析

(1)PROJECT(projectname [CXX] [C] [Java])

作用:定义工程名字,并指定工程支持的语言,支持语言列表可忽略(默认支持所有语言)
隐式定义了两个cmake变量:
_BINARY_DIR:即编译路径,例如/home/a/testdir/build
_SOURCE_DIR:即工程所在的路径 ,例如/home/a/testdir

(2)SET(VAR [VAUE])

作用:显示的定义变量,多个变量之间使用空格
使用变量时要使用:${VAR}

(3)MESSAGE指令: 编译过程输出信息

语法:
MESSAGE([SEND_ERROR | STATUS| FATAL_ERROR] “message to display”)
参数:
SEND_ERROR:产生错,生成过程被跳过
STATUS:生成前缀为–的信息
在这里插入图片描述
FATAL_ERROR:立即终止所有的cmake过程

(4)ADD_EXECUTABLE(testNew ${SRC_LIST})

定义工程生成一个文件名位testNew的可执行文件。

四.外部构建方法

(1)创建build目录,进入build目录 执行 cmake . .(注意:. .代表父目录,父目录中存在需要的CMakeLists.txt)
即 cmake <工程的全路径>
在这里插入图片描述
build目录下生成了编译需要的Makefile以及其他的中间文件。

(2)运行make,生成可执行文件testNew
外部构建的好处:对于原有的工程没有任何影响,所有的动作发生在编译目录build
PROJECT_SOURCE_DIR:即程路径 /home/a/testdir
PROJECT_BINARY_DIR:即编译路径 /home/a/testdir/build

http://www.dtcms.com/a/403880.html

相关文章:

  • 东莞公司网站建设公司我的长沙app
  • Maven 依赖管理与版本优化
  • 网站后台登录界面下载门户网站开发的背景和意义
  • 网站备案必须做前置审批吗河南建设工程信息网官网洛阳至信阳省道
  • 负载均衡式的在线OJ项目编写(一)
  • SQL-视图
  • 网站备案 链接成都市成华区建设局网站
  • 【数据结构前置知识】集合框架
  • 度学习中的关键工具与数据处理方法
  • 网站制作案例策划洛阳百事通文化传播有限公司
  • 大模型微调——LoRA微调
  • Mysql常用调优参数
  • MySQL 概述及其在 C/C++ 开发中的应用价值
  • 新乡手机网站建设电话wordpress rest post
  • OpenAI与 Nvidia合作意味着什么
  • 做淘宝详情页好的网站wordpress制作lp
  • Maven-继承与聚合
  • 中国建设银行淮南分行网站设计官网的
  • 如何分析软件需求中的DFX需求?
  • 网站开发需求分析参考文献软件市场下载
  • MySQL笔记---对数据库(database)的操作
  • 文创网站江西合创建设工程有限公司 网站
  • 【Leetcode hot 100】124.二叉树中的最大路径和
  • 仙桃做网站找谁优化大师怎么卸载
  • 网站用户模板做网站需要的东西
  • 自定义类型之联合体、枚举
  • 计算机——信息素养和信息安全
  • php 整个网站变量实惠的制作网站
  • 不同路劲 III dfs解决
  • 海沧网站建设如何做好网站首页