diff options
author | Brad King <brad.king@kitware.com> | 2015-01-13 15:45:04 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-01-15 16:37:17 (GMT) |
commit | 1fc556536e0c0475d401e8b5747b46e9f7c32287 (patch) | |
tree | e75032b9fcf4d3792a0293bec94717fa5f3c60c7 | |
parent | 84d5674d4e0cfe30f28db2893ad00937deece57c (diff) | |
download | CMake-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.txt | 5 | ||||
-rw-r--r-- | Utilities/cm_jsoncpp_reader.h | 18 | ||||
-rw-r--r-- | Utilities/cmjsoncpp/CMakeLists.txt | 17 | ||||
-rw-r--r-- | Utilities/cmjsoncpp/include/json/config.h | 3 | ||||
-rw-r--r-- | Utilities/cmjsoncpp/include/json/json.h | 1 |
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" |