Ce que CMake variable est utilisée pour définir C++ Standard Library dans XCode?

J'ai un pur C++11 DLL (Pas de dépendances en tout genre), j'ai été en mesure de compiler sur Linux et Windows pour un certain temps maintenant, en utilisant CMake pour générer les fichiers de projet et de faire/MSVC pour compiler dans chaque système natif.

Je veux compiler sur mac OSX et j'ai eu beaucoup de problèmes pour obtenir CMake pour régler correctement les paramètres de projet dans XCode pour compiler la DLL.

Versions du logiciel:

XCode v5.0
CMake v2.8.12

Pertinentes CMake code de script:

# Set output directory if Apple OSX:
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    message("CMAKE HAS DETECTED A OSX SYSTEM - BUILDING FOR 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_C_FLAGS} -std=c++0x -stdlib=libc++")

    IF(CMAKE_BUILD_TYPE MATCHES Release)
        SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/OSX/Release)
    ENDIF(CMAKE_BUILD_TYPE MATCHES Release)
    IF(CMAKE_BUILD_TYPE MATCHES Debug)
        SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/OSX/Debug)
    ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

Cependant, les paramètres ne sont pas correctement dans le fichier de projet XCode:

Ce que CMake variable est utilisée pour définir C++ Standard Library dans XCode?

Vous pouvez voir que le CMake commandes font leur chemin dans les " Autres C++ Drapeaux de la zone. Mais XCode échouera toujours à compiler. Cependant, si je change le "C++ Standard Library' variable 'libc++', elle compile bien.

Note: je pouvais poster le message d'erreur de compilation des journaux mais je pense que le ci-dessus identifie correctement la cause de racine - j'ai juste besoin de savoir ce que commande CMake définit en fait la bonne XCode propriété ci-dessus.

  • Vous avez probablement déjà regardé cette stackoverflow.com/questions/7879630/... . De toute façon, il semble que xcode dans la version la plus récente avec Maverks tourne sur le C++11 par défaut.
  • Yep. N'aide pas malheureusement.
InformationsquelleAutor S.Richmond | 2013-10-13