Commit Graph

25155 Commits

Author SHA1 Message Date
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
Brad King
3c8187f687 clang-tidy: restore 'misc-noexcept-move-constructor'
We disabled this in commit 1fe0d72eb6 (clang-tidy: exclude
'misc-noexcept-move-constructor', 2018-09-24) due to false positives.
Restore it and use a NOLINT comment to suppress them instead.
2018-09-26 06:38:52 -04:00
Brad King
6c2af9d302 cmListFileCache: Add missing assertion in backtrace Top method
We can only get the top of a stack that has at least one call.
Update the method's comment accordingly.
2018-09-26 06:32:21 -04:00
Kitware Robot
5abe45270e CMake Nightly Date Stamp 2018-09-26 00:01:09 -04:00
Brad King
98e4fbdc06 VS: Pass platform when invoking MSBuild
MSBuild expects a `/p:Platform=...` argument to tell it which platform
to build among those in the `.vcxproj` files.  We have not historically
had to do this because we generate only one platform.  However, when
a project uses `include_external_msproject` the included project file
may have other platforms.

Fixes: #18308
2018-09-25 13:27:13 -04:00
Brad King
6597428c36 ctest: Fix generator platform under --build-nocmake
When constructing a global generator instance in `--build-and-test` mode
we need to set the platform passed by `--build-generator-platform`
directly on the generator.  The old code that set it on the `cmake`
class instance did nothing because that only affects cache
initialization, which is not done by `--build-nocmake`.
2018-09-25 13:27:11 -04:00
Brad King
d8294fefe8 cmake: Fix generator platform under --build mode 2018-09-25 13:27:08 -04:00
Marc Chevrier
f9717725f9 link_directories(): enhance capabilities 2018-09-25 23:59:59 +10:00
Marc Chevrier
b5915744eb LINK_DIRECTORIES target property: add policy for absolute paths check. 2018-09-25 23:59:59 +10:00
Marc Chevrier
a71caab46b LINK_DIRECTORIES: Add new properties and commands
These new capabilities enable to manage link directories

Two new properties:
* target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES

One new command
* target_link_directories(): to populate target properties

Fixes: #17215
2018-09-25 23:59:58 +10:00
Marc Chevrier
5ca130e223 Refactoring: introduce function to check if a string is a generator expression 2018-09-25 23:46:56 +10:00
Mikhail Korolev
22e670a306 VS: Add option to set VS_GLOBAL_* for all targets
Fixes: #18287
2018-09-25 09:20:25 -04:00
Brad King
55a5b56e08 Merge topic 'refactor-backtrace'
22aa6b67b4 cmListFileCache: Refactor cmListFileBacktrace internals
1fe0d72eb6 clang-tidy: exclude 'misc-noexcept-move-constructor'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2410
2018-09-25 08:41:49 -04:00
Michael Wegner
62fbe5002a cmCTestRunTest: Thread number of completed tests through start APIs 2018-09-25 08:20:57 -04:00
Michael Wegner
02c5091c90 cmCTestRunTest: Simplify number width computation
Use a real logarithm implementation.
2018-09-25 08:20:57 -04:00
Michael Wegner
6a285bb737 cmCTestRunTest: Buffer test result output before printing 2018-09-25 08:20:57 -04:00
Kitware Robot
1fea56c3bd CMake Nightly Date Stamp 2018-09-25 00:01:13 -04:00
Brad King
22aa6b67b4 cmListFileCache: Refactor cmListFileBacktrace internals
Replace use of raw pointers and explicit reference counting with
`std::shared_ptr<>`.  Use a discriminated union to store either the
bottom level or a call/file context in each heap-allocated entry.
This avoids storing a copy of the bottom in every `cmListFileBacktrace`
instance and shrinks the structure to a single `shared_ptr`.
2018-09-24 17:29:15 -04:00
Brad King
03ffd442bd Merge topic 'server-separate-json'
72b4c2c48a server: Compile json object generation source separately
b48165346f server: Split json dictionary into separate header
85be67217b server: Split json object generation into separate source
aabce52851 server: factor out json object generation entry points
fc43492e44 cmake: Factor json version object construction into helper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2408
2018-09-24 07:07:38 -04:00