2010-08-07 60 views
6

在我的项目中,所有源代码驻留在名为“src”的文件夹中。在我的项目根目录(在“src”之上)有一个CMakeLists.txt文件,但它只是声明了项目并包含了“src”子目录。 src下的CMakeLists.txt文件完成所有工作,包括“add_binary”。把CMake中的二进制文件放在哪里?

(是不是这样做的一种常见的方式,或者我应该放在在根级别的CMakeLists.txt文件中的所有智慧?)

如果我现在建项目,我的二进制文件置入src文件夹,但这并没有多大意义,我宁愿将它放在根文件夹或专用的“bin”文件夹中。

你是如何做到这一点的?

回答

6

如果你想要把你的所有可执行文件在一个名为“bin”的,那么你可以使用下面的一行在顶部的CMakeLists.txt文件子目录:

SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") 

只是删除/bin和可执行文件会在根目录下创建。库存在类似的变量:CMAKE_LIBRARY_OUTPUT_DIRECTORY

PS。添加每个目录的逻辑很好。这似乎是做事情和保持组织良好的常用方式。