Commit Graph

21157 Commits

Author SHA1 Message Date
Kitware Robot 87e76f8996 CMake Nightly Date Stamp 2016-09-03 00:01:04 -04:00
Brad King e47bb01837 Merge topic 'autogen-base32'
228f4e9b cmFilePathUuid: Use Base32 string instead of Base64 string
b481ddb3 Add cmBase32Encoder class
2016-09-02 09:22:31 -04:00
Brad King 0ba0c67ba3 Merge topic 'vs14-debug-enum-older-toolsets'
9998774f VS: Fix VS 2015 .vcxproj debug setting for v80 toolset
2016-09-02 09:22:25 -04:00
Sebastian Holtermann 228f4e9b33 cmFilePathUuid: Use Base32 string instead of Base64 string
This produces files that will not collide on a case-insensitive
filesystem.  It also avoids the need for special character
substitutions.
2016-09-02 09:19:00 -04:00
Sebastian Holtermann b481ddb3df Add cmBase32Encoder class 2016-09-02 09:18:59 -04:00
Kitware Robot cb3e091a45 CMake Nightly Date Stamp 2016-09-02 00:01:13 -04:00
Brad King 9998774f22 VS: Fix VS 2015 .vcxproj debug setting for v80 toolset
Closes: #16281
2016-09-01 14:50:04 -04:00
Brad King 06b7789d4d Merge topic 'install-directory-genex-fix'
3bd55dba install: Fix evaluation of leading generator expressions in DIRECTORY
2016-09-01 10:39:19 -04:00
Kitware Robot d5bdcee737 CMake Nightly Date Stamp 2016-09-01 00:01:03 -04:00
Yves Frederix 3bd55dba7c install: Fix evaluation of leading generator expressions in DIRECTORY
Since commit v3.5.0-rc1~58^2 (install: Allow generator expressions in
DIRECTORY, 2016-01-12) we accidentally treat leading generator
expressions as relative paths even though they may evaluate to absolute
paths.  Defer the conversion to an absolute path until after evaluation.
2016-08-31 09:33:39 -04:00
Brad King 0a2d0b126c Merge topic '16101-xcode-fix-directory-exclude-from-all'
df32e564 Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101)
2016-08-31 09:19:46 -04:00
Brad King 5b1f9cd127 Merge topic 'syntax-unexpected-eof'
1dda2ec5 Improve error message on unexpected end of file
2016-08-31 09:19:34 -04:00
Brad King 6f8b93983a Merge topic 'import-libuv'
39ac889d cmake: Add trivial usage of libuv
7cf369fe Do not build libuv on HP-UX
075cae51 Do not build libuv on SPARC
9a53af40 Do not build libuv on Cygwin
219f7411 Do not build libuv on Mac OS X 10.4 and lower
8a5beef3 Add option to build CMake against a system libuv
e56aa462 FindLibUV: Add module to find libuv package
551d5aed libuv: Fix unused variable warning in uv_loop_close
f4f8074b libuv: Avoid including macOS CoreServices header globally
a63aaaed libuv: Always include our own header first
9130b53a libuv: Conditionally declare Windows APIs for VS 2008 and below
b52afa46 libuv: Fix anonymous union syntax
05dbc204 libuv: Fix Windows API function typedef syntax
75139374 libuv: Install LICENSE file with CMake documentation
95dcc4e4 libuv: Disable warnings to avoid changing 3rd party code
13b7e758 libuv: Build the library within CMake
...
2016-08-31 09:19:31 -04:00
Gregor Jasny df32e564ae Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101) 2016-08-31 09:16:44 -04:00
Brad King 39ac889d63 cmake: Add trivial usage of libuv
This will serve to make sure cmake actually compiles and links against
libuv.
2016-08-31 09:09:23 -04:00
Brad King e56aa46297 FindLibUV: Add module to find libuv 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-08-31 09:05:14 -04:00
Brad King 13b7e7587d libuv: Build the library within CMake
Take logic from upstream `Makefile.am` and `configure.ac` to build libuv
sources.

Update `uv.h` to include KWSys Large File Support configuration so that
consistent stream libraries are used (on AIX with XL).

Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h`
header from CMake sources.
2016-08-31 09:02:19 -04:00
Kitware Robot 9bbf1dc06e CMake Nightly Date Stamp 2016-08-31 00:01:04 -04:00
Brad King 1dda2ec55a Improve error message on unexpected end of file
Suggested-by: Stephen Kelly <steveire@gmail.com>
2016-08-30 13:53:15 -04:00
Brad King e3a4c2e02c Merge topic 'cleanup-Convert'
4332131d Convert: Make variables a bit more clear
5aca066c Convert: Remove UNCHANGED enum value
146bf926 Convert: Remove 'FULL' conversion
58ba87f8 Convert: Replace Convert(FULL) with equivalent
e80314d7 Ninja: Replace ternary with if()
563ac22a Convert: Replace trivial conversion with new method
08be47cf Convert: Replace UNCHANGED conversions with new API call
564d3a1d Convert: Extract ConvertToRelativePath from Convert()
95a659f1 Convert: Replace FULL conversions with equivalent
a8c7ccb1 VS: Replace FULL/UNCHANGED conversion with equivalent
5ad25ef4 Convert: Remove NONE conversion
ac463841 Convert: Replace uses of Convert(NONE)
998d9ee9 VS: Replace variable with an if()
ee49f006 Makefiles: Replace ternaries with if()s
51f7dcb0 Makefiles: Inline MakeLauncher into only caller
ba4ba7c3 Makefiles: Simplify MakeLauncher return value
...
2016-08-30 09:29:53 -04:00
Brad King ef58e97362 Merge topic 'vs-NsightTegra-empty-version'
1f4aeb17 VS: Fix out-of-bounds write on empty Nsight Tegra version
2016-08-30 09:29:49 -04:00
Brad King 388a40942b Merge topic 'code-blocks-include-order'
38995d19 CodeBlocks: List C++ includes first
2016-08-30 09:29:43 -04:00
Brad King 918cb5b1f0 Merge topic 'ninja-add_custom_command-depfile'
048d1adb add_custom_command: Add DEPFILE option for Ninja
2016-08-30 09:29:40 -04:00
Kulla Christoph 048d1adb4e add_custom_command: Add DEPFILE option for Ninja
Provide a way for custom commands to inform the ninja build tool about
their implicit dependencies.  For now simply make use of the option an
error on other generators.

Closes: #15479
2016-08-30 09:05:18 -04:00
Kitware Robot 57d121fbb1 CMake Nightly Date Stamp 2016-08-30 00:01:05 -04:00
Kitware Robot b38aa00033 CMake Nightly Date Stamp 2016-08-29 00:01:04 -04:00
Kitware Robot 4ce52abc03 CMake Nightly Date Stamp 2016-08-28 00:01:07 -04:00
Stephen Kelly 4332131dcc Convert: Make variables a bit more clear 2016-08-27 15:41:18 +02:00
Stephen Kelly 5aca066c5b Convert: Remove UNCHANGED enum value
It is no longer used.
2016-08-27 15:41:17 +02:00
Stephen Kelly 146bf9267c Convert: Remove 'FULL' conversion
It is no longer used.
2016-08-27 15:41:17 +02:00
Stephen Kelly 58ba87f892 Convert: Replace Convert(FULL) with equivalent
This is more explicit than funnelling everything through the Convert
method.
2016-08-27 15:41:17 +02:00
Stephen Kelly e80314d7a8 Ninja: Replace ternary with if()
On principle of segregating the interface.
2016-08-27 15:26:38 +02:00
Stephen Kelly 563ac22a16 Convert: Replace trivial conversion with new method 2016-08-27 15:26:37 +02:00
Stephen Kelly 08be47cf93 Convert: Replace UNCHANGED conversions with new API call 2016-08-27 15:26:37 +02:00
Stephen Kelly 564d3a1dc8 Convert: Extract ConvertToRelativePath from Convert()
Convert() does some kind of relative conversion, followed by a
conversion to 'output format'.

Make it possible to do the former without the latter.
2016-08-27 15:26:37 +02:00
Stephen Kelly 95a659f180 Convert: Replace FULL conversions with equivalent 2016-08-27 15:26:37 +02:00
Stephen Kelly a8c7ccb183 VS: Replace FULL/UNCHANGED conversion with equivalent 2016-08-27 15:26:37 +02:00
Stephen Kelly 5ad25ef4b6 Convert: Remove NONE conversion
It is no longer used.
2016-08-27 15:26:37 +02:00
Stephen Kelly ac46384171 Convert: Replace uses of Convert(NONE)
These are equivalent to ConvertToOutputFormat.
2016-08-27 15:26:36 +02:00
Stephen Kelly 998d9ee967 VS: Replace variable with an if() 2016-08-27 15:21:24 +02:00
Stephen Kelly ee49f006cf Makefiles: Replace ternaries with if()s 2016-08-27 15:21:24 +02:00
Stephen Kelly 51f7dcb0a5 Makefiles: Inline MakeLauncher into only caller 2016-08-27 15:21:24 +02:00
Stephen Kelly ba4ba7c39d Makefiles: Simplify MakeLauncher return value
Bonus NRVO.
2016-08-27 15:21:24 +02:00
Stephen Kelly e804d410cd Makefiles: Invert logic in MakeLauncher
Make it easier to inline into the caller.
2016-08-27 15:21:23 +02:00
Stephen Kelly 2722c4dcc5 Makefiles: Remove useless use of Convert
Convert with NONE and UNCHANGED is a no-op.
2016-08-27 15:21:14 +02:00
Stephen Kelly 112c87b28a Makefiles: Replace method with Wacom specific API
The existing method uses RelativeRoot NONE and FULL values.  In
principle, those should be segregated interfaces.  Mixing
NONE and FULL into the RelativeRoot enum is a case of

 http://thedailywtf.com/articles/What_Is_Truth_0x3f_
2016-08-27 15:16:50 +02:00
Stephen Kelly cd351ef2c4 Makefiles: Deduplicate variable 2016-08-27 13:44:53 +02:00
Stephen Kelly fbd8394867 Convert: Remove obsolete GetRelativeRootPath 2016-08-27 13:44:53 +02:00
Stephen Kelly c341f4679a Makefiles: Change AppendCustomCommand API to strings
Avoid the RelativeRoot enum.  Supply the HOME_OUTPUT string at each
callsite to make the parameter non-defaulted.
2016-08-27 13:44:53 +02:00
Stephen Kelly 6960516b6b Makefiles: Change signature of AppendCustomCommand
The RelativeRoot parameter will become non-default.
2016-08-27 13:44:52 +02:00
Stephen Kelly e0fd2d0446 Makefiles: Port CreateCDCommand to string-based API 2016-08-27 13:44:52 +02:00
Stephen Kelly ad70a236f4 Convert: Remove ConvertToOutputForExisting overload
It is no longer used.
2016-08-27 13:44:52 +02:00
Stephen Kelly e3ca17e13b Makefiles: Use string overload of ConvertToOutputForExisting
The string is already determined so, no need to call the overload to
determine it again.
2016-08-27 13:44:52 +02:00
Stephen Kelly 0bbdbd95c9 Makefiles: Rename local variable
In this context, 'ret' means 'return', but I don't really know what that
means.  It is not consistent with types and other variables used in the
vicinity for these things.
2016-08-27 13:44:52 +02:00
Stephen Kelly 9440d5776b Convert: Remove unused overload 2016-08-27 13:44:51 +02:00
Kitware Robot 897346032b CMake Nightly Date Stamp 2016-08-27 00:01:05 -04:00
Fujii Hironori 1f4aeb1739 VS: Fix out-of-bounds write on empty Nsight Tegra version
In cmVisualStudio10TargetGenerator::cmVisualStudio10TargetGenerator,
wrote 0 to this->NsightTegraVersion[-1] if sscanf returns -1 which is
the case of GetNsightTegraVersion is empty.
2016-08-26 10:01:39 -04:00
Kevin Ottens 38995d19b8 CodeBlocks: List C++ includes first
When using the Clang Code Model in QtCreator, it turned out that having
the C system include dirs can make it report false positives for most
uses of the STL. This is due to the order the Clang Code Model looks at
the include directories and some C includes in /usr/include could be
incompatible with the used STL if found first.
2016-08-26 09:55:30 -04:00
Brad King da7111e1a3 Merge topic 'vs-resource-pri-dir'
f325ae18 VS: Use target-specific directory for `resources.pri`
2016-08-26 09:45:28 -04:00
Kitware Robot ff88df48e8 CMake Nightly Date Stamp 2016-08-26 00:01:04 -04:00
Brad King 98caa14cc8 Merge topic 'include-what-you-use'
38491644 CTest: fix include-what-you-use violations
2016-08-25 09:50:45 -04:00
Brad King a79abb82fe Merge topic 'extract-cmMessenger'
1462576b Parser: Port away from cmMakefile
421012a3 cmMessenger: Extract from cmake class
14a8d61f cmMakefile: Port nested error logic away from cmExecutionStatus
2af853de cmMakefile: Simplify IssueMessage implementation
33bb9cfa Parser: Issue messages through cmake, not cmSystemTools
db7de303 Parser: Store the Backtrace for use in issuing messages
2016-08-25 09:50:39 -04:00
Brad King ce8fadc717 Merge topic 'intel-fortran-mod-diff'
f699323a Fortran: Fix .mod file comparison for Intel 16 format
2016-08-25 09:50:35 -04:00
Brad King d8b70f62cb Merge topic 'update-kwsys'
7bc6dccc Merge branch 'upstream-KWSys' into update-kwsys
fcc53247 KWSys 2016-08-24 (8e643b9b)
2016-08-25 09:50:19 -04:00
Stephen Kelly 1462576bcb Parser: Port away from cmMakefile
It is an unneeded dependency.
2016-08-25 09:47:27 -04:00
Stephen Kelly 421012a330 cmMessenger: Extract from cmake class
This way messages can be issued independent of the cmake instance.

It is now possible to make DisplayMessage a virtual interface and
override it to handle messages in the cmake-gui or future IDE
interaction interfaces.
2016-08-25 09:47:27 -04:00
Stephen Kelly 14a8d61fd4 cmMakefile: Port nested error logic away from cmExecutionStatus
It is no longer needed.
2016-08-25 09:47:26 -04:00
Stephen Kelly 2af853deb5 cmMakefile: Simplify IssueMessage implementation
It is only called during configure time when the execution stack is
non-empty.
2016-08-25 09:47:26 -04:00
Stephen Kelly 33bb9cfa36 Parser: Issue messages through cmake, not cmSystemTools
Make these messages uniform with regard to other messages issued by
cmake.
2016-08-25 09:47:26 -04:00
Daniel Pfeifer 3849164454 CTest: fix include-what-you-use violations 2016-08-25 09:34:37 -04:00
Brad King f325ae186d VS: Use target-specific directory for `resources.pri`
Set the `ProjectPriFullPath` field to a value that is unique to each
target and not shared with others in order to avoid collisions.

Closes: #16106
2016-08-25 09:17:17 -04:00
Kitware Robot d6734eeb87 CMake Nightly Date Stamp 2016-08-25 00:01:04 -04:00
Stephen Kelly db7de303c2 Parser: Store the Backtrace for use in issuing messages 2016-08-24 19:19:37 +02:00
Brad King f699323ade Fortran: Fix .mod file comparison for Intel 16 format
The Intel 16 format starts with the 0x0A 0x00 sequence that we use to
skip past the timestamp.  This occurrence appears to be a version
number.  Skip the first byte to avoid matching the sequence early.

Ideally we should gain a better understanding of the format and avoid
depending on short sequences that are likely to appear early by
coincidence, but this approach will suffice for now.

Closes: #16263
2016-08-24 11:55:29 -04:00
Brad King 7bc6dccc0a Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-08-24 (8e643b9b)
2016-08-24 10:55:19 -04:00
Brad King ccddb454b8 Merge topic 'extend-find-package-search-path'
828d6c13 find_package: Extend search path for combined Windows/UNIX convention
ff5c89de Help: Widen find_package search path table
2016-08-24 09:45:47 -04:00
Brad King 4a2a66e31c Merge topic 'include-what-you-use'
5cbb5488 fix a batch of include-what-you-use violations
2016-08-24 09:45:44 -04:00
Brad King 2986ca5ecc Merge topic 'version-cleanups'
aec06dd4 Version: Always define CMake_VERSION_IS_DIRTY to 0 or 1
ef13efab Version: Remove check for existence of CVS repository
2016-08-24 09:45:33 -04:00
Silvio Traversaro 828d6c137d find_package: Extend search path for combined Windows/UNIX convention
Find packages that install their cmake package configuration files in
`lib/cmake/<name>` when they are installed in the default Windows
CMAKE_INSTALL_PREFIX, `C:/Program Files/<name>`.

Closes: #16212
2016-08-24 09:40:25 -04:00
Kitware Robot 00a583ac68 CMake Nightly Date Stamp 2016-08-24 00:01:04 -04:00
Daniel Pfeifer 5cbb548807 fix a batch of include-what-you-use violations 2016-08-24 00:29:15 +02:00
Brad King aec06dd492 Version: Always define CMake_VERSION_IS_DIRTY to 0 or 1
In cmVersionConfig.h we must define this macro with a value because
clients expect it to have one.  Also ensure that all CMakeLists.txt
code paths have an initialized value.

Reported-by: Stephen Kelly <steveire@gmail.com>
2016-08-23 09:11:57 -04:00
Stephen Kelly ef13efab56 Version: Remove check for existence of CVS repository 2016-08-23 09:11:57 -04:00
Brad King 797f7ad87d Merge topic 'else-after-return'
7b6349da CMake: don't use else after return
50ad1e0a CTest: don't use else after return
7f97a6c9 CPack: don't use else after return
4988b914 CursesDialog: don't use else after return
2016-08-23 09:00:00 -04:00
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
Daniel Pfeifer 7b6349da4d CMake: don't use else after return 2016-08-18 20:36:29 +02:00
Daniel Pfeifer 50ad1e0a14 CTest: don't use else after return 2016-08-18 20:04:21 +02:00
Daniel Pfeifer 7f97a6c94b CPack: don't use else after return 2016-08-18 19:47:32 +02:00
Daniel Pfeifer 4988b914e1 CursesDialog: don't use else after return 2016-08-18 19:39:54 +02: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
Brad King a8c819659b Merge topic 'ninja-full-path'
955c2a63 Ninja: Use full path for all source files
2016-08-09 09:20:15 -04:00
Brad King 892ffe4ebd Merge topic 'wix-custom-install-dir'
17bbf6af CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER feature
2016-08-09 09:20:13 -04:00
Kitware Robot 982b4cd602 CMake Nightly Date Stamp 2016-08-09 00:01:04 -04:00
Chaoren Lin 955c2a630a Ninja: Use full path for all source files
This is consistent with the behavior of the Makefile generators.
Relative paths are difficult for an IDE to parse the output of a build
error.
2016-08-08 13:55:29 -04:00
Brad King 702a548992 Merge topic 'vs14-debug-enum-older-toolsets'
038e3a4f cmVisualStudio10TargetGenerator: Run clang-format
2016-08-08 10:02:03 -04:00
Michael Stürmer 17bbf6af1e CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER feature
The new variable allows setting of a custom absolute installation prefix
outside of the ProgramFiles folders.
2016-08-08 13:42:23 +02:00
Kitware Robot 5a62e0c172 CMake Nightly Date Stamp 2016-08-08 00:01:04 -04:00
Kitware Robot 5a8b67b3de CMake Nightly Date Stamp 2016-08-07 00:01:03 -04:00
Kitware Robot 6da5fb8379 CMake Nightly Date Stamp 2016-08-06 00:01:04 -04:00
Brad King 926886a41c VS: Fix VS 2015 .vcxproj debug setting for Windows7.1SDK toolset
Closes: #16213
2016-08-05 15:21:23 -04:00
Brad King 038e3a4f71 cmVisualStudio10TargetGenerator: Run clang-format 2016-08-05 15:20:20 -04:00
Brad King 93b705a396 Merge topic 'ninja-clang-rsp-format'
e555480c Ninja: Fix response file format for GNU-like Clang on Windows
2016-08-05 08:50:29 -04:00
Brad King baa6032169 Merge topic 'update-kwsys'
8abca140 Merge branch 'upstream-KWSys' into update-kwsys
6c0820a8 KWSys 2016-08-03 (6d23dd7e)
2016-08-05 08:50:25 -04:00
Brad King b06118f8f1 Merge topic 'vs14-debug-enum-older-toolsets'
4ada475e VS: Fix VS 2015 .vcxproj debug setting for Windows7.1SDK toolset
2016-08-05 08:50:20 -04:00
Kitware Robot 9bc62024ac CMake Nightly Date Stamp 2016-08-05 00:01:09 -04:00
Brad King 4ada475ef5 VS: Fix VS 2015 .vcxproj debug setting for Windows7.1SDK toolset
Closes: #16213
2016-08-04 11:40:09 -04:00
Brad King 8abca14034 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-08-03 (6d23dd7e)
2016-08-04 10:11:07 -04:00
Brad King 2df3719d2c Merge topic 'extra-generator-factories'
cd52a225 Report more information about extra generators in generator factories
a354f60c Refactor extra generator registration to use factories
2016-08-04 09:56:47 -04:00
Brad King ac7c12eced Merge topic 'update-kwsys'
b602cb85 Merge branch 'upstream-KWSys' into update-kwsys
3e6ec47c KWSys 2016-08-02 (3f55579d)
2016-08-04 09:56:44 -04:00
Brad King e555480c60 Ninja: Fix response file format for GNU-like Clang on Windows
The `CMAKE_<LANG>_SIMULATE_ID` variables are not set to "GNU" for a
GNU-like Clang compiler on Windows.  They are only set to "MSVC" for a
MSVC-like Clang.  Revise our response file format selection accordingly.

Reported-by: Chaoren Lin <chaorenl@google.com>
2016-08-04 09:44:56 -04:00
Kitware Robot 2c0e87fff3 CMake Nightly Date Stamp 2016-08-04 00:01:06 -04:00
Brad King b602cb85c9 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-08-02 (3f55579d)
2016-08-03 10:10:28 -04:00
Tobias Hunger cd52a225d2 Report more information about extra generators in generator factories 2016-08-03 09:44:40 -04:00
Tobias Hunger a354f60ce0 Refactor extra generator registration to use factories
This will allow additional information about the availability
and capabilities of extra generators to be queried without
actually creating them.

Instead of a static NewFactory() method like the main generator
factories have, use a static GetFactory() method to get a pointer to a
statically allocated extra generator factory.  This simplifies memory
management.
2016-08-03 09:43:00 -04:00
Brad King 382c4fca6b Merge topic 'ccmake-vim-navigation'
e34e9c27 ccmake: Add VIM-like bindings for navigation
9a1b6c60 ccmake: Revise documentation for [d]
31b6cf41 ccmake: Fix typo in help (it's -> its)
2016-08-03 09:20:59 -04:00
Brad King ec807f6edf Merge topic 'port-to-sco'
56539d89 SCO_SV: Enable so filename versioning
16a3a735 cmELF: Port to SCO OpenServer 5.0.7/3.2
2016-08-03 09:20:47 -04:00
Brad King f8792c12b9 Merge topic 'update-kwsys'
35995fa6 Merge branch 'upstream-KWSys' into update-kwsys
6bc3073e KWSys 2016-08-01 (560bcdbb)
2016-08-03 09:20:41 -04:00
Brad King 7b65e49529 Merge topic 'wix-root-description'
e29bfbf2 CPackWIX: Support custom title and description for the root feature
2016-08-03 09:20:38 -04:00
Kitware Robot 33fe4751e8 CMake Nightly Date Stamp 2016-08-03 00:01:04 -04:00
Paul Seyfert e34e9c2705 ccmake: Add VIM-like bindings for navigation
* scroll with j/k
* toggle bool with space, enter insert mode with i
* bindings not shown at the bottom of the screen, but given in help
2016-08-02 14:53:15 -04:00
Paul Seyfert 9a1b6c6037 ccmake: Revise documentation for [d]
* list it at the bottom of the screen
* different place in help message
2016-08-02 14:53:15 -04:00
Paul Seyfert 31b6cf41c5 ccmake: Fix typo in help (it's -> its) 2016-08-02 14:53:06 -04:00
Patrick Welche 16a3a73508 cmELF: Port to SCO OpenServer 5.0.7/3.2
Take changes used by pkgsrc [1]:

* SCO OpenServer 5.0.7/3.2 does not support 64-bit ELF.

[1] http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/cmake/patches/
2016-08-02 10:04:31 -04:00
Brad King 35995fa6b5 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-08-01 (560bcdbb)
2016-08-02 09:21:52 -04:00
Michael Stürmer e29bfbf272 CPackWIX: Support custom title and description for the root feature
These can now be specified through the WIX generator specific
CPack variables CPACK_WIX_ROOT_FEATURE_TITLE and
CPACK_WIX_ROOT_FEATURE_DESCRIPTION.
2016-08-02 14:05:08 +02:00
Kitware Robot 55d9bfa9dd CMake Nightly Date Stamp 2016-08-02 00:01:04 -04:00
Brad King 5ec03c93fc Merge topic 'wix-disabled-components'
ad453f05 CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLED
6f108f84 CPackComponent: Document the *_HIDDEN and *_DISABLED variables
2016-08-01 14:59:53 -04:00
Brad King bfac78d074 Merge topic 'more-virtual-override'
624b7215 Source/CPack: Add CM_OVERRIDE on MacOS cmCPackGenerator overrides
2016-08-01 14:59:47 -04:00
Brad King 2711c35a8d Merge topic 'app-framework-bundle-extension'
f951d0ad Add tests for BUNDLE_EXTENSION
c63380b1 Update documentation about bundle extensions
134d5c1f Honor BUNDLE_EXTENSION also for Frameworks (#14742)
2b909c08 Honor BUNDLE_EXTENSION also for App Bundles (#16148)
2016-08-01 14:59:44 -04:00
Brad King 8427b8e11c Merge topic 'aliased-target-properties'
ea647533 Do not report ALIASED_TARGET as always set (#15783)
2016-08-01 14:59:41 -04:00
Kitware Robot 8b9cd61337 CMake Nightly Date Stamp 2016-08-01 00:01:03 -04:00
Kitware Robot 963c4e4b90 CMake Nightly Date Stamp 2016-07-31 00:01:03 -04:00
Kitware Robot 99f5a32c7a CMake Nightly Date Stamp 2016-07-30 00:01:02 -04:00
Kitware Robot db713223a8 CMake Nightly Date Stamp 2016-07-29 00:01:03 -04:00
Kitware Robot 09a86b392e CMake Nightly Date Stamp 2016-07-28 00:01:04 -04:00
Kitware Robot 73c618be70 CMake Nightly Date Stamp 2016-07-27 00:01:03 -04:00
Kitware Robot 8f884f2146 CMake Nightly Date Stamp 2016-07-26 00:01:02 -04:00
Kitware Robot 3d57541d6d CMake Nightly Date Stamp 2016-07-25 00:01:07 -04:00
Kitware Robot ffc7c24b2e CMake Nightly Date Stamp 2016-07-24 00:01:03 -04:00
Kitware Robot d615d20a63 CMake Nightly Date Stamp 2016-07-23 00:01:04 -04:00
Brad King 624b72159b Source/CPack: Add CM_OVERRIDE on MacOS cmCPackGenerator overrides 2016-07-22 10:42:37 -04:00
Brad King f59513140b CMake 3.6.1 2016-07-22 09:26:11 -04:00
Brad King 1fc340f0d4 Merge topic 'windows-export-all-fix-objlib'
13a6ff31 VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries
2016-07-22 09:17:48 -04:00
Brad King 4c61e40cc5 Merge topic 'vs-default-v100'
059c230d VS: Explicitly default to v100 toolset in Visual Studio 2010
2016-07-22 09:17:36 -04:00
Brad King 19ccd35473 Merge topic 'revert-autogen-subdirs'
5e55d87b Autogen: Revert changes to generate moc/rcc in subdirectories
2016-07-22 09:17:28 -04:00
Michael Stürmer ad453f0502 CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLED
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2016-07-22 08:49:29 +02:00
Gregor Jasny 134d5c1f7c Honor BUNDLE_EXTENSION also for Frameworks (#14742) 2016-07-21 23:16:50 -07:00
Gregor Jasny 2b909c08f5 Honor BUNDLE_EXTENSION also for App Bundles (#16148) 2016-07-21 23:16:50 -07:00
Kitware Robot 7bfbcc75a3 CMake Nightly Date Stamp 2016-07-22 00:01:03 -04:00
Brad King dbc0ec1648 Merge topic 'makefile-response-files'
c7a7c655 Makefile: Avoid link line object list lengths nearing system limits
34ba5c53 Makefile: Factor out response file checks into common helper
2016-07-21 11:27:31 -04:00
Benjamin Ballet 059c230d89 VS: Explicitly default to v100 toolset in Visual Studio 2010
Otherwise `CMAKE_VS_PLATFORM_TOOLSET` is not set even though the `v100`
toolset is chosen.
2016-07-21 11:13:16 -04:00
Brad King 13a6ff31be VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries
Teach Visual Studio generators to include object files from object
libraries in the list of objects whose symbols are to be exported.
The Makefile and Ninja generators already did this.  Update the
test to cover this case.

Reported-by: Bertrand Bellenot <Bertrand.Bellenot@cern.ch>
2016-07-21 11:05:22 -04:00