diff --git a/CMakeLists.txt b/CMakeLists.txt
index 028970420..37f22289b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,11 +73,9 @@ jsoncpp_parse_version( ${JSONCPP_VERSION} JSONCPP_VERSION )
MESSAGE(STATUS "JsonCpp Version: ${JSONCPP_VERSION_MAJOR}.${JSONCPP_VERSION_MINOR}.${JSONCPP_VERSION_PATCH}")
# File version.h is only regenerated on CMake configure step
CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/src/lib_json/version.h.in"
- "${PROJECT_SOURCE_DIR}/include/json/version.h"
- NEWLINE_STYLE UNIX )
+ "${PROJECT_SOURCE_DIR}/include/json/version.h" )
CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/version.in"
- "${PROJECT_SOURCE_DIR}/version"
- NEWLINE_STYLE UNIX )
+ "${PROJECT_SOURCE_DIR}/version" )
macro(UseCompilationWarningAsError)
if ( MSVC )
@@ -104,7 +102,7 @@ endif()
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# using regular Clang or AppleClang
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wconversion -Wshadow -Wno-sign-conversion")
-elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND GNUCXX_VERSION VERSION_GREATER 4.6.3 )
# using GCC
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wconversion -Wshadow -Wextra")
# not yet ready for -Wsign-conversion
diff --git a/include/json/reader.h b/include/json/reader.h
index 0a1574fad..a2d002e45 100644
--- a/include/json/reader.h
+++ b/include/json/reader.h
@@ -333,9 +333,9 @@ class JSON_API CharReaderBuilder : public CharReader::Factory {
Json::Value settings_;
CharReaderBuilder();
- ~CharReaderBuilder() override;
+ ~CharReaderBuilder();
- CharReader* newCharReader() const override;
+ CharReader* newCharReader() const;
/** \return true if 'settings' are legal and consistent;
* otherwise, indicate bad settings via 'invalid'.
diff --git a/include/json/value.h b/include/json/value.h
index 1cfda0774..d711da3f5 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -40,8 +40,8 @@ namespace Json {
class JSON_API Exception : public std::exception {
public:
Exception(std::string const& msg);
- ~Exception() throw() override;
- char const* what() const throw() override;
+ ~Exception() throw();
+ char const* what() const throw();
protected:
std::string msg_;
};
diff --git a/include/json/writer.h b/include/json/writer.h
index f94aa1fe7..064b1b678 100644
--- a/include/json/writer.h
+++ b/include/json/writer.h
@@ -112,12 +112,12 @@ class JSON_API StreamWriterBuilder : public StreamWriter::Factory {
Json::Value settings_;
StreamWriterBuilder();
- ~StreamWriterBuilder() override;
+ ~StreamWriterBuilder();
/**
* \throw std::exception if something goes wrong (e.g. invalid settings)
*/
- StreamWriter* newStreamWriter() const override;
+ StreamWriter* newStreamWriter() const;
/** \return true if 'settings' are legal and consistent;
* otherwise, indicate bad settings via 'invalid'.
@@ -158,7 +158,7 @@ class JSON_API FastWriter : public Writer {
public:
FastWriter();
- ~FastWriter() override {}
+ ~FastWriter() {}
void enableYAMLCompatibility();
@@ -172,7 +172,7 @@ class JSON_API FastWriter : public Writer {
void omitEndingLineFeed();
public: // overridden from Writer
- std::string write(const Value& root) override;
+ std::string write(const Value& root);
private:
void writeValue(const Value& value);
@@ -210,14 +210,14 @@ class JSON_API FastWriter : public Writer {
class JSON_API StyledWriter : public Writer {
public:
StyledWriter();
- ~StyledWriter() override {}
+ ~StyledWriter() {}
public: // overridden from Writer
/** \brief Serialize a Value in JSON format.
* \param root Value to serialize.
* \return String containing the JSON document that represents the root value.
*/
- std::string write(const Value& root) override;
+ std::string write(const Value& root);
private:
void writeValue(const Value& value);
diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp
index 2eae15de9..8d1bd3fef 100644
--- a/src/lib_json/json_reader.cpp
+++ b/src/lib_json/json_reader.cpp
@@ -47,7 +47,7 @@ static int stackDepth_g = 0; // see readValue()
namespace Json {
-#if __cplusplus >= 201103L || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)
+#if ( !defined(__APPLE__) && __cplusplus >= 201103L ) || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)
typedef std::unique_ptr CharReaderPtr;
#else
typedef std::auto_ptr CharReaderPtr;
@@ -1901,7 +1901,7 @@ class OurCharReader : public CharReader {
{}
bool parse(
char const* beginDoc, char const* endDoc,
- Value* root, std::string* errs) override {
+ Value* root, std::string* errs) {
bool ok = reader_.parse(beginDoc, endDoc, *root, collectComments_);
if (errs) {
*errs = reader_.getFormattedErrorMessages();
diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp
index 0b2d7d5be..0d960b331 100644
--- a/src/lib_json/json_writer.cpp
+++ b/src/lib_json/json_writer.cpp
@@ -73,7 +73,7 @@
namespace Json {
-#if __cplusplus >= 201103L || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)
+#if ( !defined(__APPLE__) && __cplusplus >= 201103L ) || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)
typedef std::unique_ptr StreamWriterPtr;
#else
typedef std::auto_ptr StreamWriterPtr;
@@ -837,7 +837,7 @@ struct BuiltStyledStreamWriter : public StreamWriter
std::string const& endingLineFeedSymbol,
bool useSpecialFloats,
unsigned int precision);
- int write(Value const& root, std::ostream* sout) override;
+ int write(Value const& root, std::ostream* sout);
private:
void writeValue(Value const& value);
void writeArrayValue(Value const& value);