cmake将中间文件放置到某个目录中
cmake to place the intermediate files to a certain directory
我对cmake还很陌生,想知道如何在cmake中做到这一点。我想把所有中间文件(比如.o文件)放在某个目录中(比如"构建"),然后一旦构建完成,我想把我需要的某些文件(比如,.exe,像最终产品一样的.dll)从构建目录复制到"stage"目录。如何指定这两个目录(build和stage)的路径?Cmake还会检查构建/阶段目录是否存在。如果不存在,它将为我创建目录。
任何帮助都将不胜感激。
您要问的是最常见的CMake用例。
要使整个构建过程发生在任意目录中,您应该从该目录运行cmake /path/to/your/project
(或使用cmake-gui)。
在明确告诉CMake在那里输出一些文件之前,您的源目录将不受影响。
关于第2点:
您应该将install()
调用放入CMakeLists.txt中(请参阅install()
上的文档),并将CMAKE_INSTALL_PREFIX设置为希望复制文件的目录。之后,您可以从构建目录运行make install
或cmake -P cmake_install.cmake
来安装这些文件。
我建议采用另一种方法。
- 制作源代码构建请参阅此处,以便所有构建内容都在自己的文件夹中
- 通过显式复制将可执行文件从构建目录复制到自己的文件夹中请参见此处
或者,您也可以提供一个安装例程,将所需的可执行文件安装在给定的路径中,而不是选择步骤2。请参阅此处
相关文章:
- 如何在标准c ++中流式传输/读取二进制文件的中间部分并写入另一个文件?
- 如何在文本文件中间插入字符
- 无法使用 Openvino 中间表示文件转发() 网络,但可以使用我正在制作 IR 的 ONNX 文件
- 在 txt 文件中搜索中间子字符串未被选中的字符串
- 更改include/对象文件中间程序C
- 将Visual Studio C 构建的中间文件移至另一台计算机
- 致命错误 C1083:无法打开编译器中间文件:"***.pch":没有此类文件或目录
- 如何从头到中间读取文件
- 写入二进制文件的中间;使用tellg()查找长度
- 如何在C++程序的中间写入昂贵的文件I/O
- 如何使项目共享中间文件(.obj)
- 读取中间名为可选文件
- ofstream::write 在写入大型二进制文件时中间失败
- 文件压缩以处理 C++ 中的中间输出
- C++以二进制流的形式读取文件,在中间随机跳过字节
- cups使用中间文件从c++打印多个文件
- cmake将中间文件放置到某个目录中
- 如何使用c++解析文本文件从中间到特定字符串
- C++03 链接器"already defined symbol"未显示在中间文件中
- 在c++项目之间共享中间文件