Подтвердить что ты не робот

Использование С++ 0x в проекте Xcode 4.2 через CMake

Я использую CMake для создания файла проекта для Xcode 4.2 на OSX Lion, и я использую некоторые функции С++ 0x в LLVM, такие как nullptr и auto. Чтобы использовать их, Xcode требует, чтобы были установлены две настройки проекта:

Языковой диалект С++ установлен на С++ 0x [-std = С++ 0x]

Стандартная библиотека С++ установлена ​​в libС++ (стандартная библиотека LLVM С++ с поддержкой С++ '0X) ​​

В настоящее время каждый раз, когда я создаю проект Xcode, мне нужно войти и вручную настроить эти параметры.

Есть ли способ указать эти настройки в CMake?

Спасибо

4b9b3361

Ответ 1

после небольшого перекопа в этом, это команды для установки соответствующих настроек xcode:

set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++ -g -Wall")

Я думаю, что установка флагов С++ избыточна, поэтому она также может работать без последней строки.

надеюсь, что это поможет!

Ответ 2

Первым вы можете изменить атрибут CMAKE_CXX_FLAGS и добавить его:   SET (CMAKE_CXX_FLAGS "$ {CMAKE_C_FLAGS} -std = С++ 0x" )

Что касается выбора GCC вместо Clang, вам нужно будет использовать что-то вроде: Переключение между GCC и Clang/LLVM с помощью CMake

Это приведет к переопределению значений по умолчанию CLang для использования GCC