我对cmake很新,并想知道我怎么能做到这一点是cmake。我想将所有中间文件(如.o文件)放在某个目录中(比如说“build”),然后一旦构建完成,我想复制我需要的某些文件(例如.exe ,. dll喜欢最终产品)从build目录到“stage”目录。如何指定这两个目录(构建和阶段)的路径? Cmake还将检查build / stage目录是否存在。如果不存在,它将为我创建目录。
任何帮助将不胜感激。
答案 0 :(得分:2)
你问的是最常见的CMake用例。
要使整个构建过程在仲裁目录中进行,您应该从该目录运行cmake /path/to/your/project
(或使用cmake-gui)。
您的源目录将不受影响,直到您明确告诉CMake在那里输出一些文件。
至于第2点:
您应该将install()
次调用放入CMakeLists.txt(请参阅install()
上的文档),并将CMAKE_INSTALL_PREFIX设置为您希望复制文件的目录。之后,您可以从构建目录运行make install
或cmake -P cmake_install.cmake
来安装这些文件。
答案 1 :(得分:1)