Skip to content

Commit f44278c

Browse files
committed
Merge pull request open-source-parsers#101 from dominicpezzuto/master
Fix build issues related to Solaris and older GCC
2 parents 8dd32e1 + d2b6992 commit f44278c

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/lib_json/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@ ELSE(JSONCPP_LIB_BUILD_SHARED)
1010
SET(JSONCPP_LIB_TYPE STATIC)
1111
ENDIF(JSONCPP_LIB_BUILD_SHARED)
1212

13-
1413
if( CMAKE_COMPILER_IS_GNUCXX )
15-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=strict-aliasing")
14+
#Get compiler version.
15+
execute_process( COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
16+
OUTPUT_VARIABLE GNUCXX_VERSION )
17+
18+
#-Werror=* was introduced -after- GCC 4.1.2
19+
if( GNUCXX_VERSION VERSION_GREATER 4.1.2 )
20+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=strict-aliasing")
21+
endif()
1622
endif( CMAKE_COMPILER_IS_GNUCXX )
1723

1824
SET( JSONCPP_INCLUDE_DIR ../../include )

src/lib_json/json_writer.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
#pragma warning(disable : 4996)
2727
#endif
2828

29+
#if defined(__sun) && defined(__SVR4) //Solaris
30+
#include <ieeefp.h>
31+
#define isfinite finite
32+
#endif
33+
2934
namespace Json {
3035

3136
static bool containsControlCharacter(const char* str) {

0 commit comments

Comments
 (0)