Commit Graph

21668 Commits

Author SHA1 Message Date
Brad King
6338652a87 Merge topic 'ctest_memcheck_defect_count'
3a523eec ctest_memcheck: Add DEFECT_COUNT option to capture defect count
2016-11-11 10:44:13 -05:00
Kitware Robot
a21f74767c CMake Nightly Date Stamp 2016-11-11 00:01:04 -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
25a76df17f Merge topic 'autorcc-only-no-rebuild'
e4232b82 QtAutogen: Do not re-generate AUTORCC outputs on every build
2016-11-10 08:34:22 -05:00
Brad King
71180fc8aa FindLibRHash: Add module to find the librhash package
Add it to a private source directory that is not installed so that we
can use it for building CMake itself.  This will allow it to mature
before being distributed publicly.
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
5420278dc8 Port hash computation to cmCryptoHash
Avoid using KWSys MD5 or `cm_sha2` and use the `cmCryptoHash`
abstraction instead.
2016-11-10 08:29:38 -05:00
Brad King
9a596b33bb cmCryptoHash: Re-implement in terms of librhash
Offer direct construction with an enumeration of supported algorithms.
Also expose the Initialize/Append/Finalize steps publicly and add a
FinalizeHex method.
2016-11-10 08:29:37 -05:00
Brad King
47f91a6183 cmCryptoHash: Avoid using subclasses at client sites
Use only the main `cmCryptoHash` interface.
2016-11-10 08:29:37 -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
Kitware Robot
7c09bcfee8 CMake Nightly Date Stamp 2016-11-10 00:01:04 -05:00
Betsy McPhail
3a523eec78 ctest_memcheck: Add DEFECT_COUNT option to capture defect count 2016-11-09 15:34:07 -05:00
Brad King
e4232b82e6 QtAutogen: Do not re-generate AUTORCC outputs on every build
Refactoring in commit v3.6.0-rc1~134^2~10 (Autogen: Split out moc file
generation code to dedicated method, 2016-04-18) removed the
unconditional creation of the `<target>_automoc.cpp` file.  Now it is
generated only when `AUTOMOC` is enabled.  However, if this file is not
created then our internal `GenerateAll` setting is enabled on every
build, causing `AUTORCC` to re-generate its file(s) every time.  Fix the
`GenerateAll` setting to be used only for when autogen settings change.
The old logic was left from when we had only automoc.

Closes: #16413
2016-11-09 11:22:07 -05:00
Brad King
88f38a2bb4 Merge topic 'update-kwsys'
95a97a40 Merge branch 'upstream-KWSys' into update-kwsys
773b36e5 KWSys 2016-11-09 (18c65411)
2016-11-09 09:50:01 -05:00
Brad King
453df662ba Merge topic 'imported-interface-libname'
09cda9d5 Allow imported INTERFACE libraries to specify a link library name
1d1f1eeb cmTarget: Refactor GetMappedConfig to choose location property up front
479932fa cmTarget: Add comment clarifying interface library special case
925e4270 cmTarget: Clarify comments in GetMappedConfig
2016-11-09 09:49:49 -05:00
Brad King
09cda9d5e7 Allow imported INTERFACE libraries to specify a link library name
Add an `IMPORTED_LIBNAME[_<CONFIG>]` target property to specify a library
name to be placed on the link line in place of an interface library
since it has no library file of its own.  Restrict use of the property
to imported `INTERFACE` libraries.

This will be particularly useful for find modules that need to provide
imported libraries from system SDKs where the full path to the library
file is not known.  Now such find modules will be able to provide an
imported interface library and set `IMPORTED_LIBNAME` to refer to the
SDK library by name.

Issue: #15267
2016-11-09 09:45:14 -05:00
Brad King
95a97a40e4 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-11-09 (18c65411)
2016-11-09 09:23:18 -05:00
Kitware Robot
25085f41b2 CMake Nightly Date Stamp 2016-11-09 00:01:04 -05:00
Brad King
666bb0e3fa Merge topic 'include-what-you-use'
2e620f0b Fix several include-what-you-use findings
2016-11-08 09:44:40 -05:00
Brad King
4ec359bd62 Merge topic 'clang-tidy'
0cd654c8 cmGeneratorTarget: Correctly set FortranModuleDirectoryCreated
bac93dcf cmGeneratorTarget: Don't assing a bool to a string
1e994985 cmGlobalNinjaGenerator: Suppress clang-tidy warning
5ae3966d cmCTestSubmitHandler: Remove redundant c_str()
443180fb cmCPluginAPI: Fix clang-tidy findings
2016-11-08 09:44:37 -05:00
Daniel Pfeifer
2e620f0b38 Fix several include-what-you-use findings 2016-11-08 09:42:04 -05:00
Kitware Robot
48910cf096 CMake Nightly Date Stamp 2016-11-08 00:01:03 -05:00
Kitware Robot
9df1cb0fa6 CMake Nightly Date Stamp 2016-11-07 00:01:03 -05:00
Kitware Robot
d568cecf38 CMake Nightly Date Stamp 2016-11-06 00:01:05 -04:00
Daniel Pfeifer
0cd654c8e2 cmGeneratorTarget: Correctly set FortranModuleDirectoryCreated 2016-11-06 00:11:03 +01:00
Daniel Pfeifer
bac93dcf19 cmGeneratorTarget: Don't assing a bool to a string 2016-11-05 23:54:57 +01:00
Daniel Pfeifer
1e994985d8 cmGlobalNinjaGenerator: Suppress clang-tidy warning 2016-11-05 23:51:30 +01:00
Daniel Pfeifer
5ae3966d75 cmCTestSubmitHandler: Remove redundant c_str() 2016-11-05 23:46:24 +01:00
Daniel Pfeifer
443180fb99 cmCPluginAPI: Fix clang-tidy findings 2016-11-05 23:44:29 +01:00
Kitware Robot
f52bcc2ac1 CMake Nightly Date Stamp 2016-11-05 00:01:04 -04:00
Brad King
adf5f253ec CMake 3.7.0-rc3 2016-11-04 08:30:22 -04:00
Brad King
926a22b8b8 Merge topic 'vs-flag-order'
4cb5d335 VS: Place source-specific AdditionalOptions after target-wide flags
2016-11-04 08:26:09 -04:00
Kitware Robot
d6ef59f5a3 CMake Nightly Date Stamp 2016-11-04 00:01:11 -04:00
Brad King
1d1f1eeb6a cmTarget: Refactor GetMappedConfig to choose location property up front
Store the `IMPORTED_LOCATION` property name in a variable up front
to avoid duplicating the string literal.
2016-11-03 16:10:35 -04:00
Brad King
479932fa32 cmTarget: Add comment clarifying interface library special case 2016-11-03 16:02:49 -04:00
Brad King
925e4270fd cmTarget: Clarify comments in GetMappedConfig
Clarify comments explaining the availability of a target location
(file on disk) to distinguish this from the existence of the target.
2016-11-03 14:53:35 -04:00
Brad King
3dd99758d1 Merge topic 'remove-utf8-option'
baead1e2 Encoding: Remove option to use ANSI code page internally
2016-11-03 08:54:37 -04:00
Brad King
e106a6eafb Merge topic 'compile-features-for-language-standards'
9a8d758c Help: Document language standard meta-features
df252db1 Features: Test cycle diagnostic with language standard meta-feature
6d5fb0e0 Features: Test feature propagation with language standard meta-feature
a34b98a8 WCDH: Ignore language standard meta-features
b0996a3f Features: Add meta-features requesting awareness of a particular standard
8b6cc251 Features: Centralize per-compiler recording macros
2d23f7b2 Features: Do not record features on MSVC < 2010
2016-11-03 08:54:33 -04:00
Kitware Robot
ffe78961ad CMake Nightly Date Stamp 2016-11-03 00:01:04 -04:00
Brad King
4cb5d3353f VS: Place source-specific AdditionalOptions after target-wide flags
Flags specified in the `COMPILE_FLAGS` source-file property should
be placed after those in target-wide properties so that those on
individual source files can override those on the whole target.
This is already done by most generators but was not implemented
correctly for VS 2010 and above.

Closes: #16400
2016-11-02 13:11:08 -04:00
Clinton Stimpson
baead1e2a8 Encoding: Remove option to use ANSI code page internally
The switch to use UTF-8 encoding has been defaulted to on for quite some
time since commit v3.2.0-rc1~116^2 (Encoding: Switch to use UTF-8
internally by default on Windows, 2014-12-26).
2016-11-02 08:48:34 -06:00
Brad King
b0996a3fa2 Features: Add meta-features requesting awareness of a particular standard
A common use case of `target_compile_features` is simply to specify that
the compiler should be run in a mode that is aware of e.g. C++11.  Some
projects simply specify a particular C++11-only feature to request this.
Provide a first-class way to do this by naming features after the
corresponding language standard.  Record them as always available in the
corresponding standard level so that requesting them always ensures that
standard (or higher) is used.
2016-11-02 10:00:28 -04:00
Brad King
f6b93fbf3a Merge topic 'fix_compiler_arg1'
cfbf857b cmRulePlaceholderExpander: Fix CMAKE_<LANG>_COMPILER_ARG1 replacement
2016-11-02 08:35:29 -04:00
Kitware Robot
ff957bc1e1 CMake Nightly Date Stamp 2016-11-02 00:01:04 -04:00
Zack Galbreath
cfbf857b22 cmRulePlaceholderExpander: Fix CMAKE_<LANG>_COMPILER_ARG1 replacement
Refactoring in commit b29425f7 (cmLocalGenerator: Populate a container
of mappings for replacements, 2016-10-09) broke substitution of this
placeholder by storing the wrong key in the new replacement map.
Use the proper key, `CMAKE_<LANG>_COMPILER_ARG1`.
2016-11-01 10:00:24 -04:00
Brad King
505f56dc91 Merge topic 'custom-command-CROSSCOMPILING_EMULATOR'
f648b9be Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targets
e7480d67 Fix custom command target substitution with CROSSCOMPILING_EMULATOR
2016-11-01 09:14:37 -04:00
Brad King
01567fd74f Merge topic 'src-COMPILE_FLAGS-genex'
9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic
1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
2016-11-01 09:14:25 -04:00
Brad King
9c6cf7fcac Merge topic 'st2-env-vars-variable'
95805d72 Sublime: Add option to specify env vars for the .sublime-project
2016-11-01 09:14:21 -04:00
Brad King
ba28e0405e Merge topic 'clang-tidy'
5214bb35 Avoid some copies
602b78aa Remove redundant c_str() calls
c58c739d Use the empty method to check for emptiness
2016-11-01 09:14:19 -04:00
Brad King
e27716bd42 Merge topic 'ninja-windows-POST_BUILD-noop'
353f6362 Ninja: Fix POST_BUILD noop on Windows
2016-11-01 09:14:12 -04:00