cmake的aux_source_directory

2023-12-23 11:32
文章标签 cmake directory source aux

本文主要是介绍cmake的aux_source_directory,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题背景

在同一目录下面,有多个源文件的时候,这个时候你不能都往下面第三条命令里面一直手动添加cpp源文件,那工作效率多低啊

cmake_minimum_required(VERSION 2.8)project(main)add_executable(main main.c test1.c)

这里就可以使用  aux_source_directory命令

二、定义

aux_source_directory 查找在某个路径下的所有源文件

格式:

aux_source_directory(< dir > < variable >)

搜集所有在指定路径下的源文件的文件名,并将输出结果列表储存在指定的变量中。 

 文件目录如下:

 

多个源文件下,可以写成

cmake_minimum_required(VERSION 2.8)project(main)# 查找当前目录下的所有源文件
# 并将名称保存到 SRC_LIST变量
aux_source_directory(. SRC_LIST)add_executable(main ${SRC_LIST})

三、其他

aux_source_directory(. SRC_LIST):表示是把当前目录下的所有源文件都添加到源列表变量里面去,最后用add_executable(main ${SRC_LIST})把所有的源文件加工成目标文件main。

不过这方法也有它的缺点,就是把当前目录下的源文件都添加到变量SRC_LIST了。如果我们不需要一些文件,可以进行这样操作:

cmake_minimum_required(VERSION 2.8)project(main)set(SRC_LIST./main.c./test1.c./test2.c)add_executable(main ${SRC_LIST})

四、注意

如果你在源目录中添加了一个新的.c文件,makefile构建系统是不能感知这个文件的,所以必须手动重新生成cmake工程

参考:

aux_source_directory — CMake 3.22.1 Documentation

cmake学习总结(二) - 知乎

CMAKE(3)—— aux_source_directory包含目录下所有文件以及自动构建系统_静水流深且细水长流-CSDN博客_aux_source_directory

这篇关于cmake的aux_source_directory的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/527879

相关文章

iOS:编译时出现no such file or directory:xxx以及use twice...filenames are used to distinguish private dec

简    注册  登录   添加关注 作者  婉卿容若 2016.04.29 11:22 写了21870字,被16人关注,获得了14个喜欢 iOS:编译时出现"no such file or directory:xxx"以及"use twice...filenames are used to distinguish private

CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中

CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中 code review! 文章目录 CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中1.`CMAKE_INSTALL_PREFIX`详解变量作用设置 `CMAKE_INSTALL_PREFIX`示例影响范围常

【C++】Cmake入门|掌握cmake的基本操作

前言: CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。 本文主要讲述在Linux下如何使用CMake来编译我们的程序。 CmakeLists.txt->makefile->make就可以了,使用Cmak

STM32CubeIDE提示找不到头文件(No such file or directory)的解决办法

0 前言 最近在使用STM32CubeIDE时,发现为工程添加了头文件路径,但编译的时候还是报错,提示找不到头文件: 1 解决办法 1.1 为工程添加头文件路径 右键我们的工程,然后添加头文件路径(最好是相对路径): 1.2 为源文件夹添加头文件路径 右键我们包含了头文件的源文件夹,也将头文件路径添加进去(最好是相对路径): 最后编译就可以通过了: 2 更好的解决办法 这样

source配置文件不生效 原创 2016年03月14日 18:43:55 3558 问题背景: 升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME

source配置文件不生效 原创  2016年03月14日 18:43:55 3558 问题背景:       升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME,没有问题。      初步推断是没有source,sourec .bashrc 之后查看$JAVA_HOME,$JRE_HOME变成1.8版本,但启动时还是报错,这就

为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效? 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里

为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?   为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效? 各位大虾: 我从网上得知,在ubuntu中,使用source /etc/profile命令可以使新建立的环境变量立刻生效而不用重新启动系统,但是 如题,当我使用source /

用Visual Studio调试CMake项目并生成Visual Studio工程

一. 在Windows系统上安装CMake 访问CMake官方网站https://cmake.org/download,或通过文末链接下载:在下载页面上,找到并点击“Download”链接以获取最新的稳定版本的CMake。请注意,虽然新版本可能包含更多功能和改进,但使用稳定版本通常更为可靠。参考文章2中提到的版本为3.26.0,但您应该选择最新的稳定版本。 下载并安装CMake

cmake find_package 原理简介以及使用说明

下面简单介绍Cmake 如何使用find_package命令对外部库进行查找: cmake本身不提供任何关于搜索库的便捷方法,也不会对库本身的环境变量进行设置。它仅仅是按照优先级顺序在指定的搜索路径进行查找Findxxx.cmake文件和xxxConfig.cmake文件(其中xxx代表库的名字,特别注意的是有大小写之分),这两个文件大体上是没有区别的,cmake能够找到这两个文件中的任何一个,

libcudart.so.9.0: cannot open shared object file: No such file or directory

使用torch 或者 torchvision的时候,报错:libcudart.so.9.0: cannot open shared object file: No such file or directory 经过gg一下,发现这个错误是 没有正确安装 英伟达的 CUDA 9 工具包。 但我一想 不对!我是服务器上根本没有GPU 根本不需要安装cuda啊! 后来torch官网发现,必须专门指