Commit Graph

21058 Commits

Author SHA1 Message Date
Daniel Pfeifer 3838a0d5fb make sure to include cmConfigure.h before cmStandardIncludes.h 2016-09-03 08:04:22 -04:00
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