Сборка для платформы x86 и x64 с CMake с помощью Xcode и Visual studio - PullRequest
3 голосов
/ 18 августа 2011

Я начал использовать CMake довольно недавно.Это действительно простой язык сценариев, но есть много хитростей, и учебники на веб-сайте cmake не сильно помогают.

По сути, я хочу построить свой проект для

  • Windows (с использованием Visual Studio 2010) x86 и x64
  • Mac OS (с использованием Xcode 4) x86 и x64

Зависит от ОС и plateforme Я хочу связать определенные библиотеки.

Я выяснил, для Windows, что я могу использовать WIN32 или WIN64, чтобы настроить это.Но я не могу найти эквивалент для Mac OS.Может ли кто-нибудь указать мне правильное направление?

Ответы [ 2 ]

3 голосов
/ 19 августа 2011

В дополнение к "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-битной сборки.

1 голос
/ 18 августа 2011
if (APPLE)
....
endif(APPLE)

дополнительная информация: http://cmake.org/Wiki/CMake_Useful_Variables#System_.26_Compiler_Information

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...