From: <he...@us...> - 2015-09-12 01:48:40
|
Revision: 401 http://sourceforge.net/p/simspark/svn/401 Author: hedayat Date: 2015-09-12 01:48:37 +0000 (Sat, 12 Sep 2015) Log Message: ----------- Properly enable C++11 flags; don't use CACHE FORCE for setting compiler flag variables Modified Paths: -------------- trunk/spark/CMakeLists.txt Added Paths: ----------- trunk/spark/cmake/EnableCXX11.cmake Modified: trunk/spark/CMakeLists.txt =================================================================== --- trunk/spark/CMakeLists.txt 2015-09-12 01:48:31 UTC (rev 400) +++ trunk/spark/CMakeLists.txt 2015-09-12 01:48:37 UTC (rev 401) @@ -103,6 +103,7 @@ endif (WIN32) ########## add extra flags ########## +include(EnableCXX11) if(NOT CMAKE_BUILD_TYPE) set (CMAKE_BUILD_TYPE Release) endif(NOT CMAKE_BUILD_TYPE) @@ -112,14 +113,7 @@ link_directories(${Boost_LIBRARY_DIRS}) if (UNIX) - set(CMAKE_CXX_FLAGS $ENV{CXXFLAGS} "--std=gnu++11" CACHE - STRING "Common C++ compiler flags" FORCE) - set(CMAKE_C_FLAGS $ENV{CFLAGS} CACHE - STRING "Common C compiler flags" FORCE) - set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -W -Wall -Woverloaded-virtual" CACHE - STRING "C++ compiler flags for Debug builds" FORCE) - set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE - STRING "C++ compiler flags for Release builds" FORCE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W -Wall -Woverloaded-virtual") endif (UNIX) set(BINDIR "bin" CACHE PATH "The directory to install binaries into.") Added: trunk/spark/cmake/EnableCXX11.cmake =================================================================== --- trunk/spark/cmake/EnableCXX11.cmake (rev 0) +++ trunk/spark/cmake/EnableCXX11.cmake 2015-09-12 01:48:37 UTC (rev 401) @@ -0,0 +1,21 @@ +# - Use C++11 standard +# +# Author: +# Kevin M. Godby <ke...@go...> +# +# Hedayat: modified to support gnu++11/gnu++0x instead +# Note that Microsoft Visual C++ compiler enables C++11 by default + +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMAKE_COMPILER_IS_GNUCXX) + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag(-std=gnu++11 SUPPORTS_STD_GNUXX11) + check_cxx_compiler_flag(-std=gnu++0x SUPPORTS_STD_GNUXX0X) + if(SUPPORTS_STD_GNUXX11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + elseif(SUPPORTS_STD_GNUXX0X) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") + else() + message(ERROR "Compiler does not support -std=gnu++11 or -std=gnu++0x.") + endif() +endif() + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |