]> git.cworth.org Git - apitrace/commitdiff
Always use bundled QJson.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 27 Oct 2012 09:13:58 +0000 (10:13 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 27 Oct 2012 09:13:58 +0000 (10:13 +0100)
In order to support NaN/Infite.

CMakeLists.txt
cmake/FindQJSON.cmake [deleted file]
gui/retracer.cpp

index 0c020df7a08d51f4a59db101056566dff10c7aa6..a9efe6d6ce746567d7ee95309f8f17ce5e38af3a 100644 (file)
@@ -45,7 +45,6 @@ if (ENABLE_GUI)
         set (REQUIRE_GUI REQUIRED)
     endif ()
     find_package (Qt4 4.7 COMPONENTS QtCore QtGui QtWebKit ${REQUIRE_GUI})
-    find_package (QJSON ${REQUIRE_GUI})
 endif ()
 
 if (WIN32)
@@ -192,16 +191,11 @@ if (WIN32)
     add_subdirectory (thirdparty/less)
 endif ()
 
-# The Qt website provides binaries for Windows and MacOSX, and they are
-# automatically found by cmake without any manual intervention.  The situation
-# for QJSON is substantially different: there are no binaries for QJSON
-# available, and there is no standard installation directory that is detected
-# by cmake.
-#
-# By bundling the QJSON source, we make it much more easier to build the GUI on
-# Windows and MacOSX.  But we only use the bundled sources when ENABLE_GUI is
-# AUTO.
-if (QT4_FOUND AND NOT QJSON_FOUND AND (ENABLE_GUI STREQUAL "AUTO"))
+# Always use bundled QJSon.
+# - The packaged versions QJson are very old, and do not support NaN/Infinity.
+# - To make it easier to build the GUI on Windows and MacOSX, as there are no
+# binaries at all.
+if (QT4_FOUND)
     add_subdirectory (thirdparty/qjson EXCLUDE_FROM_ALL)
     set (QJSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty)
     set (QJSON_LIBRARY_DIRS)
diff --git a/cmake/FindQJSON.cmake b/cmake/FindQJSON.cmake
deleted file mode 100644 (file)
index cd007e1..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# Find QJSON - JSON handling library for Qt
-#
-# This module defines
-#  QJSON_FOUND - whether the qsjon library was found
-#  QJSON_LIBRARIES - the qjson library
-#  QJSON_INCLUDE_DIR - the include path of the qjson library
-#
-
-if (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
-
-  # Already in cache
-  set (QJSON_FOUND TRUE)
-
-else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
-
-  if (NOT WIN32)
-    # use pkg-config to get the values of QJSON_INCLUDE_DIRS
-    # and QJSON_LIBRARY_DIRS to add as hints to the find commands.
-    include (FindPkgConfig)
-    pkg_check_modules (PC_QJSON QJson>=0.5)
-  endif (NOT WIN32)
-
-  find_library (QJSON_LIBRARIES
-    NAMES
-    qjson
-    PATHS
-    ${PC_QJSON_LIBRARY_DIRS}
-    ${LIB_INSTALL_DIR}
-    ${KDE4_LIB_DIR}
-  )
-
-  find_path (QJSON_INCLUDE_DIR
-    NAMES
-    qjson/parser.h
-    PATHS
-    ${PC_QJSON_INCLUDE_DIRS}
-    ${INCLUDE_INSTALL_DIR}
-    ${KDE4_INCLUDE_DIR}
-  )
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
-
-endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
index 592c1a4215d66bf947294236c953bf71beb00d1a..6d743f70e72d04aab4cb7e181603e5597ea52f96 100644 (file)
@@ -353,6 +353,9 @@ void Retracer::run()
 
             bool ok = false;
             QJson::Parser jsonParser;
+
+            // Allow Nan/Infinity
+            jsonParser.allowSpecialNumbers(true);
 #if 0
             parsedJson = jsonParser.parse(&io, &ok).toMap();
 #else