This script scans Boost headers in order to determine inter-library
dependencies, using the "autolink" information embedded in the
headers for automatic linking on Windows. This information is then
output in a form suitable for use in FindBoost.cmake.
The latter is now the preferred URL for visiting cmake.org with a
browser. Convert using the shell code:
git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
When parsing digits we know our `c - '0'` expression results in a
non-negative value due to preceding conditions. Simply cast the result
to UInt. This fixes compilation on SolarisStudio 12.4.
Starting with OS X 10.11 there is a library called libnetwork
which will be picked up during curl configuration.
This breaks backward compatibility of the resulting binaries
because libnetwork is not available on older OS X versions.
Our upstream-built release tarballs already contain many unversioned
paths and so will never overlap with another version of CMake in the
same installation prefix. Therefore we do not need a versioned name for
the documentation directory. Configure our release binaries to place
the documentation in an unversioned directory so that one can use the
same path to refer to the documentation locally even after updating
CMake. For example, on OS X one may see the documentation in
`/Applications/CMake.app/Contents/doc/cmake/html/index.html`.
Fix the check code to pass 5 arguments instead of 6. This typo was
introduced in curl 7.39 but was not noticed because the result of
this check is used only if ENABLE_IPV6 is OFF.
Resolve conflicts by taking upstream side when possible and otherwise
integrating the changes from both sides. Be carful in CMakeLists.txt
where the OPENSSL code block that we modified previously has moved, and
preserve our previous modifications in the new location.
Disable the CMake_INSTALL_DEPENDENCIES option by default and turn it on
explicitly in our packaging scripts. This simplifies packaging in
distributions that provide the dependencies for us without having to
install them. We only need 3rd-party runtime dependencies to be
installed for packaging with redistributable binaries.
Some versions of HP-UX do not define 'isfinite' or 'finite' in math.h
for Itanium when preprocessing with C++, so we have to add the
definition ourselves instead to map to the internal version.
Create a SPHINX_FLAGS cache entry that users can populate with
command-line flags for sphinx-build. Add an option to the
bootstrap script to populate it up front.
Suggested-by: Felix Geyer <debfx@ubuntu.com>
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.