Commit Graph

25173 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Pedro Navarro
182d9597ec Makefile: Add custom command byproducts to clean rules 2018-09-28 11:30:32 -04:00
Brad King
cac09cc52c Merge topic 'customcommandworkingdirectory'
f158ac19e1 add_custom_{command,target}: WORKING_DIRECTORY generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2409
2018-09-28 11:17:09 -04:00
Jon Chronopoulos
f158ac19e1 add_custom_{command,target}: WORKING_DIRECTORY generator expressions
This teaches add_custom_command and add_custom_target WORKING_DIRECTORY
about generator expressions

Fixes: #14089
2018-09-28 11:15:33 -04:00
Brad King
4e98203c6c Merge topic 'vs-global-props-for-all-targets'
36489b85aa VS: Add test for CMAKE_VS_GLOBALS
22e670a306 VS: Add option to set VS_GLOBAL_* for all targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2345
2018-09-28 11:13:59 -04:00
Brad King
8fea6b0764 Merge topic 'vs-msbuild-platform'
98e4fbdc06 VS: Pass platform when invoking MSBuild
6597428c36 ctest: Fix generator platform under --build-nocmake
d8294fefe8 cmake: Fix generator platform under --build mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2413
2018-09-28 10:58:51 -04:00
Zack Galbreath
c49d13f94b ctest: only create buildid when submitting from Testing/ dir
In 7f530cc we taught CTest to pass extra information to CDash at submit
time.  This extra info is used by CDash to initialize a buildid.

`ctest_submit(FILES)` can be used to send specific files to CDash.
These files are not necessarily associated with the build currently
being performed. For this reason, we modify the behavior of ctest_submit()
to only specify this extra info when we are submitting files from the
current build's Testing directory.
2018-09-28 10:49:45 -04:00
Kitware Robot
8bb0e09e38 CMake Nightly Date Stamp 2018-09-28 00:01:10 -04:00
Kitware Robot
be1ceda97f CMake Nightly Date Stamp 2018-09-27 00:01:09 -04:00
Michael Wegner
b3d5b8b3fb ctest: Add option for live progress summary in terminal 2018-09-26 11:47:49 -04:00
Brad King
5f702f97a8 Merge topic 'refactor-backtrace'
3c8187f687 clang-tidy: restore 'misc-noexcept-move-constructor'
6c2af9d302 cmListFileCache: Add missing assertion in backtrace Top method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2415
2018-09-26 10:01:09 -04:00
Craig Scott
3181f8405b Merge topic 'link-directories'
f9717725f9 link_directories(): enhance capabilities
b5915744eb LINK_DIRECTORIES target property: add policy for absolute paths check.
a71caab46b LINK_DIRECTORIES: Add new properties and commands
5ca130e223 Refactoring: introduce function to check if a string is a generator expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2403
2018-09-26 08:11:40 -04:00
Brad King
b16b254845 Merge topic 'dbgsym-packaging'
d8a3939aef CPack/Deb: Add ability to split out debug symbols into .ddeb package
42fbff45e4 CPack/Deb: Use CMAKE_COMMAND to set the environment
66ab24a4c5 Help: Fix typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2399
2018-09-26 06:52:06 -04:00