cmake学习之基本使用步骤

CMake基本使用与核心函数解析
本文介绍了CMake的基本使用步骤,包括设置版本要求、设置变量、配置文件、添加头文件目录和库文件目录等。同时详细讲解了常用函数如`cmake_minimum_required`、`set`、`configure_file`、`project`、`add_executable`、`target_link_libraries`、`add_library`和`find_package`的功能和用法,帮助读者理解CMake构建过程。

1、基本步骤

可以参看如下帖子

cmake学习总结(二) - 知乎 (zhihu.com)

2、常用变量

3、常用函数

cmake_minimum_required

设置对cmake的版本要求

set

configure_file

include_directories

添加头文件目录

link_directories

添加需要链接的库文件目录

project

add_subdirectory

设置子目录,只有设置子目录,cmake才会去执行子目录里的CMakeLists.txt

add_executable

target_link_libraries

add_library

add_library(<name> [STATIC | SHARED | MODULE]
            [EXCLUDE_FROM_ALL]
            source1 [source2 ...])
其中
<name> :库的名字,直接写名字即可,不要写lib,会自动加上前缀的哈。
[STATIC | SHARED | MODULE] :类型有三种。

    SHARED,动态库
    STATIC,静态库
    MODULE,在使用 dyld 的系统有效,如果不支持 dyld,则被当作 SHARED 对待。
EXCLUDE_FROM_ALL:这个库不会被默认构建,除非有其他的组件依赖或者手
工构建。

(37条消息) cmake之 ADD_LIBRARY()_我爱加菲猫-优快云博客_add_library

install

(37条消息) 【CMake】cmake的install指令_Yngz_Miao的博客-优快云博客_cmake install

find_library

find_library (
          <VAR>
          name | NAMES name1 [name2 ...] [NAMES_PER_DIR]
          [HINTS path1 [path2 ... ENV var]]
          [PATHS path1 [path2 ... ENV var]]
          [PATH_SUFFIXES suffix1 [suffix2 ...]]
          [DOC "cache documentation string"]
          [NO_DEFAULT_PATH]
          [NO_CMAKE_ENVIRONMENT_PATH]
          [NO_CMAKE_PATH]
          [NO_SYSTEM_ENVIRONMENT_PATH]
          [NO_CMAKE_SYSTEM_PATH]
          [CMAKE_FIND_ROOT_PATH_BOTH |
           ONLY_CMAKE_FIND_ROOT_PATH |
           NO_CMAKE_FIND_ROOT_PATH]
         )

作用:用于查找库。
VAR 创建名为的缓存条目以存储此命令的结果。
如果找到了库,结果将存储在变量中,除非清除变量,否则将不会重复搜索。
如果什么也没找到,结果将是-NOTFOUND。
REQUIRED如果未找到任何内容,该选项将停止处理并显示一条错误消息,
否则,下次使用相同的变量调 用find_library时,将再次尝试搜索。
NAMES 为库指定一个或多个可能的名称。
HINTS, PATHS 除了默认位置,还指定要搜索的目录。该子选项读取系统环境变量的路径。
DOC 指定缓存条目的文档字符串。
REQUIRED 如果未找到任何内容,则停止处理并显示错误消息。

例如

FIND_LIBRARY(RUNTIME_LIB mylib /usr/lib  /usr/local/lib NO_DEFAULT_PATH)

cmake会在目录中查找,如果所有目录中都没有,值RUNTIME_LIB就会被赋为NO_DEFAULT_PATH

find_package 

进行外部库进行查找

cmake find_package 原理简介以及使用说明_AndyCheng_hgcc的博客-优快云博客_cmake find_package

file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值