From 7b14039483482a2c5bf70a5c4f5e0ed97d0640b0 Mon Sep 17 00:00:00 2001 From: Viktor Gal Date: Wed, 7 Aug 2013 23:00:50 +0200 Subject: [PATCH] Fix -Wno-c++11-narrowing flag and disable c++11 on Darwin with PythonModular Travis: install jinja2 on osx job --- .travis.yml | 1 + CMakeLists.txt | 35 +++++++++++--------- src/interfaces/python_modular/CMakeLists.txt | 2 +- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 036a1b552c6..e59927d005c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,6 +53,7 @@ virtualenv: before_install: - if [ -z $OSX ] ; then sudo apt-get update -qq ; else brew update ; fi - if [ -z $OSX ] ; then sudo apt-get install -qq libbz2-dev cdbs libarpack2-dev libatlas-base-dev libblas-dev libglpk-dev libhdf5-serial-dev zlib1g-dev libxml2-dev libreadline6-dev libreadline-dev libsnappy-dev liblzo2-dev liblzma-dev liblapack-dev gdb cmake python-jinja2 $EXTRA_PACKAGES ; else brew install cmake ; fi + - if [ $OSX ] ; then curl -O https://raw.github.com/rudix-mac/package-manager/master/rudix.py && sudo python rudix.py install rudix && sudo rudix install jinja2 ; fi - $CUSTOM_PKG before_script: - mkdir build diff --git a/CMakeLists.txt b/CMakeLists.txt index cdfb9af6a0f..358d38c1549 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,22 +65,28 @@ IF(CMAKE_COMPILER_IS_GNUCXX) ENDIF() # check for supported c++11 features -INCLUDE(CheckCXX11Features) - -IF(_HAS_CXX11_FLAG) - LIST(APPEND DEFINES HAVE_CXX11) - SET(HAVE_CXX11 1) - SET(CMAKE_CXX_FLAGS "${CXX11_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}") -ENDIF() +# +# clang with -std=c++11 and -stdlib=libc++ does not work +# well with swig generated cxx for python +# hence disable c++11 for this case. +IF (NOT (DARWIN AND PythonModular)) + INCLUDE(CheckCXX11Features) + + IF(_HAS_CXX11_FLAG) + LIST(APPEND DEFINES HAVE_CXX11) + SET(HAVE_CXX11 1) + SET(CMAKE_CXX_FLAGS "${CXX11_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}") + ENDIF() -IF(_HAS_CXX0X_FLAG) - LIST(APPEND DEFINES HAVE_CXX0X) - SET(HAVE_CXX0X 1) - SET(CMAKE_CXX_FLAGS "${CXX11_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}") -ENDIF() + IF(_HAS_CXX0X_FLAG) + LIST(APPEND DEFINES HAVE_CXX0X) + SET(HAVE_CXX0X 1) + SET(CMAKE_CXX_FLAGS "${CXX11_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}") + ENDIF() -IF (HAVE_CXX11_ATOMIC) - LIST(APPEND DEFINES HAVE_CXX11_ATOMIC) + IF (HAVE_CXX11_ATOMIC) + LIST(APPEND DEFINES HAVE_CXX11_ATOMIC) + ENDIF() ENDIF() # cpu tuning params @@ -457,7 +463,6 @@ ENDIF() # python modular IF (PythonModular) - set(PythonLibs_FIND_VERSION ${PYTHON_VERSION_STRING}) FIND_PACKAGE(PythonLibs REQUIRED) FIND_PACKAGE(NumPy REQUIRED) diff --git a/src/interfaces/python_modular/CMakeLists.txt b/src/interfaces/python_modular/CMakeLists.txt index d77f5b6888a..480a9cc0cd3 100644 --- a/src/interfaces/python_modular/CMakeLists.txt +++ b/src/interfaces/python_modular/CMakeLists.txt @@ -4,7 +4,7 @@ include_directories(${PYTHON_INCLUDE_PATH} ${NUMPY_INCLUDE_DIRS}) #TODO: check for SWIG version where this bug has been applied already: # https://github.com/swig/swig/pull/70 -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnoc++11-narrowing") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-c++11-narrowing") GENERATE_MODULAR_TARGET(python ${CMAKE_CURRENT_SOURCE_DIR} ${PYTHON_LIBRARIES})