WORKING_DIRECTORY 在add_custom_target看里面在前面还是后面
时间: 2023-12-17 17:05:29 浏览: 27
`WORKING_DIRECTORY` 在 `add_custom_target` 中应该放在参数列表的前面。具体的语法如下:
```
add_custom_target(target_name
[ALL]
[command1 [args1...]]
[COMMAND command2 [args2...] ...]
[DEPENDS depend depend depend ...]
[WORKING_DIRECTORY dir]
[COMMENT comment]
[VERBATIM])
```
其中,`WORKING_DIRECTORY` 参数指定了自定义命令执行的工作目录。
相关问题
cmake COMMAND命令WORKING_DIRECTORY示例
假设你有一个 C++ 项目,其中包含名为 `myapp` 的可执行文件和名为 `config.ini` 的配置文件,你想在编译项目时将配置文件复制到可执行文件所在的目录。你可以使用 `cmake` 命令中的 `COMMAND` 选项以及 `WORKING_DIRECTORY` 选项来实现这个目标。下面是 `CMakeLists.txt` 文件的示例代码:
```
cmake_minimum_required(VERSION 3.10)
project(myapp)
# 将 config.ini 复制到可执行文件所在目录
add_custom_command(
TARGET myapp POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/config.ini
${CMAKE_BINARY_DIR}/config.ini
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
```
这个示例中,`add_custom_command` 命令用于向构建过程添加自定义命令。`TARGET myapp POST_BUILD` 选项表示该命令将在构建 `myapp` 可执行文件后执行。`COMMAND` 选项指定要执行的命令,这里的命令是将 `config.ini` 文件从源目录复制到二进制目录。`WORKING_DIRECTORY` 选项指定命令要在哪个目录下执行,这里是在二进制目录下执行命令。
cmake add_custom_target COMMAND调用bat的多个形参怎么写
如果你想在 `add_custom_target` 中使用 `COMMAND` 来调用一个 `.bat` 文件,并且该 `.bat` 文件需要传入多个参数,你可以使用以下方法:
```cmake
add_custom_target(target_name
COMMAND cmd /c "path/to/your.bat arg1 arg2 arg3"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Running your.bat"
)
```
其中,`target_name` 是你自定义的 target 名称,`cmd /c` 是 Windows 下运行 `.bat` 文件的命令,`path/to/your.bat` 是你的 `.bat` 文件路径,`arg1 arg2 arg3` 则是你需要传入的多个参数,以空格分隔。如果你的 `.bat` 文件路径或参数中包含空格,则需要使用双引号将其括起来。
另外,`WORKING_DIRECTORY` 选项指定了 `.bat` 文件的工作目录,`COMMENT` 则是该 target 的注释信息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)