c++ xcode cmake c++11

Usando C++ 0x en el proyecto Xcode 4.2 a través de CMake



c++11 (2)

Estoy usando CMake para generar un archivo de proyecto para Xcode 4.2 en OSX Lion, y estoy usando algunas de las funciones de C ++ 0x en LLVM como nullptr y auto. Para usar estos, Xcode requiere que se establezcan 2 configuraciones de proyecto:

El dialecto del lenguaje C ++ se estableció en C ++ 0x [-std = C ++ 0x]

Biblioteca estándar de C ++ establecida en libc ++ (biblioteca estándar de CVV LLVM con compatibilidad con C ++ ''0X)

Actualmente, cada vez que genero un proyecto Xcode, tengo que ir y ajustar estas configuraciones manualmente.

¿Hay alguna manera de especificar estas configuraciones en CMake?

Gracias


El primero que puede cambiar el atributo CMAKE_CXX_FLAGS y agregarlo: SET (CMAKE_CXX_FLAGS "$ {CMAKE_C_FLAGS} -std = C ++ 0x")

En cuanto a la selección de GCC en lugar de Clang, tendrá que usar algo como: Cambiar entre GCC y Clang / LLVM usando CMake

Eso anulará los valores predeterminados de CLang para usar GCC


después de profundizar un poco en esto, estos son los comandos para establecer la configuración apropiada de 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")

Creo que configurar los indicadores de c ++ es redundante, por lo que también podría funcionar sin la última línea.

¡Espero que ayude!