We already add the crypto library after the ssl library when using
OpenSSL. Do not add it to the list of libraries individually or we may
end up with the wrong order later. Further investigation will be needed
to see how this change can be reconciled with the upstream need for the
original line.
LibArchive now defines this explicitly if it is not defined already.
Since we define _WIN32_WINNT explicitly, we must now define a consistent
value of NTDDI_VERSION explicitly too.
We will now manage the libarchive source tree updates using
the `Utilities/Scripts/update-libarchive.bash` script. Drop
the README that covered the old method.
In `detect_nsis_overwrite.cpp` we include windows.h first, and we must
preserve that. Place the include in an isolated block so that tools
that sort includes do not move it.
This test fails spuriously too often and prevents the nightly binary
from finishing. Simply skip it for the nightly binary to allow it
to complete more regularly.
This test fails spuriously too often and prevents the nightly binary
from finishing. Simply skip it for the nightly binary to allow it
to complete more regularly.
Compile with `-D_WIN32_WINNT=0x502` to use a WinXP-compatible API.
Compile with `-D_USING_V110_SDK71_` to tell the VS standard library
headers that we are building with a WinXP-compatible Windows SDK. Link
executables with `-subsystem:console,5.02` to make them runnable on
Windows XP 64-bit. Ideally `cmake-gui` should instead be linked with
`-subsystem:windows,5.02` but with the Ninja and Makefile generators
CMake adds `-subsystem:windows` after our `-subsystem:console,5.02` flag
and the linker seems to interpret this combination as we need.
This should be done so that any attributes for ignoring certain files
when exporting can be appended to the file during the extraction step,
but ignored in the actual import. Necessary for importing the gitsetup
repository.
The `git ls-files | xargs rm` removes only files; directories which are
empty are left laying around. This later chokes the `mv` which puts the
"reduced" directory into place. Remove the empty directories as well.
Use a custom action to look for Uninstall.exe in the user
selected installation prefix.
Its presence indicates a previous NSIS installation.
Inform the user and request manual resolution of the issue.
Compile with `-D_WIN32_WINNT=0x501` to use a WinXP-compatible API.
Compile with `-D_USING_V110_SDK71_` to tell the VS standard library
headers that we are building with a WinXP-compatible Windows SDK. Link
executables with `-subsystem:console,5.01` to make them runnable on
Windows XP. Ideally `cmake-gui` should instead be linked with
`-subsystem:windows,5.01` but with the Ninja and Makefile generators
CMake adds `-subsystem:windows` after our `-subsystem:console,5.01` flag
and the linker seems to interpret this combination as we need.
a5dd0c9d Add option to use a system-installed KWIML
036b6ef7 Port CMake from cmIML to KWIML
12293371 Merge branch 'upstream-KWIML' into import-kwiml
3fdbb0a8 KWIML 2015-12-09 (43f9f8d0)
55b21d07 Add script to update KWIML from upstream
c7d9a249 Utilities/KWIML: Drop sources to make room for fresh import
24cdb9df CMake: Mimic NSIS options dialog in WiX installer
de77d4a7 CPackWIX: Allow multiple patch files and diagnose if any are missing
38d723b3 CPackWIX: Allow patching of shortcut components
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>