From a3a24ce01e4ef27f1981daa8cfa89ab60003e1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= Date: Tue, 22 May 2018 08:40:36 +0100 Subject: [PATCH] Set libstdc++ with Xcode generator when using external XMP --- config/compilerFlags.cmake | 11 +++++++++++ config/printSummary.cmake | 1 + 2 files changed, 12 insertions(+) diff --git a/config/compilerFlags.cmake b/config/compilerFlags.cmake index 45bc7dfb..abaf0e25 100644 --- a/config/compilerFlags.cmake +++ b/config/compilerFlags.cmake @@ -7,6 +7,17 @@ if ( MINGW OR UNIX ) # MINGW, Linux, APPLE, CYGWIN set (CMAKE_CXX_FLAGS_DEBUG "-g3 -gstrict-dwarf -O0") + if (CMAKE_GENERATOR MATCHES "Xcode") + set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") + if (EXIV2_ENABLE_EXTERNAL_XMP) + # XMP SDK 2016 uses libstdc++ even when it is deprecated in modern versions of the OSX SDK. + # The only way to make Exiv2 work with the external XMP SDK is to use the same standard library. + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libstdc++") + else() + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + endif() + endif() + if (COMPILER_IS_GCC OR COMPILER_IS_CLANG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W") diff --git a/config/printSummary.cmake b/config/printSummary.cmake index 88a9ceb2..e752677b 100644 --- a/config/printSummary.cmake +++ b/config/printSummary.cmake @@ -10,6 +10,7 @@ endmacro( OptionOutput _outputstring ) message( STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}") message( STATUS "------------------------------------------------------------------" ) +message( STATUS "CMake Generator: ${CMAKE_GENERATOR}" ) message( STATUS "Compiler info: ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) ; version: ${CMAKE_CXX_COMPILER_VERSION}") message( STATUS "Compiler flags") message( STATUS "General: ${CMAKE_CXX_FLAGS}" )