file(GLOB SRC "../utils/kt_someip/log/*.cpp" "endpoint/*.cpp" "mainControl/*.cpp" "message/*.cpp" "message/sdMessage/*.cpp" "resourcesMgr/*.cpp" "serviceInstance/*.cpp" "serviceInstance/serviceDiscovery/*.cpp" "serviceInstance/someip/*.cpp" "utils/*.cpp" "utils/e2e/*.cpp" "utils/config/*.cpp" "utils/workerPool/*.cpp" "main.cpp" )
时间: 2023-11-21 13:55:53 浏览: 146
这是一个 CMake 的代码片段,用于使用通配符匹配源文件列表。file() 命令用于操作文件系统,括号内列出的是文件操作命令及其参数,本代码片段使用 file(GLOB ...) 子命令来指定要匹配的文件路径和通配符,以获取源文件列表。
在这个代码片段中,它会使用通配符匹配获取多个目录下的所有 .cpp 文件作为源文件列表,这些目录包括:
- "../utils/kt_someip/log/"
- "endpoint/"
- "mainControl/"
- "message/"
- "message/sdMessage/"
- "resourcesMgr/"
- "serviceInstance/"
- "serviceInstance/serviceDiscovery/"
- "serviceInstance/someip/"
- "utils/"
- "utils/e2e/"
- "utils/config/"
- "utils/workerPool/"
这些目录中的所有 .cpp 文件都会被添加到 SRC 变量中,以便在后续的 add_executable() 命令中使用。这种方式适用于自动处理大量源文件,不需要手动一个个列出每个源文件的名称,但有时可能会导致不必要的文件被包含在内。
相关问题
import.meta.glob('../src/utils/**/*.run.ts' 匹配方式还有哪些
除了使用 import.meta.glob('../src/utils/**/*.run.ts' 之外,还可以使用其他的匹配方式,比如:
1. 使用 path.resolve() 方法获取绝对路径,并在其中使用 glob.sync() 方法进行匹配。例如:
```
const path = require('path');
const glob = require('glob');
const files = glob.sync(path.resolve(__dirname, '../src/utils/**/*.run.ts'));
```
2. 使用 Node.js 的 fs 模块中的 readdir() 方法获取目录下所有文件的文件名,然后再使用 glob 匹配需要的文件。例如:
```
const fs = require('fs');
const glob = require('glob');
fs.readdir('../src/utils', (err, files) => {
const filesToMatch = files.filter((file) => file.endsWith('.run.ts'));
const matchedFiles = glob.sync(`../src/utils/{${filesToMatch.join(',')}}`);
});
```
3. 使用 webpack 中的 require.context() 方法进行匹配。例如:
```
const files = require.context('../src/utils', true, /\.run\.ts$/);
```
for pic_path in glob.glob('./test_data/品牌一/*/*/*.jpg') + glob.glob('./test_data/品牌二/*/*/*.jpg') + glob.glob( './test_data/品牌三/*/*/*.jpg'): print(pic_path)
这段代码主要是用于遍历指定文件夹下的所有符合条件的图像文件,并输出每个文件的路径。
具体来说,glob.glob() 函数可以用于获取指定文件夹下符合条件的所有文件,其语法格式为:
```python
glob.glob(pathname, *, recursive=False)
```
其中,pathname 表示指定的文件路径或者匹配模式,* 表示可选的参数,recursive 表示是否递归搜索子文件夹。在这里,我们指定了三个文件夹(品牌一、品牌二、品牌三),并使用匹配模式 `/*/*/*.jpg` 匹配所有子文件夹中后缀为 .jpg 的图像文件。
使用 glob.glob() 函数获取到所有符合条件的图像文件路径后,使用 for 循环遍历每个文件,并输出其路径,以便进行后续的处理。
这段代码的作用是获取指定文件夹下符合条件的所有图像文件路径,并输出每个文件的路径,以便进行后续的处理。
阅读全文