CMAKE : INCLUDE命令

2023-10-31

指令:include
作用:从文件或模块加载并运行CMake代码。
形式
include(<file|module> [OPTIONAL] [RESULT_VARIABLE ]
[NO_POLICY_SCOPE])

说明

  1. 变量读写范围为调用此指令的调用者的范围,因此,具有动态范围即取决于调用者;
  2. 如果“OPTIONAL”被指定,则指定的文件不存在时,不会产生任何错误;
  3. 如果“RESULT_VARIABLE”被给予了变量,则会赋值给变量完整的文件名(即<file|module>)或者在失败时赋值为“NOTFOUND ”。
    应用举例
# Check C++11 or C++0x support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
   add_definitions(-DCOMPILEDWITHC11)
   message(STATUS "Using flag -std=c++11.")
elseif(COMPILER_SUPPORTS_CXX0X)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
   add_definitions(-DCOMPILEDWITHC0X)
   message(STATUS "Using flag -std=c++0x.")
else()
   message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()

参考
https://cmake.org/cmake/help/v3.0/command/include.html?highlight=include
https://github.com/raulmur/ORB_SLAM2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CMAKE : INCLUDE命令 的相关文章

  • CMake:用于Android交叉编译的FIND_PACKAGE(Threads)

    我正在使用 Android NDK 和 Cmake 生成项目的共享库 我正在将现有项目从 Ubuntu 移植到 Android 现在我需要移植一些可执行文件 我成功编译了所有需要的可执行文件Threads图书馆 在CMakeList txt
  • CMake:如何最好地构建多个(可选)子项目?

    想象一个包含多个组件的整体项目 basic io web app a app b app c 现在 假设 web 依赖于 io 而 io 又依赖于 basic 所有这些东西都在一个存储库中 并且有一个 CMakeLists txt 将它们构
  • 在cmake中,什么是“项目”?

    这个问题是关于project命令 推而广之 是什么concept of a project意思是cmake中的 我真的不明白什么是project是 以及它与target 我想我确实理解 我看了一下cmake 文档project http w
  • 如何通过 Cmake 查找 iOS/mac OS X 框架

    Context 我通过此将 Boost C 库打包到一个框架 适用于 iOS 中script https github com davidandreoletti boostoniphone generic 该脚本产生boost框架 当链接到
  • cmake 找不到 Qt4

    由于4 8 0已经发布 我重新安装了Qt 现在我也想使用cmake 为了使 cmake 工作 我记得必须添加 mingw bin 文件夹 QtSDK Desktop Qt 4 7 3 到Qt4 7 3中的PATH 所以我猜测在中会有一个类似
  • 在生成器表达式中使用 cmake 选项

    我想在生成器表达式中使用 cmake 选项 为了打开某个编译标志 来自文档 https cmake org cmake help v3 10 manual cmake generator expressions 7 html我不清楚如何实现
  • 针对 dll/lib 的 cmake 链接

    我的 cmake 的输出是一个静态库 我正在这样创建它 add library myMainLib STATIC BACKEND SOURCES 当我尝试让 myMainLib 链接到第三方 lib dll 时 出现了问题 dll 文件将在
  • 如何判断给定目标是库还是可执行文件?

    内置功能install TARGETS 将库目标安装到可执行目标之外的其他位置 我想做类似的事情 给定目标名称列表 我想将其中的所有库目标添加到列表变量中 并将所有运行时目标添加到另一个变量中 我找不到 CMake 的默认目标属性列表 但我
  • 使用 CMake 时如何导出 Emscripten 中的 C 函数

    In 本教程 https emscripten org docs porting connecting cpp and javascript Interacting with code html interacting with code
  • 使用星号更改多个源文件的 CMake 编译器标志

    我正在尝试调试与编译器优化相关的问题 O2 或以下版本没有问题 O3 出现段错误 并且我希望能够切换我的源代码块的编译器标志 以便我可以尝试缩小段错误的来源范围 我可以将全局优化级别设置为 O2 并更改单个文件的属性 如下所示 SET SO
  • CMake:从多行文本文件获取版本

    我有一个文件version txt VERSION MAJOR 1 VERSION MINOR 1 VERSION PATCH 3 我想使用 cmake 添加主要 次要和补丁的定义 我尝试过使用 file STRING version tx
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • CMake - 未定义参考

    我正在尝试将 gtest 包含到我的项目中 问题是我在 GTest 中收到未定义的引用错误 我正在尝试在 Gtest 中测试 Node 类 在节点的构造函数中 我使用类记录器 尽管我已将库记录器添加到 gtest target 中 但我仍然
  • 使用cmake交叉编译gRPC

    我正在尝试使用 cmake 交叉编译 gRPC 我实际上做到了 不幸的是 我的方法涉及在 CMakeLists txt 内部进行修改 问题是 当我尝试编译 gRPC 时 它使用的是他刚刚编译的 protobuffer 它无法在 x86 计算
  • Clion如何将文件添加到项目中

    这看起来真的很基本 如何将文件添加到项目中而无需手动编辑CMakeLists txt 例如另一个目录中的源文件 CLion 解析CMakeLists txt并使用它生成项目视图 但我相信将文件添加到项目的唯一方法是编辑CMakeLists
  • 将 cmake 与 nmake x64 一起使用

    我使用 cmake 生成 NMake 文件 一切正常 我使用 x64 工具集 没有 Visual Studio 只有 SDK 因此我输入 nmake 但它生成 x86 构建而不是 x64 构建 你知道为什么吗 以及如何强制 nmake 以
  • CMake、Exe找不到DLL

    所以我尝试在 Windows 上使用 cmake 设置一个项目 这就是我的项目结构 游戏引擎 git build include source testing CMakeLists txt 这个想法是 source 目录包含 GameEng
  • 是否可以让 cmake 构建文件(CMakeLists.txt)不在 CLion 的根目录中

    是否可以让 cmake 构建文件 CMakeLists txt 不在 CLion 的根目录中 我目前正在开发的项目中 cmake 构建文件不在 CLion 项目的根目录中 在 out Debug 目录中 我希望 CLion 打开该项目的根目
  • CMake source_group() 无法在分层项目设置中正常工作

    在进行更改以使 CMake 项目具有分层文件夹管理后 source group 似乎不再正常工作 CMake 只是将所有内容转储到默认过滤器中 我尝试了各种正则表达式来从父级获取每个源文件的相对文件路径 甚至对父级 CMakeLists t
  • CMake第三方库安装

    我是编程新手 对于我的研究项目 我需要安装一个第三方库以便与 CMake 一起使用 GitHub项目 https github com cpp io2d P0267 RefImpl blob master BUILDING md 我在我的电

随机推荐

  • Weblogic SSRF漏洞

    1 漏洞描述 weblogic中存在SSRF漏洞 利用该漏洞可以发送任意HTTP请求 进而攻击内网中redis fastcgi等脆弱组件 2 影响版本 weblogic 10 0 2 10 3 6版本 3 POC http 192 168
  • 深入理解数据结构——堆栈的基本操作

    include
  • 版本号命名指南

    首先看看某些常见软件的版本号 Linux Kernel 0 0 1 1 0 0 2 6 32 3 0 18 若用 X Y Z 表示 则偶数 Y 表示稳定版本 奇数 Y 表示开发版本 Windows windows 98 windows 20
  • getopt_long 函数的使用

    getopt long 函数的使用网上已经有很多了 这里只是记录一下方便自己后续查找 首先函数原型声明 include
  • 情境领导者-第七章、解决绩效问题

    情境领导者 第七章 解决绩效问题 故事 总经理 并非如此 是什么意思 罗杰斯 一旦我能够使人们独立完成工作并有良好的工作业绩 而且他们能保持这个状态 那就很了不起了 总经理 这也会是你的工作变得更容易对吧 罗杰斯 的确会使我的工作变得容易些
  • ExtJs 动态添加组件

    function createComBox id name var c new Ext form ComboBox mode local forceSelection true triggerAction all displayField
  • 04模板学习之普通类继承类模板和类模板继承类模板的区别

    04模板学习之普通类继承类模板和类模板继承类模板的区别 1 普通类继承类模板 普通类继承模板时 继承的模板类必须确定类型 否则无法通过编译 因为普通类编译时需要确定基类的类型 而基类却无法确定 所以必定报错 template
  • gradle引入maven本地库中的jar包

    gradle引入maven本地库中的jar包 在build gradle中加入 def lmr file new File maven repo absolutePath repositories mavenCentral mavenLoc
  • Github上传项目报错:error: src refspec master does not match any

    想把自己在本地写好的项目上传到github 结果路途坎坷 记下历程 仅供参考 参考的第一个文档最后一步git push u origin master我却不成功 显示如下错误 于是参考网上的解决办法 把命令的最后的master改成main
  • MyBatis的XML映射文件(二)

    文章目录 动态SQL if choose trim foreach 缓存 一级缓存 二级缓存 第三方缓存 个人博客 动态SQL note 动态 SQL 是 MyBatis 的强大特性之一 如果你使用过 JDBC 或其它类似的框架 你应该能理
  • 张飞硬件设计与开发 学习笔记(第一部 线性稳压电源设计) 含理解,超详细!

    第一部 线性稳压电源的设计 前言 一 线性稳压电源的设计 1 课程概述 交流到直流降压简介 2 整流原理介绍 电阻选型 二极管介绍 3 电容的理解与选型 4 稳压电路的设计流程 5 元件详细选型 6 稳压管 三极管应用 成本控制方案二 总结
  • [获取数据集] 数据分析、机器学习获取开放的数据集

    获取数据集 数据分析 机器学习获取开放的数据集 不管数据分析还是机器学习 用真实的数据比用虚拟的数据得出的结果要好 以下是一些比较流行的开放数据存储库 里面有成千上万覆盖各个领域的数据 流行的开放数据存储库 UC Irvine Machin
  • @Cacheable使用spring缓存

    一 首先了解spring自带的注解 首先在启动类需要开启该功能 package com frame util import org mybatis spring annotation MapperScan import org spring
  • 标准c库打开创建文件读写文件光标移动

    fopen 函数 fopen只能配合使用fread fwrite等不能是read write 例子 include
  • GitHub怎样fork别人代码到自己仓库并进行贡献

    场景 比如说现在有一个很牛逼的项目 我们进入项目地址 想将这个项目复制到自己的github仓库 然后你还想将 仓库中的代码拉取到本地进行修改 修改完你还要将本地的 修改后的代码推送到自己的github仓库 更甚至你还想将自己 复制过来并修改
  • Python3数据挖掘之百度资讯搜索数据并入库(最新)

    因百度搜索页关键字内容改变 更新关键字增加正则表达式的编写 增加对批量内容爬取后的入库操作 另外需要注意学会修改正则里面变更后的内容 下面截图使用不同的颜色简单说明下 import requests import re import pym
  • Pytorch 学习(十):Pytorch 模型在 CPU 与 GPU 上的迁移

    Pytorch 模型在 CPU 与 GPU 上的迁移 本方法总结自 动手学深度学习 Pytorch版 github项目 Pytorch计算时必须保证模型和参与当前过程的所有数据都在同一个设备 GPU 或 CPU 上 CPU 与 GPU 的相
  • (附源码)springboot毕业生跟踪调查管理系统 毕业设计 061528

    springboot毕业生跟踪调查管理系统 摘 要 信息化社会内需要与之针对性的信息获取途径 但是途径的扩展基本上为人们所努力的方向 由于站在的角度存在偏差 人们经常能够获得不同类型信息 这也是技术最为难以攻克的课题 针对毕业生跟踪调查管理
  • 2月24日--3月2日(共18小时,剩4599小时)

    2月24日1小时 周日打游戏太困了 2月25日 共8小时 上午3小时DX11 下午2小时DX11 晚上3小时软引擎 2月26日 共3小时 上午2小时DX11 中午1小时软引擎 2月27日共3小时 2月28日 共3小时 3月1日 共3小时 3
  • CMAKE : INCLUDE命令

    指令 include 作用 从文件或模块加载并运行CMake代码 形式 include