summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-01-13 15:45:04 (GMT)
committerBrad King <brad.king@kitware.com>2015-01-15 16:37:17 (GMT)
commit1fc556536e0c0475d401e8b5747b46e9f7c32287 (patch)
treee75032b9fcf4d3792a0293bec94717fa5f3c60c7
parent84d5674d4e0cfe30f28db2893ad00937deece57c (diff)
downloadCMake-1fc556536e0c0475d401e8b5747b46e9f7c32287.zip
CMake-1fc556536e0c0475d401e8b5747b46e9f7c32287.tar.gz
CMake-1fc556536e0c0475d401e8b5747b46e9f7c32287.tar.bz2
jsoncpp: Build the library within CMake
Update json/json.h to account for our lack of autolink.h. Update json/config.h to include KWSys Large File Support configuration so that consistent stream libraries are used (on AIX with XL). Add a cm_jsoncpp_reader.h header to include the CMake-provided copy of the json/reader.h header from CMake sources.
-rw-r--r--CMakeLists.txt5
-rw-r--r--Utilities/cm_jsoncpp_reader.h18
-rw-r--r--Utilities/cmjsoncpp/CMakeLists.txt17
-rw-r--r--Utilities/cmjsoncpp/include/json/config.h3
-rw-r--r--Utilities/cmjsoncpp/include/json/json.h1
5 files changed, 43 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1812b27..1847600 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -372,6 +372,11 @@ macro (CMAKE_BUILD_UTILITIES)
endif()
#---------------------------------------------------------------------
+ # Build jsoncpp library.
+ add_subdirectory(Utilities/cmjsoncpp)
+ CMAKE_SET_TARGET_FOLDER(cmjsoncpp "Utilities/3rdParty")
+
+ #---------------------------------------------------------------------
# Build XMLRPC library for CMake and CTest.
if(CTEST_USE_XMLRPC)
find_package(XMLRPC QUIET REQUIRED libwww-client)
diff --git a/Utilities/cm_jsoncpp_reader.h b/Utilities/cm_jsoncpp_reader.h
new file mode 100644
index 0000000..d7cb50e
--- /dev/null
+++ b/Utilities/cm_jsoncpp_reader.h
@@ -0,0 +1,18 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2015 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cm_jsoncpp_reader_h
+#define cm_jsoncpp_reader_h
+
+/* Use the jsoncpp library configured for CMake. */
+#include <cmjsoncpp/include/json/reader.h>
+
+#endif
diff --git a/Utilities/cmjsoncpp/CMakeLists.txt b/Utilities/cmjsoncpp/CMakeLists.txt
new file mode 100644
index 0000000..0ff8820
--- /dev/null
+++ b/Utilities/cmjsoncpp/CMakeLists.txt
@@ -0,0 +1,17 @@
+project(JsonCpp CXX)
+
+set(JSONCPP_SOURCES
+ src/lib_json/json_batchallocator.h
+ src/lib_json/json_reader.cpp
+ src/lib_json/json_tool.h
+ src/lib_json/json_value.cpp
+ src/lib_json/json_valueiterator.inl
+ src/lib_json/json_writer.cpp
+ )
+
+include_directories(
+ ${JsonCpp_SOURCE_DIR}/include
+ ${KWSYS_HEADER_ROOT}
+ )
+
+add_library(cmjsoncpp ${JSONCPP_SOURCES})
diff --git a/Utilities/cmjsoncpp/include/json/config.h b/Utilities/cmjsoncpp/include/json/config.h
index afd3a45..4d31797 100644
--- a/Utilities/cmjsoncpp/include/json/config.h
+++ b/Utilities/cmjsoncpp/include/json/config.h
@@ -6,6 +6,9 @@
#ifndef JSON_CONFIG_H_INCLUDED
#define JSON_CONFIG_H_INCLUDED
+// Include KWSys Large File Support configuration.
+#include <cmsys/Configure.h>
+
/// If defined, indicates that json library is embedded in CppTL library.
//# define JSON_IN_CPPTL 1
diff --git a/Utilities/cmjsoncpp/include/json/json.h b/Utilities/cmjsoncpp/include/json/json.h
index 8f10ac2..f89bc62 100644
--- a/Utilities/cmjsoncpp/include/json/json.h
+++ b/Utilities/cmjsoncpp/include/json/json.h
@@ -6,7 +6,6 @@
#ifndef JSON_JSON_H_INCLUDED
#define JSON_JSON_H_INCLUDED
-#include "autolink.h"
#include "value.h"
#include "reader.h"
#include "writer.h"