
CMake 学习
文章平均质量分 92
关于CMake的学习笔记。。
根本没在怕哦
这个作者很懒,什么都没留下…
展开
-
【学习笔记】Mastering CMake (二十一)—— IDE 集成指南
集成开发环境( IDE )可能希望与 CMake 集成,以改善 CMake 用户的开发体验。本文档列出了推荐的此类集成的最佳实践。原创 2024-10-30 21:41:52 · 531 阅读 · 0 评论 -
【学习笔记】Mastering CMake (二十)—— 导入导出指南
在本指南中,我们将介绍IMPPRTED目标的概念,并演示如何将现有的可执行文件或库文件从磁盘导入到 CMake 项目中。然后,我们将展示 CMake 如何支持从一个基于 CMake 的项目中导出目标并将它们导入到另一个项目中。最后,我们将演示如何用配置文件打包项目,以便轻松集成到其他 CMake 项目中。本指南和完整的示例源代码可以在 CMake 源代码树的 Help/guide/import -export 目录中找到。原创 2024-10-30 21:40:34 · 890 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十九)—— 依赖使用指南
对于希望使用 CMake 来使用第三方二进制包的开发人员来说,有多种可能的最佳方式,这取决于 CMake 对第三方库的感知程度。与软件包一起提供的 CMake 文件包含查找每个构建依赖项的说明。有些构建依赖项是可选的,因为如果缺少依赖项,使用不同的特性集构建可能会成功,而有些依赖项是必需的。CMake 为每个依赖项搜索已知的位置,并且提供的软件可能会为 CMake 提供额外的提示或位置来查找每个依赖项。如果cmake没有找到所需的依赖项,则用包含 NOTFOUND 值的项填充缓存。原创 2024-10-30 21:39:15 · 711 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十八)—— 用户界面指南
如果一个软件包提供了一个基于 CMake 的构建系统和他们的软件的源代码,软件的消费者需要运行一个 CMake 用户交互工具来构建它。行为良好的基于 CMake 的构建系统不会在源码目录中创建任何输出,因此通常情况下,用户执行源外构建并在那里(源外构建的位置)执行(程序的)构建。首先,必须指示 CMake 生成合适的构建系统,然后用户调用构建工具来处理生成的构建系统。生成的构建系统是特定于用于生成它的机器的,并且不可重新分发。原创 2024-10-30 21:37:25 · 694 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十七)—— CMake 教程
CMake 教程提供了一个循序渐进的指南,涵盖了 CMake 帮助解决的常见构建系统问题。了解各种主题如何在示例项目中协同工作将非常有帮助。教程文档和示例源代码可以在 CMake 源代码树的 Help/guide/tutorial 目录中找到。每个步骤都有自己的子目录,其中包含可以用作起点的代码。本教程示例是渐进的,因此每一步都为前一步提供完整的解决方案。假设,出于本教程的目的,我们决定不使用平台的 log 和 exp 函数,而是希望生成一个预先计算值的表,以便在 mysqrt 函数中使用。原创 2024-10-30 21:31:59 · 836 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十六)—— CDash
为 CDash 定义子项目,以便它知道如何正确地显示它们。使用 CTest 构建脚本来提交项目的子项目构建。对项目的 CMakeLists.txt 文件进行一些(重新)组织也可能是必要的,以便允许按子项目构建项目。有两种方法可以定义子项目及其依赖项:以项目管理员身份登录时在 CDash GUI 中交互地定义子项目,或者提交描述子项目和依赖项的 project .xml 文件。原创 2024-10-30 21:29:42 · 898 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十五)—— 使用 CMake 和 CTest 进行测试
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:57:01 · 1243 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十四)—— 使用 CPack 打包
为了避免转义问题,可以指定项目特定的 CPack 配置文件。此文件将在 CPackConfig.cmake 或 CPackSourceConfig.cmake 被加载后由 CPack 加载,并且将被设置为正在运行的 CPack 生成器。该文件中设置的变量只需要一级 CMake 转义。这个文件可以配置,也可以不配置,它包含常规的 CMake 代码。在上面的例子中,你可以将 CPACK_FOOBAR 移动到文件 MyCPackOptions.cmake.in 中,并将该文件配置到项目的构建树中。@ONLY)原创 2024-10-27 11:52:20 · 1328 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十三)—— 用 CMake 交叉编译
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:50:21 · 1283 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十二)—— 将现有系统转换为 CMake
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:47:56 · 567 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十一)—— 自定义命令
通常,软件项目的构建过程不仅仅是简单地编译库和可执行程序。在许多情况下,在构建过程期间或之后可能需要额外的任务。常见的例子包括:使用文档包编译文档;通过运行另一个可执行文件生成源文件;使用 CMake 没有的工具(如 lex 和 yacc )生成文件;移动生成的可执行文件;后处理可执行文件等。CMake 使用和命令来支持这些附加任务。本章将描述如何使用自定义命令和目标来执行 CMake 本身不支持的复杂任务。在详细讨论如何使用自定义命令之前,我们将讨论如何处理它们的一些可移植性问题。原创 2024-10-27 11:46:30 · 941 阅读 · 0 评论 -
【学习笔记】Mastering CMake (十)—— 查找包
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:44:57 · 1093 阅读 · 0 评论 -
【学习笔记】Mastering CMake (九)—— 系统检查
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:41:26 · 1045 阅读 · 0 评论 -
【学习笔记】Mastering CMake (八)—— 安装文件
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:40:07 · 748 阅读 · 0 评论 -
【学习笔记】Mastering CMake (七)—— 模块
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:38:12 · 418 阅读 · 0 评论 -
【学习笔记】Mastering CMake (六)—— 策略
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:36:41 · 909 阅读 · 0 评论 -
【学习笔记】Mastering CMake (五)—— 关键概念
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:35:05 · 604 阅读 · 0 评论 -
【学习笔记】Mastering CMake (四)—— CMake 缓存
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:31:36 · 1025 阅读 · 0 评论 -
【学习笔记】Mastering CMake (三)—— 编写 CMakeLists 文件
marco和function命令支持可能分散在 CMakeLists 文件中的重复的任务。一旦一个宏或者函数被定义了,在它被定义之后,所有的 CMakeLists 的处理都可以使用它。CMake 中的函数非常像 C 或者 C++ 中的函数。你可以对它传参,并且传入的参数变成了函数内的变量。同样地,一些标准参数如 ARGC 、 ARGV 、 ARGN 和 ARG0 、 ARG1 等被定义出来。函数调用具有动态作用域。在函数里,你是在一个新的变量(作用)范围中,这非常像当你使用。原创 2024-10-27 11:30:09 · 1073 阅读 · 0 评论 -
【学习笔记】Mastering CMake (二)—— 开始
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:28:07 · 1067 阅读 · 0 评论 -
【学习笔记】Mastering CMake (一)—— 为什么 CMake
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。原创 2024-10-27 11:25:37 · 901 阅读 · 0 评论