Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMAKE输出目录取决于生成器体系结构_Cmake - Fatal编程技术网

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,请参见问题的链接。