Commit Graph

1131 Commits

Author SHA1 Message Date
Orion Poplawski
4ca77bb6db KWIML: Add -Wno-format-security to tolerate -Werror=format-security
When compiling KWIML tests with `-Werror=format-security` we get

    error: -Wformat-security ignored without -Wformat

Therefore we should disable both `format` and `format-security`
together.
2017-02-27 13:47:00 -05:00
Brad King
6cbad490c2 Merge branch 'sphinx-1.4' into release 2017-02-10 11:32:04 -05:00
Brad King
97917900d1 Utilities/Sphinx: Port qthelp css workaround to Sphinx 1.4
The `default.css` static content is no longer placed in the qthelp
`_static` directory.  If it does not exist, skip over it and insert
the content of `basic.css` directly into `cmake.css`.
2017-02-10 10:43:29 -05:00
Gregor Jasny
971384c287 Utilities/Sphinx: Port cmake extension to Sphinx 1.4
Sphinx 1.4 introduced a breaking change to `indexnode` by changing
the length of a tuple.  Teach our extension to produce a tuple of
the proper length for the version of Sphinx in use.

This gets rid of the "4 column based index found" warning.
2017-02-10 10:24:25 -05:00
Brad King
566d20771f CMake 3.8.0-rc1 version update 2017-02-06 11:27:03 -05:00
Brad King
773df0e2d7 Add pre-commit hook to check whether SetupForDevelopment must re-run
Add a version number to the `SetupForDevelopment.sh` script and use
a pre-commit hook to check when it changes.
2017-01-31 11:16:10 -05:00
Brad King
050bb41ca7 Tell Git not to export the GitSetup directory
The `Utilities/GitSetup` directory is useful only in Git work trees
and so does not need to be distributed with source tarballs.
2017-01-30 16:56:31 -05:00
Brad King
d6108c87af GitSetup: Tell Git not to export .gitattributes
GitSetup upstream added an attribute to export `.gitattributes` so that
importing snapshots into the sources of other projects would bring along
the attributes.  However, we don't want to export them from CMake.  Drop
`.gitattributes` entries not relevant to CMake.
2017-01-30 16:53:14 -05:00
Brad King
3642d657b1 Merge branch 'upstream-GitSetup' into developer-setup
* upstream-GitSetup:
  GitSetup 2016-12-13 (cd5ada6d)
2017-01-30 16:45:48 -05:00
Brad King
a2d393d648 Add script to update GitSetup from upstream 2017-01-30 16:40:21 -05:00
Brad King
88a816c6b9 Merge topic 'vs15-detect-from-installer'
3a97a371 VS: Port Visual Studio Setup third-party header to older VS versions
c93e85d8 VS: Use Visual Studio Installer to locate VS 2017
18c8278b VS: Add helper class to interact with Visual Studio Installer
d47bda00 VS: Fix VS 2017 Windows Store toolset selection
efdfc26e VS: Drop check for VS 15 Express Edition
ad5b702c VS: Port Visual Studio Setup third-party header to MinGW
def7395f VS: Add Visual Studio Setup third-party header
2017-01-12 10:20:48 -05:00
Brad King
3a97a3713a VS: Port Visual Studio Setup third-party header to older VS versions 2017-01-11 09:45:05 -05:00
Eric Berge
b7f0b1240f libuv requires _XOPEN_SOURCE 600 on Solaris 11
This avoid build errors from the
    /usr/include/sys/feature_tests.h
include file which disallows setting XOpen
versions less than 6 when in C99 mode.
2016-12-21 22:11:28 -06:00
Iyyappa Murugandi
ad5b702c09 VS: Port Visual Studio Setup third-party header to MinGW
The `Setup.Configuration.h` which is released by Microsoft is specific
to MSVC.  Update it to compile with non-MS toolchains like MinGW.
2016-12-16 09:58:31 -05:00
Iyyappa Murugandi
def7395f62 VS: Add Visual Studio Setup third-party header
The Visual Studio Setup team releases a `Setup.Configuration.h` header
under the MIT License for use by external applications to interact with
the Visual Studio Installer tool [1].  Import it into our source tree
for use by CMake.

[1] https://github.com/microsoft/vs-setup-samples
2016-12-16 09:43:10 -05:00
Brad King
2413075765 update-kwsys: Update repository URL
KWSys is now hosted on Kitware's GitLab instance.
2016-12-14 11:16:47 -05:00
Brad King
062645ca67 Merge topic 'update-kwsys-upstream-link'
23a35edf pre-commit: Update KWSys rejection message for new upstream location
2016-12-14 09:51:56 -05:00
Brad King
23a35edf4d pre-commit: Update KWSys rejection message for new upstream location 2016-12-13 14:40:39 -05:00
Brad King
0290bfc35d Merge topic 'update-curl'
df7fa47c curl: Disable symbol hiding logic in build for CMake
f8a1ba20 Merge branch 'upstream-curl' into update-curl
93cc249f curl 2016-11-02 (3c561c65)
25d7b1ca curl: Update script to get curl 7.51.0
2016-12-06 09:26:20 -05:00
Brad King
df7fa47c1b curl: Disable symbol hiding logic in build for CMake
We already disable the code using `HIDES_CURL_PRIVATE_SYMBOLS`, so skip
the code to set it too, thus avoiding unnecessary `message()` calls.
2016-12-06 08:18:33 -05:00
Brad King
f8a1ba202f Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2016-11-02 (3c561c65)
2016-12-05 11:50:43 -05:00
Brad King
25d7b1ca9d curl: Update script to get curl 7.51.0 2016-12-05 11:39:12 -05:00
Nils Gladitz
1b91e010bc Utilities/Release: Store WiX CMake install location in Windows registry 2016-12-05 16:05:19 +01:00
Brad King
a0af10e423 Merge topic 'librhash-left-shift-unsigned'
9e07ffa4 librhash: Avoid signed left-shift overflow in sha256
2016-11-29 08:58:59 -05:00
Brad King
dd4e25a5a6 Merge topic 'libarchive-openssl-1.1'
6f23daea libarchive: Add support for building with OpenSSL 1.1
7d433206 libarchive: Add headers to adapt between OpenSSL 1.1 and older versions
2016-11-29 08:58:55 -05:00
Brad King
9e07ffa4e4 librhash: Avoid signed left-shift overflow in sha256
Fix `rhash_sha256_final` to use unsigned integers for left shifting to
avoid the possibility of undefined overflow behavior.
2016-11-29 08:30:25 -05:00
Brad King
6f23daea43 libarchive: Add support for building with OpenSSL 1.1
OpenSSL 1.1 made some CTX structures opaque.  Port our code to use the
structures only through pointers via OpenSSL 1.1 APIs.  Use our adaption
layer to make this work with OpenSSL 1.0 and below.

Patch-by: Tomas Mraz <tmraz@redhat.com>
Patch-from: https://bugzilla.redhat.com/1383744
2016-11-28 14:55:42 -05:00
Brad King
7d433206cf libarchive: Add headers to adapt between OpenSSL 1.1 and older versions
Add private forwarding headers for `openssl/{evp,hmac}.h` to give us a
central place to add adaptation code to work across multiple
incompatible OpenSSL versions.  Provide compatibility implementations of
some OpenSSL 1.1 APIs when using older OpenSSL versions.
2016-11-28 14:55:42 -05:00
Brad King
2dafeacb75 Utilities/Release: Update to openssl-1.0.2j
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2016-11-17 16:12:36 -05:00
Brad King
7a79f7e3c1 librhash: Activate SHA-3 implementation 2016-11-10 15:48:41 -05:00
Brad King
87584b5e9d Merge branch 'upstream-librhash' into add-SHA-3
* upstream-librhash:
  librhash 2016-11-06 (de79828d)
2016-11-10 15:42:32 -05:00
Brad King
c50c32a30f librhash: Update import script to add SHA-3 implementation 2016-11-10 15:42:13 -05:00
Brad King
de53eb18ab Merge topic 'import-librhash'
cd8a57ae Add option to build CMake against a system librhash
71180fc8 FindLibRHash: Add module to find the librhash package
3216e94c Remove unused cm_sha2 infrastructure
5420278d Port hash computation to cmCryptoHash
9a596b33 cmCryptoHash: Re-implement in terms of librhash
47f91a61 cmCryptoHash: Avoid using subclasses at client sites
d0ff3e70 librhash: Port to KWIML for ABI and integer type information
465a85fb librhash: Avoid signed left-shift overflow
fc2cb74f librhash: Implement bswap_32 as a function even in strict C90 mode
0bd333bc librhash: Implement bswap_64 even in strict C90 mode
7189d62c librhash: Use __builtin_bswap{32,64} on Clang
af7ebf8a librhash: Install COPYING file with CMake documentation
bb01f20e librhash: Disable warnings to avoid changing 3rd party code
31bb727f librhash: Build the library within CMake
53048afa librhash: Remove source fragments not needed for CMake
5cb1b345 Merge branch 'upstream-librhash' into import-librhash
...
2016-11-10 08:34:28 -05:00
Brad King
cd8a57ae9b Add option to build CMake against a system librhash
Create a CMAKE_USE_SYSTEM_LIBRHASH option.
2016-11-10 08:29:38 -05:00
Brad King
3216e94cef Remove unused cm_sha2 infrastructure
All clients of `cm_sha2` have been ported to `cmCryptoHash`, which now
uses librhash internally.
2016-11-10 08:29:38 -05:00
Brad King
d0ff3e701c librhash: Port to KWIML for ABI and integer type information 2016-11-10 08:29:37 -05:00
Brad King
465a85fb46 librhash: Avoid signed left-shift overflow
Fix `rhash_md5_final` to use unsigned integers for left shifting to
avoid the possibility of undefined overflow behavior.
2016-11-10 08:29:36 -05:00
Brad King
fc2cb74fee librhash: Implement bswap_32 as a function even in strict C90 mode
We cannot fall back to the macro implementation because some call sites
may call it with an argument like `*ptr++` that has side effects.
2016-11-10 08:29:36 -05:00
Brad King
0bd333bc2e librhash: Implement bswap_64 even in strict C90 mode 2016-11-10 08:29:36 -05:00
Brad King
7189d62c32 librhash: Use __builtin_bswap{32,64} on Clang 2016-11-10 08:28:57 -05:00
Brad King
af7ebf8ad3 librhash: Install COPYING file with CMake documentation
When we install using the bundled librhash source, notify users of its
license terms.
2016-11-10 08:26:55 -05:00
Brad King
bb01f20e99 librhash: 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 librhash sources.
2016-11-10 08:26:55 -05:00
Brad King
31bb727f3b librhash: Build the library within CMake
Update `ustd.h` to include KWSys Large File Support configuration so
that consistent stream libraries are used (on AIX with XL).

Add a `cm_rhash.h` header to include the CMake-provided copy of the
`rhash.h` header from CMake sources.
2016-11-10 08:26:54 -05:00
Brad King
53048afa8d librhash: Remove source fragments not needed for CMake
We only need a subset of the hash algorithms supported by librhash.
Add preprocessor conditionals to remove source fragments that we do
not need.  Write an alternative algorithm enumeration that matches
the indexing on our reduced array.

Also remove a few fragments outright.
2016-11-10 08:26:54 -05:00
Brad King
36f9f0f8a3 Drop KWStyle checks in favor of clang-format and Git hooks
We now define code layout by clang-format and enforce whitespace with
Git hooks.  There is no need to run KWStyle anymore, as all we used it
to check was line length anyway.
2016-11-08 11:40:20 -05:00
Brad King
5cb1b345d9 Merge branch 'upstream-librhash' into import-librhash
* upstream-librhash:
  librhash 2016-11-01 (d839a1a8)
2016-11-03 13:45:29 -04:00
Brad King
798b0adc62 Add script to update librhash from upstream 2016-11-03 13:45:22 -04:00
Alex Wang
68e7250a9f Features: Fix cxx_right_angle_brackets compiler feature test
The clang-format pass in commit v3.6.0-rc1~54^2~1 (Revise C++ coding
style using clang-format, 2016-05-16) changed the template right angle
brackets from `>>` to `> >`, which defeats the purpose of this test.
Change it back and exclude this content from formatting.
2016-10-25 13:38:12 -04:00
Brad King
730ba30726 Utilities/Release: Update README to reference https URL 2016-10-04 11:37:16 -04:00
Brad King
4376e47a2f Utilities/GitSetup: Fetch local hooks via https 2016-10-04 11:36:43 -04:00