cmake install 排除子文件夹
时间: 2023-08-03 12:50:20 浏览: 185
如果你想使用 CMake 安装项目时排除某些子目录,你可以在 CMakeLists.txt 文件中使用以下命令:
```
install(DIRECTORY ${PROJECT_SOURCE_DIR}/
DESTINATION ${CMAKE_INSTALL_PREFIX}
PATTERN "subdirectory_to_exclude" EXCLUDE
)
```
其中 `subdirectory_to_exclude` 是你想要排除的子目录的名称。这将确保在安装过程中不会将指定的子目录复制到目标安装目录中。
相关问题
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` 子文件夹。
这样,就可以实现复制文件夹并排除子文件夹的功能。
cmake中install文件夹
在 CMake 中,install 文件夹是用于安装编译后的程序和库文件的文件夹。当你使用 `cmake install` 命令时,CMake 将会把编译后的程序和库文件复制到 install 文件夹中,并且可以指定安装的目标文件夹。
通常情况下,install 文件夹包含以下内容:
- bin:存放可执行程序的文件夹。
- lib:存放静态库和动态库的文件夹。
- include:存放头文件的文件夹。
- share:存放其他文件,如文档、示例等。
你可以通过在 CMakeLists.txt 文件中添加以下命令来指定安装的目标文件夹:
```
install(TARGETS <target_name> DESTINATION <destination_folder>)
install(FILES <file_names> DESTINATION <destination_folder>)
```
其中,`TARGETS` 命令用于指定要安装的目标文件,`FILES` 命令用于指定要安装的其他文件。 `DESTINATION` 参数用于指定安装的目标文件夹。
例如,以下命令将安装可执行程序 `myapp` 到 `/usr/local/bin` 文件夹中:
```
install(TARGETS myapp DESTINATION /usr/local/bin)
```
需要注意的是,安装路径需要具有写入权限。如果你没有权限安装到该路径,可以使用 `sudo` 命令来提升权限。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)