Commit Graph

20913 Commits

Author SHA1 Message Date
Brad King 762131fe8d Merge topic 'include-what-you-use'
f29d1847 fix a batch of include-what-you-use violations
373b2e48 cmArchiveWrite: replace mode_t with int
2016-08-23 08:59:57 -04:00
Brad King d15a502f8e Merge topic 'minor-cleanups'
27591a54 Define WIN32_LEAN_AND_MEAN for CMake sources on Windows
481c9003 libarchive: Fix include order in xxhash.c
2016-08-23 08:59:54 -04:00
Daniel Pfeifer f29d184773 fix a batch of include-what-you-use violations 2016-08-23 08:56:59 -04:00
Kitware Robot 68b51a57e5 CMake Nightly Date Stamp 2016-08-23 00:01:05 -04:00
Kitware Robot 74ee03a262 CMake Nightly Date Stamp 2016-08-22 00:01:03 -04:00
Kitware Robot 020c3e409d CMake Nightly Date Stamp 2016-08-21 00:01:04 -04:00
Kitware Robot 8142698e7a CMake Nightly Date Stamp 2016-08-20 00:01:03 -04:00
Kitware Robot 03d0e6b9bb CMake Nightly Date Stamp 2016-08-19 00:01:05 -04:00
Kitware Robot 11e0ceaeab CMake Nightly Date Stamp 2016-08-18 00:01:04 -04:00
Daniel Pfeifer 373b2e483d cmArchiveWrite: replace mode_t with int
Rationale:

* mode_t is not defined on all platforms
* bitmasking (operator &) promotes the value to an int anyway
* libarchive uses int in the public api starting with version 4
2016-08-17 23:52:34 +02:00
Brad King 27591a541c Define WIN32_LEAN_AND_MEAN for CMake sources on Windows
This reduces APIs included by `windows.h`.  We can include the headers
for those APIs as needed.
2016-08-17 10:48:28 -04:00
Brad King 67a7dcef45 Merge topic 'readability-named-parameter'
e7b842e1 Make sure unnused parameters are /*named*/
2016-08-17 10:46:35 -04:00
Brad King 29593b79a2 Merge topic 'include-what-you-use'
a2af850b fix a batch of include-what-you-use violations
2016-08-17 10:46:32 -04:00
Brad King 5d1690725b Merge topic 'cmake-capabilities'
49ad7f9a cmake: Add `cmake -E capabilities` mode
1d408dc1 cmake: Constify cmake::GetRegisteredGenerators
2016-08-17 10:46:26 -04:00
Brad King 76ff725ae7 Merge topic 'cmake-developer-reference'
ea51b71a QtIFW: Developer Reference installation
c18dc6fb Added CMake_BUILD_DEVELOPER_REFERENCE option
2016-08-17 10:46:23 -04:00
Kitware Robot 65120d180b CMake Nightly Date Stamp 2016-08-17 00:01:04 -04:00
Daniel Pfeifer e7b842e189 Make sure unnused parameters are /*named*/ 2016-08-17 01:49:57 +02:00
Daniel Pfeifer a2af850ba6 fix a batch of include-what-you-use violations 2016-08-17 01:08:13 +02:00
Tobias Hunger 49ad7f9af8 cmake: Add `cmake -E capabilities` mode
Add `cmake -E capabilities` to report on generators, cmake version and
possibly other static capabilities of cmake.

Closes: #15462
2016-08-16 13:45:05 -04:00
Brad King 1d408dc10f cmake: Constify cmake::GetRegisteredGenerators 2016-08-16 13:40:06 -04:00
Brad King 447b142b6a Merge topic 'issue-tracker-urls'
2bdba83e issues: update references to the CMake issue tracker
2016-08-16 13:26:15 -04:00
Konstantin Podsvirov ea51b71a4f QtIFW: Developer Reference installation 2016-08-16 19:02:35 +03:00
Konstantin Podsvirov c18dc6fbe5 Added CMake_BUILD_DEVELOPER_REFERENCE option
By default is OFF and marked as advanced.

It's also add custom cmake-developer-reference (ALL) target

Generated output will be installed to ${CMAKE_DOC_DIR}/developer-reference.
2016-08-16 19:02:35 +03:00
Kitware Robot 6b07972fbd CMake Nightly Date Stamp 2016-08-16 00:01:09 -04:00
Ben Boeckel 2bdba83e4b issues: update references to the CMake issue tracker
References to specific comments are left as-is since comments were not
migrated.
2016-08-15 09:34:06 -04:00
Brad King 33d4aff50d Merge topic 'autogen-same-name'
61a607e8 Help: Document AUTORCC behavior for same .qrc name case
e4f508e4 Tests/QtAutogen: Test same moc/qrc source names in different directories
4e9b97d7 QtAutogen: Allow multiple qrc files with the same name
41c9e14a QtAutogen: Allow multiple moc files with the same name
3c3b37b0 QtAutogen: Use std:: instead of ::std::
0a5dd3c7 cmFilePathUuid: Add class to generate deterministic unique file names
2016-08-15 08:59:46 -04:00
Kitware Robot 272a2bf19d CMake Nightly Date Stamp 2016-08-15 00:01:03 -04:00
Kitware Robot 5726af681a CMake Nightly Date Stamp 2016-08-14 00:01:03 -04:00
Kitware Robot 77c171a37c CMake Nightly Date Stamp 2016-08-13 00:01:04 -04:00
Kitware Robot f99df80794 CMake Nightly Date Stamp 2016-08-12 00:01:04 -04:00
Brad King f203694bb8 Merge topic 'cmCryptoHash-raw-digest'
3a5f609c cmCryptoHash: New ByteHash methods that return a byte vector
f582dba6 cmCryptoHash: Return byte vector from internal Finalize method
74f0d4ab cmCryptoHash: New byte hash to string function
94c29976 cmCryptoHash: Documentation comments
2016-08-11 13:48:37 -04:00
Kitware Robot 3c4d2e84d2 CMake Nightly Date Stamp 2016-08-11 00:01:04 -04:00
Sebastian Holtermann 4e9b97d739 QtAutogen: Allow multiple qrc files with the same name
Use cmFilePathUuid for qrc files.
2016-08-10 13:21:33 -04:00
Sebastian Holtermann 41c9e14afb QtAutogen: Allow multiple moc files with the same name
Use cmFilePathUuid for moc files.

Closes: #12873
2016-08-10 13:21:33 -04:00
Sebastian Holtermann 3c3b37b0bb QtAutogen: Use std:: instead of ::std:: 2016-08-10 13:21:33 -04:00
Sebastian Holtermann 0a5dd3c700 cmFilePathUuid: Add class to generate deterministic unique file names
The class generates a semi-unique (checksum based) pathless file name
from a full source file path.
2016-08-10 13:21:33 -04:00
Sebastian Holtermann 3a5f609cbb cmCryptoHash: New ByteHash methods that return a byte vector 2016-08-10 13:21:32 -04:00
Sebastian Holtermann f582dba666 cmCryptoHash: Return byte vector from internal Finalize method
Some callers may want the raw byte vector instead of the hex character
string.  Convert the internal implementation to use this so that we
can later add public APIs to get it.
2016-08-10 13:21:32 -04:00
Sebastian Holtermann 74f0d4abcd cmCryptoHash: New byte hash to string function 2016-08-10 13:09:55 -04:00
Sebastian Holtermann 94c29976d0 cmCryptoHash: Documentation comments 2016-08-10 13:09:54 -04:00
Brad King 50ada755e3 Merge topic '15687-xcode-support-system-include'
93ac2a78 Xcode: Obey SYSTEM keyword for includes (#15687)
2016-08-10 11:16:01 -04:00
Brad King e01c576338 Merge topic 'ninja-directory-targets'
02789894 Ninja: Add `$subdir/{test,install,package}` targets
a88c99f1 Ninja: Simplify computation of GLOBAL_TARGET outputs
2016-08-10 11:15:55 -04:00
Brad King f4cec30b53 Merge topic 'install-export-staging-dir'
c7a319ab install(EXPORT): Fix support for mid-length install destinations on Windows
2016-08-10 11:15:50 -04:00
Brad King 4887640b7a Merge topic 'add-extra-boolean-comparisons'
02d177c9 Add additional <= and >= comparison operators
2016-08-10 11:15:47 -04:00
Kitware Robot 5aabfec930 CMake Nightly Date Stamp 2016-08-10 00:01:04 -04:00
Brad King 0278989405 Ninja: Add `$subdir/{test,install,package}` targets
With the Makefile generator one can use `cd $subdir; make install` to build and
install targets associated with a given subdirectory.  This is not possible to
do with the Ninja generator since there is only one `build.ninja` file at the
top of the build tree.  However, we can approximate it by allowing one to run
`ninja $subdir/install` at the top of the tree to build the targets in the
corresponding subdirectory and install them.

This also makes sense for `test`, `package`, and other GLOBAL_TARGET targets.
It was already done for `all` by commit v3.6.0-rc1~240^2~2 (Ninja: Add
`$subdir/all` targets, 2016-03-11).
2016-08-09 15:15:24 -04:00
Brad King a88c99f1bc Ninja: Simplify computation of GLOBAL_TARGET outputs
In cmGlobalNinjaGenerator::AppendTargetOutputs we previously
handled GLOBAL_TARGET outputs specially in order to avoid adding
directory components to the output.  However, this is not necessary
because cmNinjaTargetGenerator::New already filters out copies of
these targets that are not at the top level.  Instead we can simply
follow the same output computation code path as UTILITY targets.
2016-08-09 14:36:04 -04:00
Gregor Jasny 93ac2a78d5 Xcode: Obey SYSTEM keyword for includes (#15687)
CMake used to put all header search paths into HEADER_SEARCH_PATHS
attribute. Unfortunately this attribute does not support to declare
a search path as a system include.

As a hack one could add a -isystem /path to the cflags but then include
ordering is not deterministic. A better approach was chosen with this
patch by not filling HEADER_SEARCH_PATHS at all and to populate
the C, C++, and Fortran flags directly. The include paths used by
Xcode should be now identical to the ones used by Unix Makefiles and
Ninja generator.
2016-08-09 20:30:07 +02:00
Brad King c7a319ab05 install(EXPORT): Fix support for mid-length install destinations on Windows
The implementation of `install(EXPORT)` generates files into a staging
directory for later installation.  We use the full install destination
in the path to the staging directory to avoid collisions.  In order to
avoid exceeding maximum path lengths (especially on Windows) we compute
a hash of the install destination when it is too long.  Fix this logic
to account for the length of the file name(s) when deciding whether to
switch to the hashed name.

Reported-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
2016-08-09 10:09:52 -04:00
Chuck Atkins 02d177c9cc Add additional <= and >= comparison operators
This adds the LESS_EQUAL, GREATER_EQUAL, and associated STR and VERSION
equivalents to use the combined <= and >= functionality.
2016-08-09 09:30:34 -04:00