summaryrefslogtreecommitdiff
path: root/Utilities/cmjsoncpp
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-01-13 10:45:23 -0500
committerBrad King <brad.king@kitware.com>2015-01-15 11:39:01 -0500
commit06f41e986c25fc2fd68074fce314a55f5c1d003d (patch)
tree38ed45f9a7ccfaae6ddfe73cd45f38e6e457541d /Utilities/cmjsoncpp
parent1fc556536e0c0475d401e8b5747b46e9f7c32287 (diff)
downloadcmake-06f41e986c25fc2fd68074fce314a55f5c1d003d.tar.gz
jsoncpp: Disable warnings to avoid changing 3rd party code
Add '-w' or equivalent flag on compilers supporting it. Tell MSVC to use its lowest warning level inside jsoncpp sources.
Diffstat (limited to 'Utilities/cmjsoncpp')
-rw-r--r--Utilities/cmjsoncpp/CMakeLists.txt8
-rw-r--r--Utilities/cmjsoncpp/include/json/config.h4
2 files changed, 12 insertions, 0 deletions
diff --git a/Utilities/cmjsoncpp/CMakeLists.txt b/Utilities/cmjsoncpp/CMakeLists.txt
index 0ff8820f4b..1c863f8557 100644
--- a/Utilities/cmjsoncpp/CMakeLists.txt
+++ b/Utilities/cmjsoncpp/CMakeLists.txt
@@ -1,5 +1,13 @@
project(JsonCpp CXX)
+# Disable warnings to avoid changing 3rd party code.
+if(CMAKE_CXX_COMPILER_ID MATCHES
+ "^(GNU|Clang|AppleClang|XL|VisualAge|SunPro|MIPSpro|HP|Intel)$")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PathScale")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -woffall")
+endif()
+
set(JSONCPP_SOURCES
src/lib_json/json_batchallocator.h
src/lib_json/json_reader.cpp
diff --git a/Utilities/cmjsoncpp/include/json/config.h b/Utilities/cmjsoncpp/include/json/config.h
index 4d31797a49..6847ceba8b 100644
--- a/Utilities/cmjsoncpp/include/json/config.h
+++ b/Utilities/cmjsoncpp/include/json/config.h
@@ -9,6 +9,10 @@
// Include KWSys Large File Support configuration.
#include <cmsys/Configure.h>
+#if defined(_MSC_VER)
+# pragma warning(push,1)
+#endif
+
/// If defined, indicates that json library is embedded in CppTL library.
//# define JSON_IN_CPPTL 1