diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6970602d..18b2b2f5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -79,6 +79,19 @@ macro(upm_SWIG_NODE) endif() set_property (TARGET jsupm_${libname} PROPERTY CXX_STANDARD 11) set_property (TARGET jsupm_${libname} PROPERTY CXX_STANDARD_REQUIRED ON) + + if (CMAKE_VERSION VERSION_LESS "3.1") + if (CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7") + message (FATAL_ERROR " FATAL ERROR: GNU gcc compiler is also too old (need 4.7+, but ${CMAKE_CXX_COMPILER_VERSION}) and does not support C++11 standard.") + endif () + set (UPM_CXX11_WORKAROUND_OPTION "-std=gnu++11") + else () + set (UPM_CXX11_WORKAROUND_OPTION "-std=c++11") + endif () + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${UPM_CXX11_WORKAROUND_OPTION} ") + endif () + endif() createpackagejson(${libname}) set (NODE_MODULE_INSTALL_PATH ${NODE_ROOT_DIR}/lib/node_modules/jsupm_${libname}/)