Commit Graph

3501 Commits

Author SHA1 Message Date
Brad King 3dd38ac36d Merge topic 'install-symlink-to-directory'
d71a7cc19d install(FILES): Allow installation of symlinks to directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6098
2021-05-10 10:11:04 -04:00
Brad King 74d35f5693 Merge topic 'windows-symlink-errors'
d7522b8f86 cmSystemTools: Improve CreateLink and CreateSymlink error codes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6096
2021-05-10 10:09:59 -04:00
Brad King f889758ac7 Merge topic 'ep-update-git-hash-missing'
5e941a545b ExternalProject: Ensure git fetch if updating to hash we don't have yet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6109
2021-05-10 10:05:11 -04:00
Craig Scott 5e941a545b ExternalProject: Ensure git fetch if updating to hash we don't have yet
In ac6a4d4884 (ExternalProject: Improve robustness of update step,
2020-10-17), the method used to check whether we already have a
commit or not was changed from using git rev-list to git rev-parse.
The new logic assumed rev-parse would output nothing if given a commit
hash it didn't know about, but it simply prints the hash again without
raising an error in this scenario. Amend that logic by adding ^{commit} to
the ref to ensure we do get an error if that ref is not currently known.

Fixes: #22166
2021-05-09 12:33:16 +10:00
Brad King d7522b8f86 cmSystemTools: Improve CreateLink and CreateSymlink error codes
In commit 7f89053953 (cmSystemTools: Return KWSys Status from CreateLink
and CreateSymlink, 2021-04-15) we just took the `-err` from libuv and
treated it as a POSIX error.  This is accurate on POSIX, but on Windows
does not match the POSIX error codes.

Use `uv_fs_get_system_error` to get the actual system error code.
This requires libuv 1.38 or higher.  Require that for Windows, but
fall back to the previous approach on POSIX.
2021-05-07 08:30:52 -04:00
Jens Carl d71a7cc19d install(FILES): Allow installation of symlinks to directory
Allow symbolic links to a directory to be installed via install(FILES ...).

Fixes: #22159
2021-05-06 15:29:51 -07:00
Brad King fa16b462f1 Tests: Fix RunCMake.CMakePresets example PATH format
Since commit 94c955e508 (Tests: Test the CMakePresets.json example in
the documentation, 2020-10-09, v3.19.0-rc1~8^2) we transform the
documented preset example for testing by replacing the generator.
Extend the transformation with a step to fix `PATH` env var syntax.
2021-05-05 10:13:35 -04:00
Brad King 41f9486e61 Merge topic 'generate-cmake-build-command-parallel'
d2b856bc92 ctest_build: Add the PARALLEL_LEVEL argument
fc2ac46043 build_command: Add the PARALLEL_LEVEL argument
4dd4e9dd6c cmGlobalGenerator: Add parallel parameter to GenerateCMakeBuildCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !6069
2021-05-05 10:11:46 -04:00
friendlyanon d2b856bc92 ctest_build: Add the PARALLEL_LEVEL argument
Fixes: #19712
2021-05-04 20:30:18 +02:00
friendlyanon fc2ac46043 build_command: Add the PARALLEL_LEVEL argument
Issue: #19712
2021-05-04 20:17:17 +02:00
Brad King 09f2f5df89 Merge topic 'extend_toolchain_flag_to_cmake_preset'
a9b968bb98 cmake-presets: Introduce `toolchainFile` preset option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6045
2021-05-04 11:54:49 -04:00
Brad King 3e86fc40ac Merge topic 'vs-csharp-link'
31bbcd1905 VS: Fix CSharp sources inside build directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6065
2021-05-04 11:25:33 -04:00
Brad King 7e31edee22 Merge topic 'compile-features-lang-vars'
bd16a985fc CompilerId/Features: Tolerate variables named for languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Timothy Brackett <brackett.tc@gmail.com>
Merge-request: !6060
2021-05-04 11:20:39 -04:00
Kinan Mahdi 31bbcd1905 VS: Fix CSharp sources inside build directory
Fixes: #22104
2021-05-03 11:25:42 -04:00
Brad King 4419b944fd Merge topic 'ninja-multi-long-command-line-config'
ad08f93ee4 Ninja Multi-Config: Split long command lines by config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6067
2021-05-03 10:53:50 -04:00
Brad King bd16a985fc CompilerId/Features: Tolerate variables named for languages
If a `CMakeLists.txt` or `CMAKE_TOOLCHAIN_FILE` sets a variable named
`C`, `CXX`, or `CUDA`, we were previously comparing each enabled
language name to the value of that variable, rather than the name
itself.  Double-quote the string to take advantage of policy `CMP0054`,
but also add "x" prefixes to support projects that do not set the
policy.

Fixes: #22125
2021-05-03 10:22:23 -04:00
Brad King 4df3f5300a Merge topic 'foreach-loop-variable'
46896d98bb foreach(): loop variables are only available in the loop scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Michael Hirsch <michael@scivision.dev>
Merge-request: !6044
2021-05-03 09:59:35 -04:00
Kyle Edwards ad08f93ee4 Ninja Multi-Config: Split long command lines by config
Fixes: #22123
2021-04-30 14:46:21 -04:00
Robert Maynard a9b968bb98 cmake-presets: Introduce toolchainFile preset option
In v3 of the presets, the `--toolchain` command line argument now
has a preset mapping.
2021-04-28 17:22:25 -04:00
Marc Chevrier 46896d98bb foreach(): loop variables are only available in the loop scope
Fixes: #20553
2021-04-28 19:44:25 +02:00
Brad King d59afbd92e Tests: Fix RunCMake.GenerateExportHeader use of size_t
Since commit ddcd1469e8 (MSYS: Add support for running under MSYS
runtime environment, 2021-04-01) the test uses `std::size_t` without
including `<cstddef>`.  Also, the type does not exist under `std::`
on VS 6.  Use just `size_t` instead.
2021-04-28 09:55:36 -04:00
Zack Galbreath 63b5ddcce2 Tests: Add cases for CTest extra measurements from tests 2021-04-27 14:06:44 -04:00
Brad King 970f175d88 Merge topic 'ctest_junit'
25bf514447 ctest: Add support for writing test results in JUnit XML format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Acked-by: Michael Hirsch <michael@scivision.dev>
Acked-by: MvdHurk <maikelvandenhurk@hotmail.com>
Acked-by: Alexander Richardson <arichardson.kde@gmail.com>
Merge-request: !6020
2021-04-27 13:53:55 -04:00
Orgad Shaneh ddcd1469e8 MSYS: Add support for running under MSYS runtime environment
Detect MSYS as CYGWIN, with the required adaptations.
2021-04-26 14:27:34 -04:00
Brad King 395e1d458e Merge topic 'xcode_app_extensions'
eb5e33ba47 Xcode: Add support for embedding app extensions
f62a2bf44f Tests: Factor out XcodeProject-Embed check function findAttribute()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5934
2021-04-26 11:34:38 -04:00
Brad King 3c1655936f Merge topic 'lzma-threads'
c5c130e675 cmArchiveWrite: Consolidate multiple ways to set thread count
5380d858ff liblzma: Enable multi threaded stream encoding support
e9065e96dc Merge branch 'upstream-liblzma' into lzma-threads
ee909a8e8b liblzma 2020-03-17 (2327a461)
741b85b42b liblzma: Revise update script to get version 5.2.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6014
2021-04-26 11:33:49 -04:00
Brad King 6aabf2790c Merge topic 'file-REAL_PATH-EXPAND_TILDE'
e4b793c614 file(REAL_PATH): add option EXPAND_TILDE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch <michael@scivision.dev>
Merge-request: !6033
2021-04-26 11:30:57 -04:00
Brad King fcafd30a5e Merge topic 'ninja-multi-custom-target-post-build'
f8e2a74712 Ninja Multi-Config: Correctly generate POST_BUILD custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6040
2021-04-26 11:25:46 -04:00
Zack Galbreath 25bf514447 ctest: Add support for writing test results in JUnit XML format
Addresses #18654
2021-04-26 08:55:22 -04:00
Kyle Edwards f8e2a74712 Ninja Multi-Config: Correctly generate POST_BUILD custom targets
Fixes: #22096
2021-04-22 15:51:53 -04:00
Nils Gladitz c5c130e675 cmArchiveWrite: Consolidate multiple ways to set thread count
Merge use of SetFilterOption() into more abstract thread count
in cmArchiveWrite constructor.

libarchive defaulting of threads for threads == 0 seems to be
configuration dependent. Preemptively default thread count via
std::thread::hardware_concurrency().

Also allow negative values for the thread count in which case
the detected hardware concurrency is also used but the given
absolute thread count is used as an upper limit.
2021-04-22 15:40:13 -04:00
Brad King c54c284de7 Tests: Improve RunCMake.CPack* test error formatting
Format message content for `message(FATAL_ERROR)`.
2021-04-22 13:54:56 -04:00
Alexander Akhundzhanov eb5e33ba47 Xcode: Add support for embedding app extensions
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2021-04-22 15:17:02 +10:00
Marc Chevrier e4b793c614 file(REAL_PATH): add option EXPAND_TILDE
This option enables the replacement of any leading tilde with the path
to the user's home directory.
2021-04-22 08:08:47 +10:00
Brad King 5a8b37e53b Merge topic 'autogen-clear-early-source-cache'
b84f1e6159 Autogen: Restore mocs_compilation in OBJECT libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6024
2021-04-21 10:42:17 -04:00
Brad King b84f1e6159 Autogen: Restore mocs_compilation in OBJECT libraries
Since commit f65f20938c (Autogen: Avoid processing CSharp targets,
2020-11-12, v3.20.0-rc1~301^2) we collect all sources for a target
earlier than previously.  Clear the sources cache so that it will be
re-computed later after AUTOGEN processing.

Fixes: #22085
2021-04-20 16:04:08 -04:00
Brad King 4c0d69e813 Merge topic 'Xcode-add_custom_command-DEPFILE'
253aff6c94 Xcode: Add support of DEPFILE for add_custom_command, part 2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6015
2021-04-20 09:59:53 -04:00
Brad King 5ac713da70 Merge topic 'mrjoel/add-missing-not'
370bebd921 Add missing 'not' in error messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6012
2021-04-19 09:44:03 -04:00
Marc Chevrier 253aff6c94 Xcode: Add support of DEPFILE for add_custom_command, part 2
This MR extend the support of 'DEPFILE' to buildsystem version 1.

Issue: #20286
2021-04-17 11:05:26 +02:00
Brad King acace43852 Merge topic 'Xcode-add_custom_command-DEPFILE'
d67cc4882d Xcode: Add support of DEPFILE for add_custom_command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6006
2021-04-16 11:42:23 -04:00
Brad King bb290fc7a4 Merge topic 'add_toolchain_cmake_option'
d5c3e4ac32 cmake: add support for --toolchain command argument
13838bbb36 CMAKE_TOOLCHAIN_FILE: Document relative path behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5991
2021-04-16 11:39:28 -04:00
Joel Johnson 370bebd921 Add missing 'not' in error messages 2021-04-16 07:47:59 -06:00
Marc Chevrier d67cc4882d Xcode: Add support of DEPFILE for add_custom_command
Issue: #20286
2021-04-15 12:17:31 -04:00
Robert Maynard d5c3e4ac32 cmake: add support for --toolchain command argument 2021-04-15 10:13:49 -04:00
Marc Chevrier 0c47b91fcc Genex: add_custom_command: DEPFILE supports genex
This facility is very useful for 'Ninja Multi-Config' and required
as well for future support of DEPFILE in 'Xcode' and 'Visual Studio'
generators (#20286).
2021-04-12 13:06:49 +02:00
Craig Scott f62a2bf44f Tests: Factor out XcodeProject-Embed check function findAttribute() 2021-04-11 18:06:16 +10:00
Brad King 21f0478ade Merge topic 'presets-optional-generator-and-builddir'
06e6981336 cmake-presets: Make generator and binaryDir fields optional

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5946
2021-04-08 07:49:56 -04:00
Brad King a0e5998bd6 Merge topic 'ctest-wait-verbosity'
82e40607a4 ctest: Display test "WAITING" messages only in extra-verbose mode
80da23f2a2 Tests: Add RunCTest helper option to control CTest verbose flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5990
2021-04-08 07:49:05 -04:00
Brad King f39ea2e292 Merge topic 'flags-with-backslash'
3953dfcb31 Restore support for backslashes in initial language-wide flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5995
2021-04-08 07:47:09 -04:00
Brad King 3953dfcb31 Restore support for backslashes in initial language-wide flags
Refactoring in commit bdc40742bd (CMakeDetermineCompilerId: Test without
COMPILER_ID_FLAGS if REQUIRE_SUCCESS, 2021-02-27, v3.20.0-rc3~6^2) added
an extra macro layer through which flag strings are passed.  That caused
an extra level of argument re-parsing, and broke flags with backslashes.
Pass flags to the helper macro through variable names instead.

Fixes: #22041
2021-04-07 13:53:22 -04:00