|
From: <he...@us...> - 2015-09-12 01:48:33
|
Revision: 400
http://sourceforge.net/p/simspark/svn/400
Author: hedayat
Date: 2015-09-12 01:48:31 +0000 (Sat, 12 Sep 2015)
Log Message:
-----------
Fix cmake error when Carbon library is not found
* Enable C++11 support only when Carbon is found. If C++11 support is
enabled, compilation will fail with currently released simspark
library versions. For the next release, C++11 support will be always
enabled.
Modified Paths:
--------------
trunk/rcssserver3d/CMakeLists.txt
Added Paths:
-----------
trunk/rcssserver3d/cmake/EnableCXX11.cmake
Modified: trunk/rcssserver3d/CMakeLists.txt
===================================================================
--- trunk/rcssserver3d/CMakeLists.txt 2015-09-12 01:48:23 UTC (rev 399)
+++ trunk/rcssserver3d/CMakeLists.txt 2015-09-12 01:48:31 UTC (rev 400)
@@ -42,16 +42,17 @@
add_definitions(-DHAVE_CONFIG_H ${ODE_CFLAGS})
include_directories(${CMAKE_BINARY_DIR} ${Boost_INCLUDE_DIRS} ${ODE_INCLUDE_DIR}
${SPARK_INCLUDE_DIR} ${SALT_INCLUDE_DIR} ${ZEITGEIST_INCLUDE_DIR}
- ${OXYGEN_INCLUDE_DIR} ${KEROSIN_INCLUDE_DIR} ${CARBON_INCLUDE_DIR})
+ ${OXYGEN_INCLUDE_DIR} ${KEROSIN_INCLUDE_DIR})
+
+if (CARBON_FOUND)
+ include(EnableCXX11)
+ include_directories(${CARBON_INCLUDE_DIR})
+endif (CARBON_FOUND)
+
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_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)
if(WIN32)
Added: trunk/rcssserver3d/cmake/EnableCXX11.cmake
===================================================================
--- trunk/rcssserver3d/cmake/EnableCXX11.cmake (rev 0)
+++ trunk/rcssserver3d/cmake/EnableCXX11.cmake 2015-09-12 01:48:31 UTC (rev 400)
@@ -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.
|