summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Remove component size limit for version comparisonsDavid Gobbi2023-02-201-2/+20
| | | | | | | | | The VersionCompare() function converted version components to 'unsigned long' prior to comparing them. Any version components too large for 'unsigned long' were treated as equal to ULONG_MAX. This impacted operators like VERSION_GREATER, VERSION_LESS, and VERSION_EQUAL. The new code does not limit the length of the version components for valid comparisons.
* Tests: Add cases for cmSystemTools::VersionCompareDavid Gobbi2023-02-201-0/+29
|
* Merge topic 'ninja-custom-command-depends'Brad King2023-02-202-10/+48
|\ | | | | | | | | | | | | | | ea2a05f402 Add variable CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8220
| * Add variable CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLYAbdelmaged Khalifa2023-02-172-10/+48
| | | | | | | | | | | | | | Add CMake variable `CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY` to enable option `DEPENDS_EXPLICIT_ONLY` on all uses of `add_custom_command`. Fixes: #17097
* | Merge topic 'xcode-revert-header-map'Brad King2023-02-204-0/+14
|\ \ | | | | | | | | | | | | | | | | | | 841272eb35 Xcode: Restore suppression of header maps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8218
| * | Xcode: Restore suppression of header mapsBrad King2023-02-174-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 8527f42b96 (Xcode: Explicitly disable deprecated user include path feature, 2023-01-31, v3.26.0-rc1~7^2) we dropped the Xcode build setting `USE_HEADERMAP = NO` because Xcode 14's "Build Documentation" feature (`xcodebuild RUN_DOCUMENTATION_COMPILER=YES`) fails in some cases without header maps. However, enabling header maps causes Xcode to add `-iquote .../foo.hmap` and `-I .../bar.hmap` flags that can change the intended header file search order based on the contents of the header maps. This can break existing projects. Restore the `USE_HEADERMAP = NO` setting to fix the header file search order. Further investigation will be needed to resolve the problematic cases with the Xcode 14 "Build Documentation" feature. Meanwhile projects encountering such cases can set the `XCODE_ATTRIBUTE_USE_HEADERMAP` target property to `YES` themselves. Fixes: #24418 Issue: #24379
* | | Merge topic 'lcc-lfortran-fix'Brad King2023-02-172-8/+11
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 9f9d121ddb LCC: Disable Fortran preprocessor testing if unsupported ea5f1f33fd LCC: Disable implicit testing of FortranCInterface 5434547678 LCC: Don't require liblfortran on lcc versions that don't have it Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8214
| * | LCC: Disable Fortran preprocessor testing if unsupportedmakise-homura2023-02-161-7/+10
| | | | | | | | | | | | | | | | | | LCC < 1.24 has no way to disable integrated Fortran preprocessor, and it can't produce preprocessed files explicitly. So we disable all functionality (and therefore tests) related to it.
| * | LCC: Disable implicit testing of FortranCInterfacemakise-homura2023-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | LCC < 1.24 has unsupported mangling scheme: it changes 'sub' neither to 'sub' nor to 'SUB', but to 'Sub'. So we should explicitly check if FortranCInterface works in the case of LCC.
* | | Merge topic 'deprecate-extra-generators'Brad King2023-02-161-0/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef5a4d964b Deprecate "extra" generators in favor of cmake-file-api(7) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8211
| * | | Deprecate "extra" generators in favor of cmake-file-api(7)Brad King2023-02-151-0/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "extra" generators were created in CMake's early years to provide support for users of specific IDEs by directly generating their project files alongside make or ninja files. Nowadays the file-api provides a more generic, maintainable, well-tested, and robust way for IDEs to view CMake project build trees. Deprecate the legacy "extra" generators to encourage the corresponding IDEs to use the file-api. Fixes: #19090
* | | cmake -E time: use C++11 chrono and better format outputscivision2023-02-151-1/+1
|/ / | | | | | | fixes #24415
* | Merge topic 'AutoExport-vftable'Brad King2023-02-153-0/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | f513781bc5 WINDOWS_EXPORT_ALL_SYMBOLS: Export vftable symbol Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8201
| * | WINDOWS_EXPORT_ALL_SYMBOLS: Export vftable symbolMalcolm Bechard2023-02-143-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | `pybind11` requires access to this symbol to link in some cases. Include this symbol when generating automatic exports via `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS`. Fixes: #24406
* | | Merge topic 'ninja-custom-command-depends'Brad King2023-02-152-0/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 082ccd7530 add_custom_command: Add DEPENDS_EXPLICIT_ONLY option for Ninja Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8198
| * | | add_custom_command: Add DEPENDS_EXPLICIT_ONLY option for NinjaAbdelmaged Khalifa2023-02-142-0/+30
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Add option `DEPENDS_EXPLICIT_ONLY` to `add_custom_command` to indicate that implicit dependencies coming from users of the output are not needed, and only consider dependencies explicitly specified in the custom command. Fixes: #17097
* | | Merge topic 'test-extra-generators'Brad King2023-02-155-30/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6cf281b108 Tests: Add dedicated RunCMake.ExtraGenerators test Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8202
| * | | Tests: Add dedicated RunCMake.ExtraGenerators testBrad King2023-02-135-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | The `Simple_${extraGenerator}` tests do not actually need to compile because they only smoke test CMake's generation of the extra project files.
* | | | Tests: Fix FindPatch test with VS generatorsBrad King2023-02-131-0/+1
|/ / / | | | | | | | | | Tell CTest the project used to name the `.sln` file.
* | | Merge topic 'deprecate-pre-3.5'Brad King2023-02-13328-532/+455
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3a4791548d Deprecate compatibility with CMake versions older than 3.5 1edf138506 Tests/RunCMake: Update cmake_minimum_required versions 65a1c379ee Tests/CTestTest*: Update cmake_minimum_required versions 589e6fdcd1 Tests: Update cmake_minimum_required versions in a few tests 3092b14ed0 Tests: Teach RunCMake to optionally ignore policy version deprecation warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8192
| * | | Deprecate compatibility with CMake versions older than 3.5Brad King2023-02-1150-66/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue a deprecation warning on calls to `cmake_minimum_required` or `cmake_policy` that set policies based on versions older than 3.5. Note that the effective policy version includes `...<max>` treatment. Update the check from commit 5845c218d7 (Deprecate compatibility with CMake versions older than 2.8.12, 2020-06-12, v3.19.0-rc1~629^2).
| * | | Tests/RunCMake: Update cmake_minimum_required versionsBrad King2023-02-11240-367/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For policy-specific tests, use the version before the policy was introduced. Otherwise, use 3.5 where possible. Also, remove `cmake_minimum_required()` and `project()` calls from individual cases where they are handled by `CMakeLists.txt`.
| * | | Tests/CTestTest*: Update cmake_minimum_required versionsBrad King2023-02-1024-24/+24
| | | |
| * | | Tests: Update cmake_minimum_required versions in a few testsBrad King2023-02-103-3/+3
| | | |
| * | | Tests: Teach RunCMake to optionally ignore policy version deprecation warningsBrad King2023-02-0914-75/+19
| |/ / | | | | | | | | | | | | Avoid requiring tests for deprecated behavior to match the warnings explicitly.
* | | Merge topic 'test-https-connections'Brad King2023-02-116-1/+28
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | 3350c17451 ci: Enable file(DOWNLOAD) TLS_VERIFY test case in CI jobs 17b47da3d8 Tests: Add test for file(DOWNLOAD) with TLS_VERIFY Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8194
| * Tests: Add test for file(DOWNLOAD) with TLS_VERIFYscivision2023-02-106-1/+28
| | | | | | | | | | | | | | | | | | | | | | Occasionally curl updates introduce errors in https verification. Add an explicit test for this capability, activated by an undocumented option that we can use in CI to specify a URL to test. Co-authored-by: Brad King <brad.king@kitware.com> Fixes: #24405 Issue: #24147 Issue: #24398
| * Merge topic 'stop_parsing_after_first_script_arg' into release-3.26Brad King2023-02-092-0/+11
| |\ | | | | | | | | | | | | | | | | | | f9e8a067c2 cmake: Stop parsing after `--` when detecting script mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8186
* | \ Merge topic 'vs9-deprecate'Brad King2023-02-096-4/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | d7f440c5db Deprecate Visual Studio 9 2008 generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8181
| * | | Deprecate Visual Studio 9 2008 generatorBrad King2023-02-086-4/+18
| | | | | | | | | | | | | | | | | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* | | | Merge topic 'stop_parsing_after_first_script_arg'Brad King2023-02-092-0/+11
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | f9e8a067c2 cmake: Stop parsing after `--` when detecting script mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8186
| * | cmake: Stop parsing after `--` when detecting script modeRobert Maynard2023-02-082-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | The fix in commit 08aa516880 (cmake: Stop parsing after `--` when detecting script mode, 2022-12-06, v3.26.0-rc1~216^2) only corrected the case where `-P -- -P <arg>` occurred and not `-P -- -P -<other>`. Fixes: #24220
* | | Merge topic 'ctest-remove-cmake-intdir'Brad King2023-02-081-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db95afce19 Tests/OutDir: Remove stale cache entry on multi-config generators c6134ca6c7 CTest: Remove usages of CMAKE_INTDIR Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8176
| * | | Tests/OutDir: Remove stale cache entry on multi-config generatorsKyle Edwards2023-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This cache entry is left over from the incorrect behavior prior to the previous commit and was causing the test to fail with the new, correct behavior. Unset the cache variable when a multi-config generator is in use.
* | | | Tests: Remove references to dropped KWSys SharedForward componentBrad King2023-02-072-17/+0
| | | |
* | | | Merge topic 'avoid-cmake-cfg-intdir'Brad King2023-02-072-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2b17b6da6a cmGlobalGenerator: Avoid referencing CMAKE_CFG_INTDIR f34876561f Tests: Remove or silence instances of ${CMAKE_CFG_INTDIR} 78cf427157 RULE_LAUNCH_*: Add support for generator expressions cabad8a37f ExternalProject: Always use $<CONFIG> for source files 62e8884d3f CTestTargets: Use $<CONFIG> instead of ${CMAKE_CFG_INTDIR} Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8169
| * | | | Tests: Remove or silence instances of ${CMAKE_CFG_INTDIR}Kyle Edwards2023-02-032-2/+2
| | | | |
* | | | | Merge topic 'cxxmodules-proper-mangling'Brad King2023-02-076-0/+12
|\ \ \ \ \ | |_|/ / / |/| | | / | | |_|/ | |/| | | | | | | | | | | | | | 3f1e005067 Tests/RunCMake/CXXModules: declare `forwarding` as `extern "C++"` Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8159
| * | | Tests/RunCMake/CXXModules: declare `forwarding` as `extern "C++"`Ben Boeckel2023-02-036-0/+12
| | |/ | |/| | | | | | | It is not part of any module, so it needs to be declared as such.
* | | Tests: Drop redundant string(ASCII) case from COnly testBrad King2023-02-031-2/+0
| | | | | | | | | | | | | | | | | | Drop the case added by commit 8714396927 (Test conversion from ascii to string, 2003-01-01, v2.4.0~4658). Its results were not checked, and the command is tested elsewhere anyway.
* | | Tests: Move LINK_FLAGS case from COnly to LinkFlags testBrad King2023-02-032-4/+5
| |/ |/| | | | | | | | | Move the case added by commit 246e964180 (BUG: fix for bug 5455, handle nodefaultlib with more than one lib, 2007-12-06, v2.6.0~751) to a more sensible test.
* | Merge topic 'lang-linker-launcher-genex'Brad King2023-02-0329-26/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 33e27f6ca6 <LANG>_LINKER_LAUNCHER: Allow generator expressions 84ada0b0c9 <LANG>_COMPILER_LAUNCHER: Expand subset of genexes that can be evaluated Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8152
| * | <LANG>_LINKER_LAUNCHER: Allow generator expressionsKyle Edwards2023-02-029-9/+10
| | |
| * | <LANG>_COMPILER_LAUNCHER: Expand subset of genexes that can be evaluatedKyle Edwards2023-02-0220-17/+17
| |/
* | Add deprecation warnings for policies CMP0114 and belowBrad King2023-02-0119-1/+193
|/ | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.19 and below to encourage projects to port away from setting policies to OLD.
* try_compile: Record propagated CMake variables in configure logBrad King2023-02-014-0/+47
| | | | | | | These provide more detailed information about how the test project was configured. Issue: #23200
* Merge topic 'msvc-showIncludes'Brad King2023-01-3034-18/+146
|\ | | | | | | | | | | | | | | | | | | | | 8f82e755f3 Ninja: Fix detection of MSVC showIncludes prefix in Italian d6e7e4d4a1 Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languages 9596305c0b Tests: Generalize RunCMake.Ninja ShowIncludes test infrastructure c6dd4fa21d Tests: Extend RunCMake.Ninja ShowIncludes case with sample path a9d97492fd Ninja: Record showIncludes detection in configure log Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8129
| * Ninja: Fix detection of MSVC showIncludes prefix in ItalianBrad King2023-01-285-0/+15
| | | | | | | | | | | | The prefix does not have two colons. Update our regex. Fixes: #24357
| * Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languagesBrad King2023-01-2821-0/+93
| | | | | | | | Add cases for English, French, German, and Japanese.
| * Tests: Generalize RunCMake.Ninja ShowIncludes test infrastructureBrad King2023-01-2810-15/+35
| | | | | | | | Prepare to add support for more languages.