2011-12-05 80 views

回答

5

CMAKE_BINARY_DIR是你的CMakeLists.txt文件的生成文件夹的位置。

假设你有:

MyProject/application/CMakeLists.txt 和您的构建输出是MyProject/build

在上面的CMakeLists.txt使用CMAKE_BINARY_DIR时,它指向MyProject/build/application/

看一看的this名单CMake变量用于更多变量。

+0

感谢您,您的建议是非常重要的我。 但我找不到“/ bin”文件或“/ bin”是什么意思? – kunou

+0

你知道cmake是如何工作的吗?首先,源代码树中是否有bin文件夹?如果存在“bin”文件夹并且它包含正在处理的CMakeLists.txt,则CMake将在build文件夹中创建该文件夹。它镜像源文件夹。 – gvd

+0

哦,明白了。我刚开始学习Cmake作为项目需要。非常感谢。 – kunou

10

我不得不不同意gvd的答案,因为CMAKE_BINARY_DIR应该始终指向构建树的顶层目录。如果您需要构建树在当前CMakelists.txt去的位置,使用CMAKE_CURRENT_BINARY_DIR

CMAKE_BINARY_DIR

,如果你正在建设中源,这是一样的CMAKE_SOURCE_DIR, 否则这是顶级你的构建树的一级目录

CMAKE_CURRENT_BINARY_DIR

,如果你正在建设中源,这是一样的CMAKE_CURRENT_SOURCE_DIR, 否则这是目录,从目前 的的CMakeLists.txt编译或生成的文件会去

所以答案是:cmake_binary_dir /箱点toplevelBuilddir/bin中