CMake中的二进制文件放在哪里?

CMake中的二进制文件放在哪里?,cmake,Cmake,在我的项目中,所有源代码都驻留在名为“src”的文件夹中。在我的项目根目录中(在“src”上方)有一个CMakeLists.txt文件,但它仅声明项目,并包含“src”子目录。src下的CMakeLists.txt文件完成了所有工作,包括“添加二进制文件” (这是一种常见的方法,还是我应该将所有的智能都放在根级别的CMakeLists.txt文件中?) 如果我现在构建项目,我的二进制文件会被放在src文件夹中,但这没有多大意义,我宁愿将其放在根文件夹或专用的“bin”文件夹中 如何执行此操作?如

在我的项目中,所有源代码都驻留在名为“src”的文件夹中。在我的项目根目录中(在“src”上方)有一个CMakeLists.txt文件,但它仅声明项目,并包含“src”子目录。src下的CMakeLists.txt文件完成了所有工作,包括“添加二进制文件”

(这是一种常见的方法,还是我应该将所有的智能都放在根级别的CMakeLists.txt文件中?)

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


如何执行此操作?

如果要将所有可执行文件放在名为“bin”的子目录中,则可以在顶部的CMakeLists.txt文件中使用以下行:

SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
只需删除
/bin
,即可在根目录中创建可执行文件。库也存在类似的变量:
CMAKE\u LIBRARY\u OUTPUT\u DIRECTORY

每目录添加逻辑是好的。这似乎是一种常见的做事方式,能让事情井然有序