2012-02-09 1609 views
3

我对cmake很新颖,想知道我该如何做到这一点是cmake。我想把所有的中间文件(比如.o文件)放在一个特定的目录中(比如说“build”),然后一旦构建完成,我想复制我需要的某些文件(例如,.exe ,. dll像最终产品)从build目录到“stage”目录。我如何指定这两个目录(构建和阶段)的路径? Cmake也会检查build/stage目录是否存在。如果不存在,它会为我创建目录。cmake将中间文件放置到某个目录

任何帮助将不胜感激。

回答

2

你在问什么是最常用的CMake用例。

要使整个构建过程发生在任意目录中,应该从该目录运行cmake /path/to/your/project(或使用cmake-gui)。

直到你明确告诉CMake在那里输出一些文件,你的源代码才会被修改。

至于点2:

您应该将install()调用到您的CMakeLists.txt(见install()文档),并设置CMAKE_INSTALL_PREFIX到你希望要复制的文件的目录。之后,您可以从您的构建目录运行make installcmake -P cmake_install.cmake来安装这些文件。

1

我会建议另一种方法。

  1. 使乱源建立see here,让你的所有建立的东西是在自己的文件夹
  2. 从构建目录复制您的可执行文件在自己的文件夹中有明确复印see here

或者,您也可以选择第2步,而是提供一个安装例程,将所需的可执行文件安装在提供的路径中。 see here

相关问题