فهرست منبع

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.
Brad King 11 سال پیش
والد
کامیت
06f41e986c
2فایلهای تغییر یافته به همراه12 افزوده شده و 0 حذف شده
  1. 8 0
      Utilities/cmjsoncpp/CMakeLists.txt
  2. 4 0
      Utilities/cmjsoncpp/include/json/config.h

+ 8 - 0
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

+ 4 - 0
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