在CMakeLists文件中指定构建目录

时间:2013-12-30 06:41:30

标签: cmake

是否可以在CMakeLists文件中指定构建目录?如果是的话,如何。

我的目标是能够在顶级源目录中调用“cmake”并让cmake找出构建目录。

2 个答案:

答案 0 :(得分:5)

Afaik,CMake构建目录始终是您调用cmakeccmake命令的目录。因此,如果要更改构建目录,则必须在运行CMake之前更改目录。

要控制可执行文件,静态文件和共享库一旦完成后放置的位置,您可以分别修改CMAKE_RUNTIME_OUTPUT_DIRECTORYCMAKE_ARCHIVE_OUTPUT_DIRECTORYCMAKE_LIBRARY_OUTPUT_DIRECTORY

答案 1 :(得分:2)

按照设计,没有办法在CMakeLists.txt中指定它。它旨在让用户能够在他们想要的任何目录中构建项目。典型的工作流程是:

  1. 查看项目源代码。
  2. 如果您打算进行源内构建,请转到所需的构建目录或源目录。
  3. 运行cmake或ccmake以配置该构建目录中的项目。
  4. 构建您的项目。
  5. CMakeLists.txt中指定的所有目录都应该相对于$ {PROJECT_BINARY_DIR}和$ {PROJECT_SOURCE_DIR}变量。通过这种方式,您的代码可以在不同平台上构建,这是CMake的目标。