Commit Graph
28539 Commits
Author SHA1 Message Date
Brad King faf3d7d224 VS: Add workaround for CUDA compiler PDB location with space
CUDA Toolkit Visual Studio Integration for version 9.2 and above does
honor the `ClCompile.ProgramDataBaseFileName` field when telling `nvcc`
how to invoke `cl`.  Unfortunately it does not quote paths with spaces
correctly:

    -Xcompiler "... /Fd"C:\path\with space\foo.pdb" ..."

Work around this by converting the PDB location to a relative path.
Likely we could always do this, but for now make a minimal change
just for CUDA support.

Fixes: #18440
2018-10-10 13:29:47 -04:00
Brad King 592064e026 VS: Drop workaround for CUDA compiler PDB location on CUDA 9.2+
The workaround added by commit v3.12.0-rc1~227^2 (VS: Add workaround for
CUDA compiler PDB location, 2018-04-13) is not necessary on CUDA 9.2+
because the CUDA Toolkit Visual Studio Integration has fixed the
original bug and forwards the `ProgramDataBaseFileName` to the host
compiler itself.  Make the workaround conditional on the CUDA version.

Issue: #18440
2018-10-10 13:29:47 -04:00
Kyle Edwards 0d988f98e5 cmake_policy: Add undocumented GET_WARNING command
This command is intended for modules that issue policy warnings so
they can get the warning string from CMake in a uniform manner,
rather than duplicating the string. Several modules been updated
to include an example of the usage of this new command.
2018-10-10 10:56:00 -04:00
Kyle Edwards fc8955e889 add_subdirectory: Run subdirectory install rules in correct order
Before this change, install rules created by add_subdirectory()
would be executed after all of the top-level install rules, even
if they were declared before the top-level rules. This change
adds a new policy, CMP0082, which interleaves the add_subdirectory()
install rules with the other install rules so they are run in the
correct order.
2018-10-10 10:26:39 -04:00
Brad King 8f076acdb0 cmLocalGenerator: Remove AddCompileDefinitions method
This method offers the same definitions as `GetTargetDefines` except
that it excludes the "export" macro on shared libraries.  Update call
sites to use `GetTargetDefines` instead.  Some of them were incorrectly
excluding the export macro.
2018-10-10 09:34:12 -04:00
Betsy McPhail a6e0158712 ctest_submit: Add support for a "Done" part
Teach CTest to submit Done.xml. Submission of this file indicates to
CDash that a build is complete and no more files will be uploaded. It
contains the build id returned by CDash and the current time.

This file is submitted last for a given build when using the
`ctest_submit()` command.

If submitting by PARTS, use `ctest_submit(PARTS Done)`.
2018-10-10 06:55:59 -04:00
Betsy McPhail f460bbd4c8 ctest_submit: Refactor file list to use a vector instead of a set
Remove duplicates in a way that preserves order.
2018-10-10 06:55:05 -04:00
Kitware Robot a35981249d CMake Nightly Date Stamp 2018-10-10 00:01:07 -04:00
Brad King 03e381cb8a Merge topic 'string-TIMESTAMP-unset-TZ'
f23760ffac string(TIMESTAMP): Fix unset TZ

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Attila Krasznahorkay <attila.krasznahorkay@gmail.com>
Merge-request: !2464
2018-10-09 07:42:45 -04:00
Brad King 54f0ae5414 Merge branch 'string-TIMESTAMP-unset-TZ' into release-3.13
Merge-request: !2464
2018-10-09 07:33:56 -04:00
Jose Luis Blanco-Claraco f23760ffac string(TIMESTAMP): Fix unset TZ
The logic added by commit v3.6.0-rc1~338^2 (CMake: Extend TIMESTAMP
sub-commands with new unix time format specifier, 2016-02-16) to restore
the `TZ` environment variable does not properly handle the case in which
the variable was originally not set.  Unset the variable in this case.

Fixes: #18431
2018-10-09 07:26:40 -04:00
Brad King 92ed3b38cc Merge branch 'vs-flag-map-Qspectre' into release-3.13
Merge-request: !2462
2018-10-09 06:28:57 -04:00
Brad King e9114f5bcf Merge topic 'vs-flag-map-Qspectre'
bb60ed6e72 VS: Add flag table entry for -Qspectre

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2462
2018-10-09 06:27:21 -04:00
Kitware Robot 0ab5db035e CMake Nightly Date Stamp 2018-10-09 00:01:08 -04:00
Brad King bb60ed6e72 VS: Add flag table entry for -Qspectre
Add special logic to map this flag to a top-level build setting
instead of being in ClCompile.

Fixes: #18426
2018-10-08 14:03:39 -04:00
Brad King c3e27c2562 Merge topic 'project-always-set-desc-url'
f8a086a86b project(): Ensure DESCRIPTION and HOMEPAGE_URL variables are set
b27247c8df project(): Add tests verifying variables set by second project() call

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2457
2018-10-08 11:26:21 -04:00
Brad King c2356d60d8 Merge branch 'project-always-set-desc-url' into release-3.13
Merge-request: !2457
2018-10-08 11:21:48 -04:00
Kitware Robot e3666e8ffe CMake Nightly Date Stamp 2018-10-08 00:01:06 -04:00
Craig Scott f8a086a86b project(): Ensure DESCRIPTION and HOMEPAGE_URL variables are set
If a project() call does not have DESCRIPTION or HOMEPAGE_URL
options, it must still set the relevant variables or else those variables will
inherit values from an earlier project() call. That is inconsistent with how
VERSION is handled and is likely to be unexpected. The docs were also
ambiguous about what should happen in such cases.
2018-10-08 08:28:17 +11:00
Kitware Robot f0c8d162f5 CMake Nightly Date Stamp 2018-10-07 00:01:05 -04:00
Kitware Robot 342551be71 CMake Nightly Date Stamp 2018-10-06 00:01:10 -04:00
Kitware Robot 25a9704058 CMake Nightly Date Stamp 2018-10-05 00:01:06 -04:00
Brad King a9b442cdc7 Merge branch 'misc-typos' into release-3.13
Merge-request: !2440
2018-10-04 10:13:12 -04:00
Brad King 5161714e1d Merge topic 'misc-typos'
6b4c5a0365 Fix misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2440
2018-10-04 10:11:39 -04:00
Kitware Robot e07b6f69d8 CMake Nightly Date Stamp 2018-10-04 00:01:15 -04:00
luz.paz 6b4c5a0365 Fix misc. typos
Found via `codespell -q 3 -I ../cmake-whitelist.txt --skip="./Utilities"`
where the whitelist consists of

```
aci
ans
behaviour
buil
convertor
dum
earch
ect
emmited
emmitted
helpfull
iff
isnt
ith
lowercased
mose
nd
nknown
nto
objext
ot
pathes
pevents
splitted
substract
superceded
supercedes
te
tim
todays
uint
upto
whitespaces
```
2018-10-03 15:32:46 -04:00
Brad King 8713e9cbbc Begin post-3.13 development 2018-10-03 12:55:56 -04:00
Brad King 94652e8733 CMake 3.13.0-rc1 version update 2018-10-03 12:53:38 -04:00
Brad King 0b1b842e93 Merge topic 'ctest-num-width'
6d28884617 cmCTestRunTest: Avoid float/int conversions in number width logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2433
2018-10-03 11:38:46 -04:00
Brad King 3e5548784d CMake 3.12.3 2018-10-03 08:20:44 -04:00
Brad King 868ced8619 Merge topic 'update-kwsys'
0da3340b9c Merge branch 'upstream-KWSys' into update-kwsys
b6a689c6f8 KWSys 2018-10-03 (9d6873b1)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2437
2018-10-03 08:05:32 -04:00
Brad King 9fc3024f62 Merge topic 'fix-csharp-target-type'
375b420fdf CSharp: Fix regression in VS project type selection
8b21aa0af0 VS: Fix CSharp flag selection when linking to a static C++ library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2427
2018-10-03 08:04:35 -04:00
Brad King 0da3340b9c Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-10-03 (9d6873b1)
2018-10-03 07:36:04 -04:00
Kitware Robot 84457a0dac CMake Nightly Date Stamp 2018-10-03 00:01:07 -04:00
Brad King 6d28884617 cmCTestRunTest: Avoid float/int conversions in number width logic
Use of `std::log10` added by commit 02c5091c90 (cmCTestRunTest: Simplify
number width computation, 2018-09-08) broke our number width computation
on some platforms where

    static_cast<int>(std::log10(static_cast<size_t>(10)))

somehow produces `0` instead of `1`.  Re-implement the logic to avoid
floating-point computations.
2018-10-02 15:40:29 -04:00
Brad King 7787fb6e3e Merge branch 'fix-csharp-target-type' into release-3.12
Merge-request: !2427
2018-10-02 14:58:57 -04:00
Brad King 375b420fdf CSharp: Fix regression in VS project type selection
A that target contains only `.cs` sources should be generated as a
`.csproj` project even if it links to non-CSharp static libraries.
The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
(remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
2018-03-19).  The reason is that the `HasLanguage` method added by
commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
wrapper for GetLanguages(), 2018-03-19) enforces its "exclusive" check
on the combined set of source file languages and the link language.
To restore the original `TargetIsCSharpOnly` semantics, update
`HasLanguage` to enforce exclusiveness only on the list of sources.

Fixes: #18239
2018-10-02 14:58:11 -04:00
Brad King 8b21aa0af0 VS: Fix CSharp flag selection when linking to a static C++ library
When a CSharp target links to a static C++ library, CMake will compute
the link language as C++ instead of CSharp.  That may be incorrect and
needs further investigation, but it does not affect how VS drives C#
linking.  However, it does break our flag language selection logic
and causes C++ flags to be used for CSharp.  In particular, this
drops the `-platform:x86` flag on 32-bit builds.

Fix this by always selecting the CSharp flags when generating a
`.csproj` project type.

Issue: #18239
2018-10-02 14:58:11 -04:00
Brad King 4ca8cb2868 Merge topic 'csharp_versions'
94c406eb49 VS: Update CSharp flag table to support new language versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2425
2018-10-02 08:56:32 -04:00
Brad King 9682fa79e7 Merge topic 'install-directory-permissions-fix'
5e61b79b82 install: Set permissions on directories created by install(DIRECTORY)
fbd89b6753 Help: Add note about CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2428
2018-10-02 08:55:15 -04:00
Kitware Robot 44de342859 CMake Nightly Date Stamp 2018-10-02 00:01:07 -04:00
Kyle Edwards 5e61b79b82 install: Set permissions on directories created by install(DIRECTORY)
The directories that are implicitly created by install(DIRECTORY)
were not having their permissions being set by
CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS. This change refactors
cmFileCopier to take this into account for directory installation.
2018-10-01 16:28:43 -04:00
Dean Glazeski 94c406eb49 VS: Update CSharp flag table to support new language versions
This is based off of the latest 15.8.5 release of VS 2017.
CSC version 2.9.0.63208 (958f2354).
2018-10-01 09:25:27 -04:00
Brad King 17653671e4 Merge topic 'no_buildid_for_files'
c49d13f94b ctest: only create buildid when submitting from Testing/ dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2423
2018-10-01 09:24:29 -04:00
Brad King 5cf36d3b0f Merge topic 'byproducts_make_clean'
80e2f8ee0c Ninja,Makefile: Add tests for handling of byproducts by clean operations
c7f1ed03d7 Help: Add release note for make clean and byproducts
4220962d18 Makefile: Add build events byproducts to clean rules
182d9597ec Makefile: Add custom command byproducts to clean rules
9c2b393cb7 Tests: Update CustomCommandWorkingDirectory to handle in-source byproducts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2334
2018-10-01 09:22:03 -04:00
Brad King 3bb8dda047 Merge topic 'add_progress_summary_console_logging_mode'
b3d5b8b3fb ctest: Add option for live progress summary in terminal
62fbe5002a cmCTestRunTest: Thread number of completed tests through start APIs
02c5091c90 cmCTestRunTest: Simplify number width computation
6a285bb737 cmCTestRunTest: Buffer test result output before printing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2240
2018-10-01 09:20:44 -04:00
Kitware Robot 3053cd7617 CMake Nightly Date Stamp 2018-10-01 00:01:06 -04:00
Kitware Robot a4e3b3ed75 CMake Nightly Date Stamp 2018-09-30 00:01:05 -04:00
Kitware Robot 400bf98ee7 CMake Nightly Date Stamp 2018-09-29 00:01:10 -04:00
Pedro Navarro 4220962d18 Makefile: Add build events byproducts to clean rules 2018-09-28 11:30:32 -04:00