summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cmSystemTools: Add MakeTempDirectoryMatthew Woehlke2022-09-052-1/+117
| | | | | | | | | | | | Add a cross-platform wrapper over mkdtemp. This will allow us to create guaranteed-unique directories. On POSIX platforms, this is simply a wrapper over mkdtemp. On Windows, we take a brute-force approach using C++11's random facilities and relying on attempts to create an existing directory resulting in an error. (This approach is very possibly how mkdtemp is implemented internally, and should be suitable for any platform if needed, although at present it only uses a partial set of substitution characters since Windows likely implies a case-insensitive file system.)
* Merge topic 'cuda_mark_toolkit_includes_as_system'Brad King2022-08-196-6/+31
|\ | | | | | | | | | | | | ea659b155d CUDA: Always mark cuda toolkit as system include Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7476
| * CUDA: Always mark cuda toolkit as system includeRobert Maynard2022-08-186-6/+31
| | | | | | | | Fixes: #23731
* | Merge topic 'try_compile-clean-up-tests'Brad King2022-08-191-36/+10
|\ \ | | | | | | | | | | | | | | | | | | 299cd3e6ab try_compile: Clean up tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7591
| * | try_compile: Clean up testsMatthew Woehlke2022-08-181-36/+10
| | | | | | | | | | | | | | | | | | Switch order of one try_compile test so that the total set of tests is in a more sensible order. Remove two duplicate tests. Remove some gratuitous (and not entirely accurate) messages.
* | | Merge topic 'feature/cmake-man-page-short-option-first'Brad King2022-08-191-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 536a25fedc Help: Convenient declaration for `-j, --parallel` option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7588
| * | | Help: Convenient declaration for `-j, --parallel` optionAlex Turbov2022-08-181-1/+1
| | | |
* | | | Merge topic 'ci-linux-extdeps'Brad King2022-08-1919-7/+191
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b55152e7ad gitlab-ci: add jobs to test CMake with external dependencies on Linux 6a05d107ca ci: add CMake external build dependencies to Debian and Fedora base images d3c1b8a491 jsoncpp: Require version 1.6.0 when using system-provided library 68d3ca7008 Tests: Fix RunCMake.FileAPI test with jsoncpp < 1.7.5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7592
| * | | | gitlab-ci: add jobs to test CMake with external dependencies on LinuxBrad King2022-08-1812-2/+133
| | | | | | | | | | | | | | | | | | | | | | | | | Test that CMake works without its bundled dependencies. For some dependencies, test using the minimum supported version.
| * | | | ci: add CMake external build dependencies to Debian and Fedora base imagesBrad King2022-08-184-3/+45
| | | | |
| * | | | jsoncpp: Require version 1.6.0 when using system-provided libraryBrad King2022-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | We need the `ValueIterator::name()` method.
| * | | | Tests: Fix RunCMake.FileAPI test with jsoncpp < 1.7.5Brad King2022-08-183-1/+12
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Prior to jsoncpp commit `126bdc2b05` (Reject extra chars if strictRoot, 2016-08-21, 1.7.5~2), it did not diagnose trailing characters in the input after a JSON value. Teach our corresponding test case to tolerate the old behavior.
* | | | Merge branch 'release-3.24'Brad King2022-08-190-0/+0
|\ \ \ \
| * \ \ \ Merge topic 'doc-var-refs' into release-3.24Brad King2022-08-191-6/+8
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 159acea394 Help: Clarify that variable references may use cache entries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7589
* | \ \ \ \ Merge topic 'doc-var-refs'Brad King2022-08-191-6/+8
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 159acea394 Help: Clarify that variable references may use cache entries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7589
| * | | | | Help: Clarify that variable references may use cache entriesBrad King2022-08-181-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clarify in `cmake-language(7)` that a variable lookup may use a cache entry if the variable is not set. Fix misleading text in added by commit 8ba2a8d4a4 (Help: short/long variable reference in if command, 2018-11-01, v3.14.0-rc1~408^2~2). Fixes: #23863
* | | | | | Merge branch 'release-3.24'Brad King2022-08-190-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge topic 'ci-cmake-update' into release-3.24Brad King2022-08-194-9/+10
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 05a1464689 ci: use CMake 3.24.1 c3793b4157 CMake 3.24.1 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7590
* | \ \ \ \ \ Merge topic 'ci-cmake-update'Brad King2022-08-192-6/+6
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 05a1464689 ci: use CMake 3.24.1 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7590
| * | | | | | ci: use CMake 3.24.1Brad King2022-08-182-6/+6
| | |/ / / / | |/| | | |
* | | | | | CMake Nightly Date StampKitware Robot2022-08-191-1/+1
| |_|/ / / |/| | | |
* | | | | Merge topic 'cmake-E-env-modify'Brad King2022-08-1819-6/+152
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c9d70a7cc3 cmake -E env: Add --modify flag Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7571
| * | | | | cmake -E env: Add --modify flagAlex Reinking2022-08-1719-6/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `cmake -E env` is given the `--modify` flag, try to parse the following argument as an `ENVIRONMENT_MODIFICATION` operation and apply it to the environment. This generalizes `--unset=`: 1. When implementing `ENVIRONMENT_MODIFICATION` features for other CMake commands, the `MYVAR=OP:VALUE` strings do not need to be translated to OP-specific flags. 2. This provides a natural and consistent extension point to introduce new operations without introducing very many flags. 3. Users need to learn only one syntax to access the same functionality. There is one difference between the behavior here as compared to CTest's interpretation of the `ENVIRONMENT_MODIFICATION` test property. The `MYVAR=reset:` command when run in `cmake -E env` will reset `MYVAR` to whatever its value was when `cmake -E env` launched, rather than try to checkpoint after plain `MYVAR=VALUE` options. This makes `MYVAR=VALUE` and `--modify MYVAR=set:VALUE` semantically equivalent.
* | | | | | Merge topic 'try_compile-no-try_run-args'Brad King2022-08-182-35/+20
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b976b844d2 try_compile: Don't accept try_run arguments 24c83bb35b try_compile: Fix quotes in reporting of unknown arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7585
| * | | | | | try_compile: Don't accept try_run argumentsMatthew Woehlke2022-08-172-34/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify cmCoreTryCompile to only recognize try_run arguments when actually parsing try_run. (The old behavior was to recognize try_run arguments for try_compile also and then complain.) This has a small chance that a try_run keyword will be consumed as part of a multi-valued keyword argument. However, this behavior is more consistent with other commands, as we don't normally treat keywords as universally reserved. Also, the code is noticeably simplified.
| * | | | | | try_compile: Fix quotes in reporting of unknown argumentsMatthew Woehlke2022-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 6b427d8da9 (cmCoreTryCompile: Port to cmArgumentParser, 2022-08-01) we inadvertently dropped a matching quote during refactoring of reporting unknown arguments given to try_compile/try_run. Add the missing quote to match the old behavior and not have an imbalanced quote in the warning.
* | | | | | | Merge topic 'argparse-positional-tweak'Brad King2022-08-183-10/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f2ef60ca54 cmArgumentParser: Ignore positional after keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7584
| * | | | | | | cmArgumentParser: Ignore positional after keywordMatthew Woehlke2022-08-173-10/+23
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tweak cmArgumentParser to ignore positional arguments once a keyword argument has been seen. This prevents mingling of keyword arguments being able to effectively skip positional arguments, with later arguments being picked up again; this seems highly likely to lead to user confusion. This is also consistent with how other languages (e.g. Python) handle a mix of "named" and positional arguments.
* | | | | | | Merge topic 'create_test_sourcelist-special-chars'Brad King2022-08-181-3/+1
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f0802b2f50 create_test_sourcelist: Add support for more special characters in paths Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7587
| * | | | | | create_test_sourcelist: Add support for more special characters in pathsKlaas Speller2022-08-171-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `cmSystemTools::MakeCidentifier` to robustly create a valid function name to which the test path maps. Fixes: #23855
* | | | | | | CMake Nightly Date StampKitware Robot2022-08-181-1/+1
| | | | | | |
* | | | | | | Merge topic 'fortran-compiler-list'Brad King2022-08-171-25/+11
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 35759e2497 Fortran: cleanup compiler default search list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7548
| * | | | | | | Fortran: cleanup compiler default search listMichael Hirsch2022-08-161-25/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made GNU gfortran be last in the list as per the docstring immmediately preceding. One high-level version-free name per vendor.
* | | | | | | | Merge branch 'release-3.24'Brad King2022-08-171-2/+3
|\ \ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | |
| * | | | | | | CMake 3.24.1v3.24.1Brad King2022-08-172-3/+4
| | |_|_|_|/ / | |/| | | | |
* | | | | | | Merge branch 'release-3.24'Brad King2022-08-170-0/+0
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Merge topic 'revert-ci-msvc-14.33' into release-3.24Brad King2022-08-171-7/+7
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3a7202bfc7 gitlab-ci: Revert Windows builds from MSVC 14.33 to MSVC 14.32 toolset Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7586
* | \ \ \ \ \ \ Merge topic 'revert-ci-msvc-14.33'Brad King2022-08-171-7/+7
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | / / | |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | 3a7202bfc7 gitlab-ci: Revert Windows builds from MSVC 14.33 to MSVC 14.32 toolset Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7586
| * | | | | | gitlab-ci: Revert Windows builds from MSVC 14.33 to MSVC 14.32 toolsetBrad King2022-08-171-7/+7
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 6f17996edc (gitlab-ci: Update Windows builds to MSVC 14.33 toolset, 2022-08-15). A `cmake-gui` built with the MSVC 14.33 toolset emits spurious errors when configuring CMake projects, even when the adjacent `cmake` binary succeeds reliably. Revert to the known-working MSVC 14.32 toolset pending further investigation. Issue: #23859
* | | | | | Merge branch 'release-3.24'Brad King2022-08-170-0/+0
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge topic 'FindVulkan-tolerate-FATAL_ERROR' into release-3.24Brad King2022-08-172-0/+15
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9063674517 Help: Add 3.24 release note about FindVulkan component enforcement bc01362368 FindVulkan: Restore tolerance of unknown FATAL_ERROR component Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7583
* | \ \ \ \ \ Merge topic 'FindVulkan-tolerate-FATAL_ERROR'Brad King2022-08-172-0/+15
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9063674517 Help: Add 3.24 release note about FindVulkan component enforcement bc01362368 FindVulkan: Restore tolerance of unknown FATAL_ERROR component Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7583
| * | | | | | Help: Add 3.24 release note about FindVulkan component enforcementBrad King2022-08-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 6e4d20921d (FindVulkan: Add component for `shaderc_combined`, 2022-05-18, v3.24.0-rc1~111^2~5), the module rejects unknown components. Add a release note about this behavior change. Issue: #23849
| * | | | | | FindVulkan: Restore tolerance of unknown FATAL_ERROR componentBrad King2022-08-171-0/+10
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `find_package(Vulkan REQUIRED FATAL_ERROR)` calls exist in the wild, but `find_package` does not have a `FATAL_ERROR` option. We silently tolerated such calls prior to commit 6e4d20921d (FindVulkan: Add component for `shaderc_combined`, 2022-05-18, v3.24.0-rc1~111^2~5), by treating the argument as a component and ignoring it. Restore tolerance by removing the component and warning about it. Fixes: #23849
* | | | | | Merge topic 'fix-gcov-test'Brad King2022-08-171-2/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0ccaa7ecb9 Tests: Fix GCOV test in unusual environments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7580
| * | | | | | Tests: Fix GCOV test in unusual environmentsMatthew Woehlke2022-08-161-2/+3
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | Tweak path computation in CTestCoverageCollectGCOV test so that the test doesn't spuriously fail if the build directory is a symlink.
* | | | | | Merge topic 'output_all_attempts_at_compiler_detection'Brad King2022-08-171-2/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c5bd7fe3a CompilerId: Output errors from all attempts at detection Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7576
| * | | | | | CompilerId: Output errors from all attempts at detectionRobert Maynard2022-08-161-2/+6
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Instead of printing the output of the last attempt, print the output of all attempts. This shows users that CMake isn't ignoring any provided flags ( LANG_FLAGS ).
* | | | | | Merge topic 'fix-xcode-install-path'Brad King2022-08-171-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 61acaa12af xcode: Don't set INSTALL_PATH unless target is SHARED_LIBRARY Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7473
| * | | | | | xcode: Don't set INSTALL_PATH unless target is SHARED_LIBRARYTor Arne Vestbø2022-08-161-3/+3
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An empty INSTALL_PATH will confuse Xcode, resulting in the archive action producing archives that can not be uploaded to the App Store. The logic to pull out a install_name_dir only applies to SHARED_LIBRARY targets, so we can skip the setting of the property for all other targets. There might be cases where the INSTALL_PATH code path will also end up setting an empty INSTALL_PATH, but it's unclear whether this is a problem, so to keep the patch minimal the existing code is left as is. Fixes: #15183