Commit Graph

29685 Commits

Author SHA1 Message Date
Kyle Edwards ef03124237 CMake GUI: Add --browse-manual argument 2020-10-27 12:05:41 -04:00
Brad King 8d6a0b9364 Merge topic 'cuda_vs_skip_computation' into release-3.19
dd77dec18d VS: Don't compute CUDA options unless necessary
e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18
7c0de4175b Merge branch 'cmake-E-cat-binary' into release-3.18

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5422
2020-10-27 08:20:54 -04:00
Craig Scott 698851cdb7 Merge topic 'cmake-presets-path-arg' into release-3.19
b7d7eca66d CMakePresets.json: Rework how --preset argument is handled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5416
2020-10-27 07:33:45 -04:00
Raul Tambre dd77dec18d VS: Don't compute CUDA options unless necessary
In the following scenario (with 3.18 policies):
1. A CXX target is created.
2. CUDA language is enabled.

CMake 3.18 introduced CMP0104, which requires CUDA_ARCHITECTURES to be
set.  Because the CXX target was created before CUDA was enabled it
wouldn't have it set.  The Visual Studio generator would however end up
computing CUDA compile options for the CXX target, which would result in
a fatal error due to the policy violation.

There doesn't seem to be a reason to do this for targets that don't
actually use the CUDA language, so we can skip and generate the CXX
target just fine.

Fixes: #21341
2020-10-27 07:29:01 -04:00
Brad King e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18
Merge-request: !5430
2020-10-26 16:14:00 -04:00
Kyle Edwards b8937a992b Merge branch 'release' into ninja-multi-per-config-sources 2020-10-26 15:43:57 -04:00
Kyle Edwards d13bd6ec3d Ninja Multi-Config: Don't try to calculate dependencies for "all" 2020-10-26 15:37:04 -04:00
Brad King 9fa7afe7d3 Merge topic 'correct_profiling-output_exception' into release-3.19
afac7482d2 cmake: command arguments which use '=' behave consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5414
2020-10-26 10:29:22 -04:00
Brad King a1fe3be2bf Merge topic 'per-config-source-TARGET_FILE' into release-3.19
cd33bfcad5 add_custom_command: Properly recognize if sources depend on config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5410
2020-10-26 10:28:30 -04:00
Kyle Edwards b7d7eca66d CMakePresets.json: Rework how --preset argument is handled
If a path argument with no -S or -B leads to a cache directory,
use that directory as the binary directory. Otherwise, use the
binary directory from the preset.

Fixes: #21311
2020-10-26 22:32:45 +11:00
Robert Maynard afac7482d2 cmake: command arguments which use '=' behave consistently
Fixes: #21351

The `profiling-format`, `profiling-output`, and `preset` all would
crash when invoked without a trailing `=`.
2020-10-23 09:12:43 -04:00
Brad King f2a59d400e Merge topic 'vs-fortran-debugging-flags' into release-3.19
8ad6fabfc5 VS: Remove flag table entries for Fortran /Z* flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5406
2020-10-23 08:44:47 -04:00
Craig Scott 5e1858c0c2 Merge topic 'cmake-presets-toolset-arch-config' into release-3.19
64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5387
2020-10-23 06:37:56 -04:00
Deniz Bahadir cd33bfcad5 add_custom_command: Properly recognize if sources depend on config
Fixes: #21349
2020-10-22 23:03:05 +02:00
Kyle Edwards 64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field
Make this field separate for both architecture and toolset. Allow
architecture and toolset to be either strings or objects with value
and strategy fields.

Fixes: #21317
2020-10-22 11:24:39 -04:00
Kyle Edwards 25742c589c CMakePresets.json: Add ${sourceDirName} macro
Fixes: #21312
2020-10-22 11:09:28 -04:00
Kyle Edwards 609122007d Merge topic 'cmake-presets-invalid-macro' into release-3.19
638557cbfe CMakePresets.json: Properly report macro expansion errors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5397
2020-10-22 11:05:09 -04:00
Volker Jacht 8ad6fabfc5 VS: Remove flag table entries for Fortran /Z* flags
These were included when the Fortran flag table was first created by
commit 10c91ded4f (ENH: add support for Intel Fortran Visual studio IDE,
2008-04-30, v2.8.0~2227), but they map to fields not actually supported
by the IDE.  Remove their table entries.

Instead use just `/debug:minimal` and `/debug:full` to control debug
information level in VS Intel Fortran.  Let flags like `/Z7` pass
through as raw additional options because they have no corresponding IDE
property and can be used to complement the supported options.

Fixes: #21340
2020-10-22 09:08:52 -04:00
Kyle Edwards 920d180047 CMakePresets.json: Allow boolean for cache variable value
Fixes: #21327
2020-10-21 10:37:08 -04:00
Kyle Edwards 638557cbfe CMakePresets.json: Properly report macro expansion errors
Make a distinction between strings which simply use the
$vendor{<...>} macro, which is valid but makes it unusable by CMake,
and strings which actually contain invalid macro expansions.

Fixes: #21308
2020-10-21 09:20:52 -04:00
Brad King 0356b81525 find_package: Fix regression in searching root prefix
Fix the check added by commit 2ff1693066 (find_package: avoid showing
files as directories when searching config files, 2020-09-30,
v3.19.0-rc1~67^2) to avoid skipping the root prefix `/`.

Fixes: #21324
2020-10-19 11:08:49 -04:00
Brad King f4e6dfe55d Merge topic 'separate_arguments-no-args' into release-3.19
747f80fe82 separate_arguments: Fix crash on *_COMMAND with no arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5382
2020-10-19 10:26:30 -04:00
Brad King ae1ca3034e Merge topic 'doc-CMP0111' into release-3.19
5c3a91c808 CMP0111: Clarify that the new error is on a missing property setting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Reinking <alex_reinking@berkeley.edu>
Merge-request: !5385
2020-10-19 10:23:50 -04:00
Craig Scott 792863ac29 Merge topic 'cmake-gui-disable-presets' into release-3.19
d471406f0b CMake GUI: Disable preset fields instead of hiding them

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5374
2020-10-17 07:13:18 -04:00
Kyle Edwards d471406f0b CMake GUI: Disable preset fields instead of hiding them 2020-10-16 15:16:04 -04:00
Brad King e1d124286a Merge topic 'file-configure-angle-brackets' into release-3.19
06a9a3bdc3 file(CONFIGURE): Allow angle brackets in content

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5379
2020-10-16 09:23:42 -04:00
Robert Bozzetto 747f80fe82 separate_arguments: Fix crash on *_COMMAND with no arguments
Fixes: #21320
2020-10-16 08:49:28 -04:00
Brad King 5c3a91c808 CMP0111: Clarify that the new error is on a missing property setting
The previous wording could be confused with the file missing on disk.
2020-10-16 08:26:00 -04:00
Brad King b9cb1d324d Fix regression in test/install/package configuration selection
In commit 7a969fe21d (cmMakefile: Refactor API to better handle empty
config values, 2020-06-30, v3.19.0-rc1~567^2), calls to
`GetGeneratorConfigs` that pass `OnlyMultiConfig` only want to get any
configurations listed if the generator is multi-config.  Fix the
implementation to actually do that.

Fixes: #21316
2020-10-15 10:53:09 -04:00
Cristian Adam 06a9a3bdc3 file(CONFIGURE): Allow angle brackets in content
Fixes: #21306
2020-10-15 15:42:21 +02:00
Brad King b1d9a25f35 Merge topic 'cmake-E-cat-binary' into release-3.19
f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows
90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management
f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5364
2020-10-15 08:10:50 -04:00
Johnny Jazeix f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows
Reset `std::cout` to write in binary mode with no encoding conversions.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #21295
2020-10-14 12:08:07 -04:00
Brad King 90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management 2020-10-14 12:08:06 -04:00
Brad King f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx 2020-10-14 12:06:50 -04:00
Brad King 440ee739c4 cmake-gui: Attach icons only to main GUI executables
In commit efe48189bf (cmake-gui: Restore application icon on macOS,
2020-10-13, v3.19.0-rc1~2^2) and commit f7ae4f572b (cmake-gui: Restore
application icon on Windows, 2020-10-13, v3.19.0-rc1~1^2) we attached
the icon source files to all consumers of `CMakeGUILib`, but that
includes other libraries like `CMakeGUIMainLib`.  The latter library is
meant only for direct consumption by a GUI executable, so use that to
propagate the icons instead.
2020-10-14 09:35:58 -04:00
Brad King 0b0df2d063 CMake 3.19.0-rc1 2020-10-13 12:40:27 -04:00
Brad King f7ae4f572b cmake-gui: Restore application icon on Windows
In commit 41e223deb3 (CMake GUI: Split up into libraries, add test shim,
2020-09-14) the Windows resource source file that references the icon
was moved to CMakeGUILib, but it needs to be directly in the main
application in order to be attached properly.
2020-10-13 12:09:28 -04:00
Brad King efe48189bf cmake-gui: Restore application icon on macOS
In commit 41e223deb3 (CMake GUI: Split up into libraries, add test shim,
2020-09-14) the macOS icon source file was moved to CMakeGUILib, but it
needs to be directly in the main application in order to be attached to
the `.app` in the right place.
2020-10-13 10:35:14 -04:00
Craig Scott 0a9af79995 export: Remove leftover inaccurate code comment
No functional changes.

Relates: !5352
2020-10-13 21:38:29 +11:00
Craig Scott 446874a8a1 Merge topic 'export-namelink-only' into release-3.19
64690f6df0 export: Do not fail generation for namelink-only case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5352
2020-10-12 19:19:32 -04:00
Deniz Bahadir 64690f6df0 export: Do not fail generation for namelink-only case 2020-10-09 22:29:22 +02:00
Kyle Edwards f4215ee57d Ninja Multi-Config: Fix segfault when installing an export
Fixes: #21290
2020-10-09 13:51:01 -04:00
Brad King 302b00a262 Begin 3.19 release versioning 2020-10-08 11:23:38 -04:00
Brad King 8f2ba9a3fc Merge topic 'ignore_MSB_warnings'
b756ec8a46 cm_cxx_features: Filter out MSBXXXX warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5348
2020-10-08 09:29:02 -04:00
Anonymous Maarten b756ec8a46 cm_cxx_features: Filter out MSBXXXX warnings
When building CMake in `%TMP%` on Windows, MSBuild issues warnings.
Filter those out to avoid breaking C++ feature checks.

Fixes: #21270
2020-10-08 09:24:02 -04:00
Kitware Robot 75a486f8c0 CMake Nightly Date Stamp 2020-10-08 00:01:15 -04:00
Brad King c4c86acaac Merge topic 'cmake-presets-empty-var'
a395cb516b CMakePresets.json: Prohibit empty variable names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5339
2020-10-07 07:25:52 -04:00
Kitware Robot a410755597 CMake Nightly Date Stamp 2020-10-07 00:01:18 -04:00
Kyle Edwards a395cb516b CMakePresets.json: Prohibit empty variable names 2020-10-06 12:09:38 -04:00
Brad King 8c4c658ab0 Merge topic 'cmake-presets'
6f8fdc686c .gitignore: Add CMakeUserPresets.json
1d25760198 Help: Add presets documentation and release notes
a4382f72d7 CMake GUI: Add presets functionality
8617479061 CMake: Add presets functionality
06128cf949 Presets: Add cmCMakePresetsFile class
5a36542086 Refactor: Add allowArch parameter to cmake::CreateGlobalGenerator()
3059e6aed7 cmJSONHelpers: Add new Bind() function
8682d1b7b2 CMake GUI Tests: Increase default sleep time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Merge-request: !5169
2020-10-06 10:49:59 -04:00