编写cmakelist.txt 必要的命令

必要基础

编写cmakelist.txt 基础如下:最低版本要求、项目信息、(必写)
变量、打印输出、缓存变量、静态库、动态库

# 最低版本要求
cmake_minimum_required(VERSION 3.10)

# 项目信息(项目名称)
project(ai_1)

# # 输出信息
# message("编译时的自定义的提示消息")

# # 设置变量
# set(txt_1 "我是变量1")
# message("变量内容: " ${txt_1})

# # 缓存变量 永远用第一次的
# # 在终端 -D变量名=新内容 则可改变
# set(txt_2 "新1" CACHE STRINGS "变量缓存描述")
# message("变量内容: " ${txt_2})


常用变量(路径、环境)

编写cmakelist.txt 常用变量如下:

# 提供信息的变量
# PROJECT_NAME             项目名称
# CMAKE_SOURCE_DIR         源码目录
# CMAKE_BINARY_DIR         编译目录
# CMAKE_CURRENT_LIST_FILE  CMakeLists.txt文件路径

# WIN32              是否是Windows系统
# UNIX               是否是Linux系统
# CMAKE_SYSTEM_NAME  系统名称

# 设置是否构建动态库,默认为OFF,即构建静态库,设置为ON后,构建动态库
# set(BUILD_SHARED_LIBS ON)

控制CMake运行的变量,更多:https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html#variables-that-change-behavior

输出测试:

message("项目名称 : ${PROJECT_NAME}") # 项目名称
message("源码目录: ${CMAKE_SOURCE_DIR}") # 源码目录
message("编译目录: ${CMAKE_BINARY_DIR}") # 编译目录
message("CMakeLists.txt文件路径: ${CMAKE_CURRENT_LIST_FILE}") # 当前CMakeLists.txt文件路径

message("是否是Windows系统:${WIN32}")
message("是否是Linux系统:${UNIX}")
message("系统名称:${CMAKE_SYSTEM_NAME}")

导入其他.cmake文件,生成自己的.cmake文件(关键字:include)

在这里插入图片描述

m1.cmake文件内容如下:
message("调")
CMakeLists.txt 文件内容如下:
cmake_minimum_required(VERSION 3.10)

project(include_demo)

message("调用include前的信息")

# include,引用一次就导入一次
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/m1.cmake")
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/m1.cmake")

message("调用include后的信息")

流程控制(if else 函数)

为true的常量:ON、YES、TRUE、Y、1、非0数字
为false的常量:OFF、NO、FALSE、N、0、空字符串、NOTFOUND

if(1 AND YES)
    message("1 AND YES 是 true")
else()
    message("1 AND YES 是 false")
endif()

# 定义一个函数,函数名为second_func,有两个参数
function(second_func arg1 arg2)
    message("第一个参数:${arg1}, 第二个参数:${arg2}")
endfunction(second_func)

# 调用函数
second_func("hello" "world")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默执_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值