Visual studio 如何更改CMake的位置';s生成了所有生成过滤器和Visual Studio';是x64目录吗?

Visual studio 如何更改CMake的位置';s生成了所有生成过滤器和Visual Studio';是x64目录吗?,visual-studio,cmake,Visual Studio,Cmake,我想要达到的目标: cmakeforvisualstudio生成的一个干净的构建目录,具有构建系统目标,如ALL_build和ZERO_CHECK,以及另外创建的目录,如visualstudio的x64,物理上位于根目录以外的其他位置 我所尝试的: 正如接受的答案所指出的,我所要做的就是用下面这行激活文件夹的使用 set_property(GLOBAL PROPERTY USE_FOLDERS TRUE) 问题是: 这只会在visual studio项目结构中为CMakePredefinedT

我想要达到的目标: cmakeforvisualstudio生成的一个干净的构建目录,具有构建系统目标,如ALL_build和ZERO_CHECK,以及另外创建的目录,如visualstudio的x64,物理上位于根目录以外的其他位置

我所尝试的: 正如接受的答案所指出的,我所要做的就是用下面这行激活文件夹的使用

set_property(GLOBAL PROPERTY USE_FOLDERS TRUE)
问题是: 这只会在visual studio项目结构中为CMakePredefinedTargets创建文件夹,而不会在物理文件系统中创建文件夹。x64目录也保持不变


那我该怎么办呢?

我认为这是不可能的。但是,如果您希望将创建的二进制文件与其他生成的文件分开,您可以使用属性和相关的目标属性来更改它们的位置。。。实际上,这在CMake+Visual Studio中非常常见?或多或少是的。我假设您已经将构建目录与源代码树分开。通常构建树中的混乱并不重要,因为至少我通常只对.exe.dll.lib文件感兴趣。你可以把这些放在我上面描述的另一个地方。如果您希望将期望的生成结果与所有其他生成的文件分开,还可以考虑添加安装规则,然后构建安装目标,以将所有重要文件从构建树复制到单独的位置。但是,如果您希望将创建的二进制文件与其他生成的文件分开,您可以使用属性和相关的目标属性来更改它们的位置。。。实际上,这在CMake+Visual Studio中非常常见?或多或少是的。我假设您已经将构建目录与源代码树分开。通常构建树中的混乱并不重要,因为至少我通常只对.exe.dll.lib文件感兴趣。你可以把这些放在我上面描述的另一个地方。如果您希望将期望的生成结果与所有其他生成的文件分开,还可以考虑添加安装规则,然后构建安装目标,以将所有重要文件从构建树复制到单独的位置。