CMAKE输出目录取决于生成器体系结构
假设构建目标的人员将使用适当的生成器,请参见 如何相应地指定输出目录 比如:CMAKE输出目录取决于生成器体系结构,cmake,Cmake,假设构建目标的人员将使用适当的生成器,请参见 如何相应地指定输出目录 比如: if(WIN32) if(64bit) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ./DEBUG/win64) elseif(32bit) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ./DEBUG/win32) endif() endif() 依此类推,对于ifUNIX和ifAPPLE,
if(WIN32)
if(64bit)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ./DEBUG/win64)
elseif(32bit)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ./DEBUG/win32)
endif()
endif()
依此类推,对于ifUNIX和ifAPPLE,考虑到CMake系统哲学,可能同样的答案也适用
请注意,我不是在谈论交叉编译。假设发电机是已知的。你到底在问什么?例如,32位和64位可以用CMAKE_SIZEOF_VOID_P来确定。@Angew是的,这样就可以了。我在这里也看到了这种方法,但我希望有一种更优雅的方法。此外,在cmake邮件列表中,还有一些关于未设置变量的投诉。这确实是一个解决方案。如果我们在64位机器上运行带有32位生成器的cmake,它是否也正确设置了32位?对于Visual Studio生成器,它可以工作我已经测试过了。我认为其他生成器没有32位/64位变体。很好!我将在unix上测试它。他们能够构建32和64,请参见问题的链接。