This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via 30e0ff91b34ca2339625d10f9c921a7adb009199 (commit) via 89cd3d273deadf0b6a1c6b0dc8db153572e75845 (commit) via 7e310624b0973b8f0c529837010f164e486e784e (commit) via 4c49606598ab3089f0cec9be724ae2f3ab4c1ba3 (commit) via 50032bc847a79dc209e6e1ae4dd77a2ec2d52be9 (commit) via ad94b0521eb3a0e05c120b510d047dd18b27c9df (commit) via 7eba04fda156f670f8c84f3d6a9d9b44a472a04a (commit) via 06f41e986c25fc2fd68074fce314a55f5c1d003d (commit) via 1fc556536e0c0475d401e8b5747b46e9f7c32287 (commit) via 84d5674d4e0cfe30f28db2893ad00937deece57c (commit) from 278fc065365dcb78dc851f4a57aeaf73a737986a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=30e0ff91b34ca2339625d10f9c921a7adb009199 commit 30e0ff91b34ca2339625d10f9c921a7adb009199 Merge: 278fc06 89cd3d2 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Jan 16 09:14:31 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Jan 16 09:14:31 2015 -0500 Merge topic 'import-jsoncpp' into next 89cd3d27 jsoncpp: Add README-CMake.txt 7e310624 jsoncpp: Provide 'isfinite' implementation on Solaris 4c496065 jsoncpp: Provide 'isfinite' implementation on ancient glibc 50032bc8 jsoncpp: Add missing assert before strcmp in json_value.cpp ad94b052 jsoncpp: Add missing <iosfwd> include in json/writer.h 7eba04fd jsoncpp: Include C headers since we use APIs without std:: 06f41e98 jsoncpp: Disable warnings to avoid changing 3rd party code 1fc55653 jsoncpp: Build the library within CMake 84d5674d jsoncpp: Include "config.h" before system headers http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=89cd3d273deadf0b6a1c6b0dc8db153572e75845 commit 89cd3d273deadf0b6a1c6b0dc8db153572e75845 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 13 12:00:16 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:20 2015 -0500 jsoncpp: Add README-CMake.txt Describe how to update jsoncpp from upstream. diff --git a/Utilities/cmjsoncpp/README-CMake.txt b/Utilities/cmjsoncpp/README-CMake.txt new file mode 100644 index 0000000..bf74094 --- /dev/null +++ b/Utilities/cmjsoncpp/README-CMake.txt @@ -0,0 +1,66 @@ +The Utilities/cmjsoncpp directory contains a reduced distribution +of the jsoncpp source tree with only the library source code and +CMake build system. It is not a submodule; the actual content is part +of our source tree and changes can be made and committed directly. + +We update from upstream using Git's "subtree" merge strategy. A +special branch contains commits of upstream jsoncpp snapshots and +nothing else. No Git ref points explicitly to the head of this +branch, but it is merged into our history. + +Update jsoncpp from upstream as follows. Create a local branch to +explicitly reference the upstream snapshot branch head: + + git branch jsoncpp-upstream 53f6ccb0 + +Use a temporary directory to checkout the branch: + + mkdir jsoncpp-tmp + cd jsoncpp-tmp + git init + git pull .. jsoncpp-upstream + rm -rf * + +Now place the (reduced) jsoncpp content in this directory. See +instructions shown by + + git log 53f6ccb0 + +for help extracting the content from the upstream svn repo. Then run +the following commands to commit the new version. Substitute the +appropriate date and version number: + + git add --all + + GIT_AUTHOR_NAME='JsonCpp Upstream' \ + GIT_AUTHOR_EMAIL='kwro...@kitware.com' \ + GIT_AUTHOR_DATE='Thu Nov 20 08:45:58 2014 -0600' \ + git commit -m 'JsonCpp 1.0.0 (reduced)' && + git commit --amend + +Edit the commit message to describe the procedure used to obtain the +content. Then push the changes back up to the main local repository: + + git push .. HEAD:jsoncpp-upstream + cd .. + rm -rf jsoncpp-tmp + +Create a topic in the main repository on which to perform the update: + + git checkout -b update-jsoncpp master + +Merge the jsoncpp-upstream branch as a subtree: + + git merge -s recursive -X subtree=Utilities/cmjsoncpp \ + jsoncpp-upstream + +If there are conflicts, resolve them and commit. Build and test the +tree. Commit any additional changes needed to succeed. + +Finally, run + + git rev-parse --short=8 jsoncpp-upstream + +to get the commit from which the jsoncpp-upstream branch must be started +on the next update. Edit the "git branch jsoncpp-upstream" line above to +record it, and commit this file. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7e310624b0973b8f0c529837010f164e486e784e commit 7e310624b0973b8f0c529837010f164e486e784e Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jan 15 11:32:10 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:20 2015 -0500 jsoncpp: Provide 'isfinite' implementation on Solaris Solaris provides a 'finite' function in <ieeefp.h>. diff --git a/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp b/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp index 0a42cc4..7f8e6f1 100644 --- a/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp +++ b/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp @@ -21,6 +21,12 @@ #define snprintf _snprintf #endif +// Solaris +#if defined(__sun) +# include <ieeefp.h> +# define isfinite finite +#endif + // Ancient glibc #if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 # if !defined(isfinite) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4c49606598ab3089f0cec9be724ae2f3ab4c1ba3 commit 4c49606598ab3089f0cec9be724ae2f3ab4c1ba3 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 13 11:54:06 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:04 2015 -0500 jsoncpp: Provide 'isfinite' implementation on ancient glibc The glibc 2.1 headers provide isfinite only in C99 mode. Add its definition ourselves. diff --git a/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp b/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp index 89964ea..0a42cc4 100644 --- a/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp +++ b/Utilities/cmjsoncpp/src/lib_json/json_writer.cpp @@ -21,6 +21,13 @@ #define snprintf _snprintf #endif +// Ancient glibc +#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 2 +# if !defined(isfinite) +# define isfinite __finite +# endif +#endif + #if defined(_MSC_VER) && _MSC_VER >= 1400 // VC++ 8.0 // Disable warning about strdup being deprecated. #pragma warning(disable : 4996) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=50032bc847a79dc209e6e1ae4dd77a2ec2d52be9 commit 50032bc847a79dc209e6e1ae4dd77a2ec2d52be9 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 13 15:08:32 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:03 2015 -0500 jsoncpp: Add missing assert before strcmp in json_value.cpp The strcmp function does not allow NULL pointers, so add an assert to tell Clang scan-build that the code does not expect a NULL pointer. diff --git a/Utilities/cmjsoncpp/src/lib_json/json_value.cpp b/Utilities/cmjsoncpp/src/lib_json/json_value.cpp index 8f46d3b..478afe1 100644 --- a/Utilities/cmjsoncpp/src/lib_json/json_value.cpp +++ b/Utilities/cmjsoncpp/src/lib_json/json_value.cpp @@ -195,14 +195,18 @@ Value::CZString& Value::CZString::operator=(CZString other) { } bool Value::CZString::operator<(const CZString& other) const { - if (cstr_) + if (cstr_) { + assert(other.cstr_); return strcmp(cstr_, other.cstr_) < 0; + } return index_ < other.index_; } bool Value::CZString::operator==(const CZString& other) const { - if (cstr_) + if (cstr_) { + assert(other.cstr_); return strcmp(cstr_, other.cstr_) == 0; + } return index_ == other.index_; } http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad94b0521eb3a0e05c120b510d047dd18b27c9df commit ad94b0521eb3a0e05c120b510d047dd18b27c9df Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 13 11:27:43 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:03 2015 -0500 jsoncpp: Add missing <iosfwd> include in json/writer.h The header uses std::ostream, so it must be declared. diff --git a/Utilities/cmjsoncpp/include/json/writer.h b/Utilities/cmjsoncpp/include/json/writer.h index dc9e46f..397bf6a 100644 --- a/Utilities/cmjsoncpp/include/json/writer.h +++ b/Utilities/cmjsoncpp/include/json/writer.h @@ -9,6 +9,7 @@ #if !defined(JSON_IS_AMALGAMATION) #include "value.h" #endif // if !defined(JSON_IS_AMALGAMATION) +#include <iosfwd> #include <vector> #include <string> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7eba04fda156f670f8c84f3d6a9d9b44a472a04a commit 7eba04fda156f670f8c84f3d6a9d9b44a472a04a Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jan 15 11:16:03 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:03 2015 -0500 jsoncpp: Include C headers since we use APIs without std:: diff --git a/Utilities/cmjsoncpp/src/lib_json/json_reader.cpp b/Utilities/cmjsoncpp/src/lib_json/json_reader.cpp index c5111f8..41896a7 100644 --- a/Utilities/cmjsoncpp/src/lib_json/json_reader.cpp +++ b/Utilities/cmjsoncpp/src/lib_json/json_reader.cpp @@ -10,9 +10,9 @@ #include "json_tool.h" #endif // if !defined(JSON_IS_AMALGAMATION) #include <utility> -#include <cstdio> -#include <cassert> -#include <cstring> +#include <stdio.h> +#include <assert.h> +#include <string.h> #include <istream> #if defined(_MSC_VER) && _MSC_VER < 1500 // VC++ 8.0 and below diff --git a/Utilities/cmjsoncpp/src/lib_json/json_value.cpp b/Utilities/cmjsoncpp/src/lib_json/json_value.cpp index b73deac..8f46d3b 100644 --- a/Utilities/cmjsoncpp/src/lib_json/json_value.cpp +++ b/Utilities/cmjsoncpp/src/lib_json/json_value.cpp @@ -14,8 +14,8 @@ #include <math.h> #include <sstream> #include <utility> -#include <cstring> -#include <cassert> +#include <string.h> +#include <assert.h> #ifdef JSON_USE_CPPTL #include <cpptl/conststring.h> #endif http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=06f41e986c25fc2fd68074fce314a55f5c1d003d commit 06f41e986c25fc2fd68074fce314a55f5c1d003d Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 13 10:45:23 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:39:01 2015 -0500 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. diff --git a/Utilities/cmjsoncpp/CMakeLists.txt b/Utilities/cmjsoncpp/CMakeLists.txt index 0ff8820..1c863f8 100644 --- a/Utilities/cmjsoncpp/CMakeLists.txt +++ b/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 diff --git a/Utilities/cmjsoncpp/include/json/config.h b/Utilities/cmjsoncpp/include/json/config.h index 4d31797..6847ceb 100644 --- a/Utilities/cmjsoncpp/include/json/config.h +++ b/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 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1fc556536e0c0475d401e8b5747b46e9f7c32287 commit 1fc556536e0c0475d401e8b5747b46e9f7c32287 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jan 13 10:45:04 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:37:17 2015 -0500 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. 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" http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=84d5674d4e0cfe30f28db2893ad00937deece57c commit 84d5674d4e0cfe30f28db2893ad00937deece57c Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jan 15 11:12:07 2015 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Jan 15 11:36:49 2015 -0500 jsoncpp: Include "config.h" before system headers diff --git a/Utilities/cmjsoncpp/include/json/assertions.h b/Utilities/cmjsoncpp/include/json/assertions.h index 5ef7e7b..37a3ff5 100644 --- a/Utilities/cmjsoncpp/include/json/assertions.h +++ b/Utilities/cmjsoncpp/include/json/assertions.h @@ -6,12 +6,12 @@ #ifndef CPPTL_JSON_ASSERTIONS_H_INCLUDED #define CPPTL_JSON_ASSERTIONS_H_INCLUDED -#include <stdlib.h> - #if !defined(JSON_IS_AMALGAMATION) #include "config.h" #endif // if !defined(JSON_IS_AMALGAMATION) +#include <stdlib.h> + #if JSON_USE_EXCEPTION #include <stdexcept> #define JSON_ASSERT(condition) \ ----------------------------------------------------------------------- Summary of changes: hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits