【问题标题】:Building for x86 and x64 platform with CMake with Xcode and Visual studio使用 CMake 和 Xcode 和 Visual Studio 构建 x86 和 x64 平台
【发布时间】:2011-08-18 13:33:05
【问题描述】:

我最近开始使用 CMake。 它是一种非常简单的脚本语言,但有很多技巧需要学习,cmake 网站上的教程帮助不大。

基本上我想构建我的项目

  • Windows(使用 Visual Studio 2010)x86 和 x64
  • Mac os(使用 Xcode 4)x86 和 x64

取决于操作系统和平台,我想链接某些库。

我发现对于 Windows,我可以使用 WIN32 或 WIN64 进行设置。 但是我找不到mac os的等价物。 有人能指出我正确的方向吗?

【问题讨论】:

标签: visual-studio-2010 xcode4 cmake


【解决方案1】:

除了 Tobias 在他的回答中指出的“if(APPLE)”和其他变量之外,您还可以检查您使用的生成器,以便在必要时基于每个生成器做出决策。

if(CMAKE_GENERATOR MATCHES "Xcode")
  ...
elseif(CMAKE_GENERATOR MATCHES "Win64")
  ...
endif()

在 Mac 上,您可以通过设置目标属性 OSX_ARCHITECTURES 或变量 CMAKE_OSX_ARCHITECTURES 来构建通用二进制文件:http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:OSX_ARCHITECTURES

或者,您可以使用两个单独的构建树构建两个单一架构的二进制文件,每个构建树在 CMAKE_OSX_ARCHITECTURES 中有一个值。

在 Windows 上,您应该有两个单独的构建树,一个用于 32 位构建,一个用于 64 位构建。

【讨论】:

  • 我在windows上明白了,我发现WIN64没有这个技巧,所以我使用了CMAKE_CL_64。但是我必须说我没有得到你所说的mac os。我会深入研究它。谢谢
【解决方案2】:

【讨论】:

  • 你知道APPLE32和APPLE64是否存在吗?
  • OSX_ARCHITECTURES 变量对于我的目的来说已经足够了。谢谢