|
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.
|