diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-05-16 21:03:59 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-05-17 22:39:16 +0300 |
commit | 2b73402547a7c765f302a0d4218f96b5a710e96f (patch) | |
tree | 354c809906e468904391be1f6463cd678f13e95d /CMakeLists.txt | |
parent | 0e8cd14dfee9788f24854aa8f4148033ef042f51 (diff) |
Fix C++11 build issues on OS X, remove references to outdated libs.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index af457de21fa..32c67ba3134 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -592,8 +592,6 @@ if(APPLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") endif() - - option(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF) endif() @@ -1954,20 +1952,8 @@ elseif(WIN32) elseif(APPLE) - if(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.5" OR ${CMAKE_OSX_DEPLOYMENT_TARGET} STRGREATER "10.5") - set(WITH_LIBS10.5 ON CACHE BOOL "Use 10.5 libs" FORCE) # valid also for 10.6/7/8/9 - endif() - if(NOT DEFINED LIBDIR) - if(WITH_LIBS10.5) - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-9.x.universal) - else() - if(CMAKE_OSX_ARCHITECTURES MATCHES i386) - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-8.x.i386) - else() - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-8.0.0-powerpc) - endif() - endif() + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-9.x.universal) else() message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") endif() @@ -2082,9 +2068,7 @@ elseif(APPLE) ) mark_as_advanced(SYSTEMSTUBS_LIBRARY) if(SYSTEMSTUBS_LIBRARY) - list(APPEND PLATFORM_LINKLIBS stdc++ SystemStubs) - else() - list(APPEND PLATFORM_LINKLIBS stdc++) + list(APPEND PLATFORM_LINKLIBS SystemStubs) endif() set(PLATFORM_CFLAGS "-pipe -funsigned-char") @@ -2097,6 +2081,12 @@ elseif(APPLE) endif() endif() + if(WITH_CXX11) + list(APPEND PLATFORM_LINKLIBS c++) + else() + list(APPEND PLATFORM_LINKLIBS stdc++) + endif() + # XXX - SOME MAC DEV PLEASE TEST WITH THE SDK INSTALLED! # ALSO SHOULD BE MOVED INTO OWN MODULE WHEN FUNCTIONAL if(WITH_INPUT_NDOF) @@ -2324,6 +2314,11 @@ elseif(APPLE) # Get rid of eventually clashes, we export some symbols explicite as local set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker ${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map") + if(WITH_CXX11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -stdlib=libc++") + endif() + # Suppress ranlib "has no symbols" warnings (workaround for T48250) set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>") set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>") @@ -2682,7 +2677,9 @@ endif() if(WITH_LIBMV) set(CERES_DEFINES) - if(SHARED_PTR_FOUND) + if(WITH_CXX11) + # nothing to be done + elseif(SHARED_PTR_FOUND) if(SHARED_PTR_TR1_MEMORY_HEADER) list(APPEND CERES_DEFINES -DCERES_TR1_MEMORY_HEADER) endif() @@ -2693,7 +2690,9 @@ if(WITH_LIBMV) message(FATAL_ERROR "Ceres: Unable to find shared_ptr.") endif() - if(HAVE_STD_UNORDERED_MAP_HEADER) + if(WITH_CXX11) + list(APPEND CERES_DEFINES -DCERES_STD_UNORDERED_MAP) + elseif(HAVE_STD_UNORDERED_MAP_HEADER) if(HAVE_UNORDERED_MAP_IN_STD_NAMESPACE) list(APPEND CERES_DEFINES -DCERES_STD_UNORDERED_MAP) else() |