Commit Graph

52194 Commits

Author SHA1 Message Date
Brad King
fdfbf89f0c ExternalData: Avoid replacing a concurrently-created object
If more than one content link references the same object, the build
system may launch multiple download processes for the same object
concurrently.  Use whichever one finishes first, and discard the others.

Without this, we replace the objects and use the last finisher instead
of the first.  This is okay on non-Windows platforms where `rename(2)`
gives reliable atomic replacement.  However, on Windows platforms and
NTFS this is less reliable.  I've observed `MoveFileEx` somehow cause
another process to get `ERROR_SHARING_VIOLATION` when attempting to read
the destination file.  We may be able to improve the `file(RENAME)`
implementation on modern Windows 10 versions, but for ExternalData's use
case it is simpler to just not replace existing objects.
2021-03-05 10:58:07 -05:00
Brad King
15610d42fe Merge topic 'file-RENAME'
9bf40d8027 file(RENAME): Add option to not replace existing path
3600c6cd8c cmSystemTools: Add RenameFile option to not replace destination
c61292726c file(RENAME): Add option to capture error message on failure
0c2dc34504 cmSystemTools: Add RenameFile signature to capture the error message
adc351db8f Tests: Add RunCMake helper to run a plain script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5877
2021-03-05 08:27:18 -05:00
Brad King
33f0985e39 Merge branch 'release-3.20' 2021-03-05 08:25:29 -05:00
Brad King
1b2db411ad Merge topic 'cmake-gui-search-case'
9ec50ff157 cmake-gui: Restore search bar case insensitivity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5878
2021-03-05 08:25:29 -05:00
Brad King
412479b9d8 Merge topic 'cmake-gui-search-case' into release-3.20
9ec50ff157 cmake-gui: Restore search bar case insensitivity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5878
2021-03-05 08:25:29 -05:00
Brad King
c1bbe44dad Merge topic 'cpack-source-dir-symlink'
c456b09513 CPack: Fix symbolic link detection for directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5879
2021-03-05 08:22:35 -05:00
Olivier Iffrig
c456b09513 CPack: Fix symbolic link detection for directories
In the case where the current path is a symlink to a directory, a
trailing slash causes the link to be dereferenced, which means that any
subsequent `FileIsSymlink` on it will return false.

Fixes: #21886
2021-03-05 08:21:13 -05:00
Kitware Robot
96ee96c6d5 CMake Nightly Date Stamp 2021-03-05 00:01:17 -05:00
Brad King
5025b56843 Merge topic 'macos-arm64-rosetta'
fd714dd2b8 Tests: Fix FindPackageModeMakefileTest with CMAKE_OSX_ARCHITECTURES
42edf53ce2 Tests: Generalize FindPackageModeMakefileTest extra flags var

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5876
2021-03-04 12:33:37 -05:00
Brad King
9ec50ff157 cmake-gui: Restore search bar case insensitivity
Since these changes:

* commit f1de6f6682 (cmake-gui: Support building against Qt6,
                     2020-12-17, v3.20.0-rc1~205^2~7)
* commit 134d69121e (cmake-gui: Restore search bar for cache view and
                     environment dialog, 2021-02-22, v3.20.0-rc2~12^2)

the search bar is no longer case insensitive when using Qt 5.12.[0-1],
and possibly some later versions.  It works as of Qt 5.15 though, so
update our version check accordingly.

Fixes: #21884
2021-03-04 11:25:54 -05:00
Brad King
9bf40d8027 file(RENAME): Add option to not replace existing path
Add a `NO_REPLACE` option that prevents overwriting `<newname>`
if it exists.
2021-03-04 08:49:48 -05:00
Brad King
3600c6cd8c cmSystemTools: Add RenameFile option to not replace destination 2021-03-04 08:47:31 -05:00
Brad King
c61292726c file(RENAME): Add option to capture error message on failure 2021-03-04 08:44:06 -05:00
Brad King
0c2dc34504 cmSystemTools: Add RenameFile signature to capture the error message 2021-03-04 08:26:21 -05:00
Kitware Robot
1dde7e350a CMake Nightly Date Stamp 2021-03-04 00:01:19 -05:00
Brad King
adc351db8f Tests: Add RunCMake helper to run a plain script
Many tests covering CMake scripting commands can work without
initializing a full generator.
2021-03-03 16:41:30 -05:00
Brad King
fd714dd2b8 Tests: Fix FindPackageModeMakefileTest with CMAKE_OSX_ARCHITECTURES 2021-03-03 10:29:53 -08:00
Brad King
42edf53ce2 Tests: Generalize FindPackageModeMakefileTest extra flags var 2021-03-03 10:29:35 -08:00
Brad King
7eb867b255 Merge branch 'release-3.20' 2021-03-03 12:35:11 -05:00
Brad King
12a139f2b6 CMake 3.20.0-rc3 v3.20.0-rc3 2021-03-03 11:43:22 -05:00
Brad King
2f3a3eb01f Merge branch 'release-3.20' 2021-03-03 11:11:58 -05:00
Brad King
ef3d1ebda8 Merge topic 'android-r22' into release-3.20
005e2cdfb0 Android: Do not use gold for ndk >= r22
ed7a87f270 Tests: Update RunCMake.Android for NDK r22
4950d35733 Help: Document CMAKE_ANDROID_NDK_VERSION variable
746906242d Android: Detect NDK version number

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5862
2021-03-03 11:11:58 -05:00
Brad King
957a117c70 Merge topic 'android-r22'
005e2cdfb0 Android: Do not use gold for ndk >= r22
ed7a87f270 Tests: Update RunCMake.Android for NDK r22
4950d35733 Help: Document CMAKE_ANDROID_NDK_VERSION variable
746906242d Android: Detect NDK version number

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5862
2021-03-03 11:11:58 -05:00
Haibo Huang
005e2cdfb0 Android: Do not use gold for ndk >= r22
Fixes: #21772
2021-03-03 10:28:56 -05:00
Brad King
ed7a87f270 Tests: Update RunCMake.Android for NDK r22
Use `CMAKE_ANDROID_NDK_VERSION` to check for files expected based
on the version of the NDK.
2021-03-03 10:27:50 -05:00
Brad King
4950d35733 Help: Document CMAKE_ANDROID_NDK_VERSION variable 2021-03-03 10:27:50 -05:00
Haibo Huang
746906242d Android: Detect NDK version number
Report it in `CMAKE_ANDROID_NDK_VERSION`.
2021-03-03 10:26:36 -05:00
Brad King
a88efbc9cf Merge topic 'cpack-dmg-filesystem'
e3ac388738 cpack: add CPACK_DMG_FILESYSTEM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5873
2021-03-03 09:07:29 -05:00
Brad King
3aec26660a Merge topic 'nasm_add_deps'
48e74ec1e6 ASM_NASM: generate depfiles for other makefiles
fcf16e9459 ASM_NASM: Add depfile generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5868
2021-03-03 09:06:06 -05:00
Brad King
97944e01b0 Merge topic 'ci-nightly-ide-jobs' into release-3.20
e5698605d7 gitlab-ci: ignore failing tests for external IDE testing
beb130c65d gitlab-ci: allow some jobs to ignore failing tests on nightly runs
18d6737e96 gitlab-ci: always upload test and release artifacts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5871
2021-03-03 09:04:31 -05:00
Brad King
2a902fec28 Merge branch 'release-3.20' 2021-03-03 09:04:31 -05:00
Brad King
594483728c Merge topic 'ci-nightly-ide-jobs'
e5698605d7 gitlab-ci: ignore failing tests for external IDE testing
beb130c65d gitlab-ci: allow some jobs to ignore failing tests on nightly runs
18d6737e96 gitlab-ci: always upload test and release artifacts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5871
2021-03-03 09:04:31 -05:00
Brad King
d6670c5d1c Merge topic 'compilerid_require_success' into release-3.20
1bd8f19453 CMakeDetermineCompilerId: Fix REQUIRE_SUCCESS with multiple user flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5874
2021-03-03 09:03:34 -05:00
Brad King
b0f2d359f4 Merge branch 'release-3.20' 2021-03-03 09:03:34 -05:00
Brad King
aa10501d32 Merge topic 'compilerid_require_success'
1bd8f19453 CMakeDetermineCompilerId: Fix REQUIRE_SUCCESS with multiple user flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5874
2021-03-03 09:03:34 -05:00
Kitware Robot
f63628b704 CMake Nightly Date Stamp 2021-03-03 00:04:22 -05:00
Kevin Ushey
e3ac388738 cpack: add CPACK_DMG_FILESYSTEM
Allow users to configure the filesystem format of the generated `.dmg`
via the `CPACK_DMG_FILESYSTEM` option.

Fixes: #21874
2021-03-02 10:11:15 -05:00
Raul Tambre
1bd8f19453 CMakeDetermineCompilerId: Fix REQUIRE_SUCCESS with multiple user flags
Need to quote the list expansion otherwise we'll try each argument separately.
2021-03-02 16:20:45 +02:00
Brad King
ebb1cd4da7 Merge topic 'sphinx-latexpdf'
5302073010 Help: Add option to generate docs with latexpdf

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5833
2021-03-02 08:47:17 -05:00
Brad King
0d4e93e88b Merge topic 'Tocic-master-patch-04743'
507710438d FindBoost: Fix typo in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5869
2021-03-02 08:46:41 -05:00
Brad King
b212fba208 Merge topic 'FindOpenGL-GLX-no-GLVND' into release-3.20
fb4b2ed0d3 FindOpenGL: handle GLX without GLVND

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5861
2021-03-02 08:45:59 -05:00
Brad King
aa30ad8d1e Merge branch 'release-3.20' 2021-03-02 08:45:59 -05:00
Brad King
579c383336 Merge topic 'FindOpenGL-GLX-no-GLVND'
fb4b2ed0d3 FindOpenGL: handle GLX without GLVND

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5861
2021-03-02 08:45:59 -05:00
Brad King
f95796642b Merge topic 'more-import-export-guide-updates' into release-3.20
74c2ade187 Help/guide: fix the remaining CMake install destinations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5870
2021-03-02 08:45:14 -05:00
Brad King
19cbee6730 Merge branch 'release-3.20' 2021-03-02 08:45:14 -05:00
Brad King
4a8c8be4dd Merge topic 'more-import-export-guide-updates'
74c2ade187 Help/guide: fix the remaining CMake install destinations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5870
2021-03-02 08:45:14 -05:00
Francesco Bertolaccini
48e74ec1e6 ASM_NASM: generate depfiles for other makefiles 2021-03-02 12:27:47 +01:00
Kitware Robot
e6ca675a29 CMake Nightly Date Stamp 2021-03-02 00:01:16 -05:00
Ben Boeckel
e5698605d7 gitlab-ci: ignore failing tests for external IDE testing 2021-03-01 16:06:22 -05:00
Ben Boeckel
beb130c65d gitlab-ci: allow some jobs to ignore failing tests on nightly runs 2021-03-01 15:51:27 -05:00