Port upstream LibArchive commit "compute string pointers after
concatenation" (2014-09-25) and commit "Move variables to top of
function for non-C99 compilers" (2014-11-15) to our CMake copy.
Otherwise we may compute a pointer to memory that is about to be freed
and then compute a bad size to give to CryptGenRandom.
Inspired-by: Tim Kientzle <kientzle@gmail.com>
Revert commit 82c51a8a (liblzma: Disable XL compiler optimizations in
one source to avoid crash, 2015-04-02) and instead add a compiler flag
to disable optimizations in every source of liblzma. Somehow the XL
compiler optimizations create incorrect behavior in liblzma and lead
to crashes or truncated output during compression.
Somehow optimizations of lzma_lzma_optimum_normal by the IBM XL C
compiler cause it to crash. Simply disable optimizations of this source
file with a pragma.
Our Windows API header checks are conditioned on if(NOT UNIX) but
libarchive checks HAVE_WINDOWS_H anyway so the result leaks into
the cache and influenes the curl build. Set the check results to
false explicitly for curl when not on Windows to tolerate this.
Reported-by: Vyacheslav Karpukhin <Vyacheslav.Karpukhin@jetbrains.com>
To link CMake documentation from other documentation sets
like KDE extra-cmake-modules the intersphinx extension depends
on the objects.inv mapping file. The size overhead of 14k seems
to be neglectable.
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Move CMAKE_USE_OPENSSL and CURL_CA_BUNDLE up to the top of CMake so that
CMake's own sources can know their values. Add the CURL_CA_PATH option
at the top and honor it as part of the curl build.
Add cm_jsoncpp_value.h and cm_jsoncpp_writer.h headers to include the
CMake-provided copy of the json/value.h and json/writer.h headers from
CMake sources.
Even though we disable warnings when building jsoncpp itself, including
its headers from other CMake sources may still cause warnings. Update
the code to remove these -Wdocumentation warnings.
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
a263d519 Merge branch 'jsoncpp-upstream' into import-jsoncpp
53f6ccb0 JsonCpp 1.0.0 (reduced)
32fd56b0 jsoncpp: Add .gitattributes to skip whitespace checks
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.
For the nightly binaries, turn of CMAKE_USE_OPENSSL on Windows and OS X
10.6+ platforms. This will activate the new curl behavior to use the
OS-native SSL/TLS implementation.
In commit v3.1.0-rc1~52^2 (Make the OSX 10.6+ release x86_64 only,
2014-09-29) we forgot to remove the name "universal" from the binary
name. Since the binary is no longer universal, use "x86_64" instead.
While at it, update the deployment target to actually be 10.6.
On OS X, when CMAKE_USE_OPENSSL is OFF, use the OS implementation.
This will allow the OS-configured CA list to be trusted automatically.
This is supported on OS X 10.6 and above using AppleClang, Clang, and
GNU compilers.
When a CMake domain 'command' object is defined by CMakeTransform or the
'cmake:command' directive, generate the link target with a lower-case
name even if the command name is not all lower-case. This is needed to
make cross-references to the command definition work since the
'cmake:command' role is marked with the 'lowercase' property.