In order to support NaN/Infite.
set (REQUIRE_GUI REQUIRED)
endif ()
find_package (Qt4 4.7 COMPONENTS QtCore QtGui QtWebKit ${REQUIRE_GUI})
- find_package (QJSON ${REQUIRE_GUI})
endif ()
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)
+++ /dev/null
-# 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)
bool ok = false;
QJson::Parser jsonParser;
+
+ // Allow Nan/Infinity
+ jsonParser.allowSpecialNumbers(true);
#if 0
parsedJson = jsonParser.parse(&io, &ok).toMap();
#else