cmake 如何创建文件夹
时间: 2024-03-24 13:34:58 浏览: 453
在CMake中创建文件夹可以通过使用`file(MAKE_DIRECTORY)`命令来实现。该命令可以创建一个或多个文件夹。
下面是使用CMake创建文件夹的示例代码:
```cmake
# 创建一个文件夹
file(MAKE_DIRECTORY folder_name)
# 创建多个文件夹
file(MAKE_DIRECTORY folder1 folder2 folder3)
```
在上述示例中,`folder_name`是要创建的文件夹的名称,可以根据需要进行更改。如果要创建多个文件夹,只需在`file(MAKE_DIRECTORY)`命令后面列出所有要创建的文件夹名称即可。
请注意,CMake会在生成构建系统时自动创建这些文件夹,而不是在配置阶段创建它们。
相关问题
cmake 复制文件夹
要在 CMake 中复制文件夹,可以使用 `file(COPY ...)` 命令。具体地,可以按照以下方式编写 CMakeLists.txt 文件:
```
cmake_minimum_required(VERSION 3.0)
project(MyProject)
# 复制文件夹
file(COPY folder1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
```
其中,`folder1` 是要复制的文件夹名称,`${CMAKE_CURRENT_BINARY_DIR}` 是 CMake 的内置变量,代表 build 目录的路径。这样,在执行 `cmake` 命令后,就会在 build 目录下复制一个 `folder1` 文件夹。
cmake 复制文件夹 排除子文件夹
您可以使用 `file(COPY ...)` 命令来复制文件夹,同时使用 `EXCLUDE` 参数来排除子文件夹。比如:
```
file(COPY ${source_dir}/my_folder
DESTINATION ${destination_dir}
FILES_MATCHING
PATTERN "*"
EXCLUDE
PATTERN "my_folder/sub_folder/*"
)
```
其中:
- `${source_dir}/my_folder` 表示源文件夹路径;
- `${destination_dir}` 表示目标文件夹路径;
- `FILES_MATCHING` 表示只复制符合规则的文件;
- `PATTERN "*" EXCLUDE PATTERN "my_folder/sub_folder/*"` 表示排除 `my_folder` 文件夹下的 `sub_folder` 子文件夹。
这样,就可以实现复制文件夹并排除子文件夹的功能。
阅读全文