使用 Xcode 和 Visual Studio 使用 CMake 构建 x86 和 x64 平台

发布于 2024-11-30 14:58:43 字数 300 浏览 1 评论 0 原文

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

构建我的项目

  • 基本上我想为Windows(使用 Visual Studio 2010)x86 和 x64
  • Mac 操作系统(使用 Xcode 4)x86 和 x64

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

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

I started using CMake pretty recently.
It is a really easy script language but there are many tricks to learn and tutorials on the cmake website is not much help.

Basically I want to build my project for

  • Windows (using visual studio 2010) x86 and x64
  • Mac os (using Xcode 4) x86 and x64

Dependending on the OS and plateforme I want to link certain libraries.

I figured out for Windows that I can use WIN32 or WIN64 to set this up.
But I can't find the equivalence for mac os.
Can someone point me in the right direction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你与昨日 2024-12-07 14:58:43

除了 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 位构建。

In addition to the "if(APPLE)" and other variables that Tobias pointed you to in his answer, you can also inspect what generator you're using to make decisions on a per-generator basis if necessary.

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

On the Mac, you can build universal binaries by setting the target property OSX_ARCHITECTURES, or the variable CMAKE_OSX_ARCHITECTURES: http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:OSX_ARCHITECTURES

Alternatively, you can build two single-architecture binaries using two separate build trees with a single value in CMAKE_OSX_ARCHITECTURES for each build tree.

On Windows, you should simply have two separate build trees, on for your 32-bit build and one for your 64-bit build.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文