首页 > 其他分享 >cmake语言中获取除去某文件的其他所有文件

cmake语言中获取除去某文件的其他所有文件

时间:2023-10-12 20:35:51浏览次数:39  
标签:files 文件 12 cmake list 编译 FLAGS 除去

title: 
aliases: 
tags:
  - cmake
category:
  - 方法
stars: 
url: 
creation-time: 2023-10-12 14:54
modification-time: 2023-10-12 15:04:12

场景

对整个项目进行了编译选项设置,把所有警告当做了错误。但是使用一些短小的开源库时,开发者写的并不是很严谨。所以希望这些库在编译的过程中不将警告当做错误提示,以免影响自己项目的编译。

实现方法

网上有很多针对 target 的方式,对我来说场景都不是很合适。我使用的思路是将所有源文件都读到一个 list 变量中,然后从这个变量中删除我不希望影响编译的库文件。

file(GLOB all_files "${CMAKE_CURRENT_SOURCE_DIR}/**")  
list(REMOVE_ITEM all_files "${CMAKE_CURRENT_SOURCE_DIR}/Format.h")
# 获取除了 Format.h 的当前目录下的所有源文件
set(FLAGS "-fopenmp -Wall -Wextra -Werror")
set_source_files_properties("${all_files}" PROPERTIES COMPILE_FLAGS ${FLAGS})
# 设置严格的编译选项

Reference

Cmake命令之list介绍 - 简书 (jianshu.com)
c++编译时打开warning-as-error,并在特定情况下关闭某些warning检查-CSDN博客

标签:files,文件,12,cmake,list,编译,FLAGS,除去
From: https://www.cnblogs.com/pomolnc/p/17760482.html

相关文章

  • 关于如何解决visualc++6.0打开文件闪退的一种方式(附带解决输入法无法显示)
    这里我把VisualC++6.0安装程序和filetool分享在我的网盘里面了网盘下载QAQ链接:https://pan.baidu.com/s/1azSMX_cOKgb64WT7-gTdbQ?pwd=ayxs提取码:ayxs 下载后解压文件,运行filetool.exe 进入Visualc++6.0,我们要运行并打开这个filetool里的工作空间  然后单击工......
  • Linux 在多个文件中搜索关键字
    摘要:使用grep或者rg在当前目录下所有文件中查找关键字。  在Linux操作系统下,搜索文件中的关键字可帮助用户快速找到所需的信息,满足快速排查问题的需求。在大型系统中,文件可能被保存在多个目录中并且命名也可能不同,所以,逐个文件搜索就不现实了。小编在《Linuxgrep查询关键词首......
  • chmod命令 修改文件权限
    一:chmod命令chmod是linux中一个常用的文件权限管理命令,它可以用来更改文件或目录的读写执行权限。 chmod命令的格式为:chmod[选项]权限文件或目录其中权限可以用数字或字母来表示,数字表示的权限有r(4)、w(2)、x(1),字母表示的权限有u(用户)、g(组)、o(其他)、a(......
  • Visual Studio 2022 如何在创建文件时生成默认代码以及注释文件操作
    在创建文件时生成默认代码对于已经有一定的c++编程基础的“学生”来说,次次写默认的代码有时候是挺浪费时间的,对于VisualStudio2022这个版本创建文件时生成默认代码的资源不多,今天先记录一下我们在下载visualstudio时需要下载Community、Packages、Shared这三个文件。我们需......
  • FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」 转载
    前言FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡......
  • Allegro中常见的文件格式
    .brd工具:PCBDesignExpert  PCB布线.ddb      工具:Protel.art 工具:CAM350 AllegroPCBDesignfile/impotARTwork.d     工具:pads2005.drl    工具:Protel.opj    设计项目工程.olb    创建新的元件库  CadenceSPB15.5整个软件......
  • vue中下载excel文件4种方法,2、通过 a 标签 download 属性结合 blob 构造函数下载发送p
    vue中下载excel文件4种方法,2、通过a标签download属性结合blob构造函数下载发送post请求和后台poi返回文件流实现下载1、通过url下载即后端提供文件的地址,直接使用浏览器去下载通过window.location.href=文件路径下载window.location.href=`${location.origin}/opera......
  • [node]安装node后,可以在控制台进行简单的js文件测试
    1.在Windows操作系统安装好node之后,可以在任意文件地址,按下shift+鼠标右键,打开WindowsPowerShell。  或者在VSCode中,右键选择某文件夹,选择“在集成终端中打开”。2.输入node,可以查看安装好的node版本。3.按下ctrl+d,退出node。 在js文件所在目录打开终......
  • 双for循环+grep实现批量查找文件内容
     [root@localhostweihu1]#cattest.txt/etc/nginx/conf/wwwblackip.conf/etc/nginx/bss_acl/bss_acl.conf/etc/nginx/conf/whiteip.conf/etc/nginx/conf/apiwhitelist.conf/etc/nginx/api_acl/api_acl.conf[root@localhostweihu1]#catip.txt121.40.157.124124.70.195.3......
  • 系统文件损坏+重装系统微信记录保留
    系统文件损坏——不能启动进入系统;1、winPE进入命令提示符——输入sfc/scannow/offbootdir=c:\/offwindir=c:\windows等待执行完成,显示修复成功,重启即可进入系统(winPE可以是U盘PE) 重装系统微信记录保留办法;重置系统前备份2个文件:1、C:\Users或者用户\你电脑的用户名\AppDa......