summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'GoogleTest-type-param-suite' into release-3.24Brad King2023-03-035-3/+67
|\ | | | | | | Merge-request: !8282
| * GoogleTest: Restore suite name for type-parametrized testsBrad King2023-03-035-3/+67
| | | | | | | | | | | | | | | | Fix a regression from commit 073dd1bd81 (GoogleTest: Change format for typed tests, 2022-02-07, v3.23.0-rc1~4^2) in the suite name detection. Co-authored-by: Evgeniy Shcherbina <ixsci@pm.me> Fixes: #24563
* | Tests: Fix CTest.UpdateGIT under repo-local defaultBranch configBrad King2023-01-111-1/+1
| | | | | | | | | | | | | | | | | | The default branch detection added by commit 26ec2e2b0c (Tests: Update CTest.UpdateGIT test for custom defaultBranch, 2020-12-02, v3.20.0-rc1~355^2) fails if the test is run inside a Git work tree whose `.git` directory configures a `defaultBranch` that is different from the global or system-wide value. Fix the detection to ignore the locally configured value so that we match the `git init` decision.
* | Tests: Update FindBoost.TestPython for Python 3.11 and 3.12Brad King2022-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | Follow up the python 3.11 and 3.12 support from: * commit 43844c5d82 (FindPython: Add support for Python 3.11, 2021-12-07, v3.22.2~20^2) * commit ca2877c039 (FindPython: add support for Python 3.12, 2022-05-11, v3.23.2~15^2) with an update for the FindBoost test.
* | Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branchSean McBride2022-11-032-14/+20
| | | | | | | | | | | | Backport commit d5694e4623 (Source: Replace uses of sprintf with safer snprintf, 2022-06-17, v3.25.0-rc1~587^2) to the CMake 3.24 branch. This is needed to compile without warnings using Xcode 14.1's macOS 13.0 SDK.
* | Merge branch 'ninja-intl-paths' into release-3.24Brad King2022-10-274-0/+22
|\ \ | |/ | | | | Merge-request: !7833
| * Tests: Add case for ninja with non-ascii charsBrad King2022-10-264-0/+22
| | | | | | | | Issue: #24089
* | Merge branch 'try_compile-CMP0128' into release-3.24Brad King2022-10-251-4/+5
|\ \ | |/ | | | | Merge-request: !7821
| * Tests: Avoid running C++11 test on GNU < 4.7Brad King2022-10-241-4/+5
| | | | | | | | | | | | The test added in commit 50e90e2828 (try_compile: Honor CMP0128 setting in test project, 2022-10-18, v3.25.0-rc2~4^2) requires that the compiler support C++11 mode, so do not run it on GNU compilers that are too old.
* | Tests: Explicitly allow usage of git file-based protocol in test casesBrad King2022-10-201-0/+2
| | | | | | | | | | | | | | | | | | Due to CVE-2022-39253, Git 2.30.6 sets `protocol.file.allow=user` by default. The change has also been backported to other Git versions by distros. This breaks some of our test cases that use the file-based protocol locally to simulate real workflows without requiring network access. In these cases the file protocol is safe, so explicitly enable it in the tests.
* | Merge branch 'try_compile-CMP0128' into release-3.24Brad King2022-10-185-0/+66
|\ \ | |/ | | | | Merge-request: !7803
| * try_compile: Honor CMP0128 setting in test projectBrad King2022-10-185-0/+66
| | | | | | | | | | | | | | | | | | Some projects pass a raw `-std=` flag to the compiler in the `try_compile` project. If they do not set CMP0128 to NEW, we should not append a `-std=` flag where we did not before the policy was added. Fixes: #24063
* | LLVMFlang: Add support for mixed-language linking with FortranBrad King2022-10-115-2/+48
| | | | | | | | | | | | | | | | | | Parse implicit link information for this compiler to support mixed-language linking. This was missed by commit 85749766df (LLVMFlang: Add support for LLVM Flang, 2021-07-07, v3.24.0-rc1~86^2). Also activate mixed-language test cases that would have caught this. Issue: #22387
* | Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0Brad King2022-09-305-29/+53
| | | | | | | | Issue: #24011
* | ctest: only report make-level errors when no others are foundZack Galbreath2022-09-266-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | In commit ab9ad2a6a0 (ctest: report make-level errors to CDash when using launchers, 2020-09-24, v3.19.0-rc1~84^2~1) we taught CTest to capture and report errors from the build command when using launchers. This had the unintended side effect of reporting a separate build error containing the full build output when the build command returns non-zero. To fix this problem, we now only report build command errors from CTest launchers when no other more specific build errors are found. Fixes: #23991
* | Merge topic 'parse-large-int' into release-3.24Brad King2022-09-211-0/+35
|\ \ | |/ | | | | | | | | | | | | | | 8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux 31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7698
| * cmStringAlgorithms: Add functions to parse strings to long long integersBrad King2022-09-201-0/+35
| |
| * cmake: In -P mode ignore extra paths on the command lineRobert Maynard2022-07-223-0/+13
| | | | | | | | Fixes: #23748
* | Apple: Fix regression when linking a framework with postfixMarc Chevrier2022-09-141-0/+5
| | | | | | | | | | | | | | Fix a regression caused by commit 40178f3c90 (cmGlobalGenerator: Add helper to split framework path, 2022-02-10, v3.24.0-rc1~661^2~1). Fixes: #23961
* | FetchContent: Ignore EXACT for redirected find_package() callsCraig Scott2022-09-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | When FetchContent_MakeAvailable() populates a dependency for which find_package() integration is enabled, all future calls to find_package() MUST succeed using the contents of the redirection directory. The generated config version file was not handling calls where the EXACT keyword was given, resulting in such calls rejecting the redirection directory's contents and continuing its search. It is not allowed to do that. Fix the generated file to also set PACKAGE_VERSION_EXACT to true so that calls with EXACT now accept it, as was originally intended. Fixes: #23950
* | Merge topic 'truncation_invalid' into release-3.24Brad King2022-09-097-0/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | bd30d20bc3 Tests: Add cases covering bad ctest output truncation types dbf840392d ctest: print error for invalid CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7596
| * | Tests: Add cases covering bad ctest output truncation typesBrad King2022-09-077-0/+10
| | | | | | | | | | | | Issue: #23869
* | | Check link libraries properties: fix performances regressionMarc Chevrier2022-09-072-5/+5
|/ / | | | | | | Fixes: #23939
* | RunCMakeTest: fix Truncation test definitionFrank Winklmeier2022-09-0511-11/+18
| | | | | | | | | | | | | | | | | | | | The `ctest_test` and `CTestCommandLine` truncation tests had multiple problems: - escape expected result string to avoid regex matching - specify the truncation size - pass the truncation mode correctly into the test definition - use unique test names Issue: #23868
* | Merge topic 'Link-MACOSX_BUNDLE' into release-3.24Brad King2022-09-015-0/+44
|\ \ | | | | | | | | | | | | | | | | | | f5a441a616 Xcode: Fix erroneous MACOSX_BUNDLE link Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7624
| * | Xcode: Fix erroneous MACOSX_BUNDLE linkMarc Chevrier2022-08-315-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit a2cfa2da4f (GenEx/LINK_LIBRARY: Add features for framework support on Apple, 2022-02-10, v3.24.0-rc1~661^2) accidentally removed a `GetParentDirectory` call. Restore it. Fixes: #23891
* | | Merge topic 'CMAKE_FIND_USE_INSTALL_PREFIX-support-staging-prefix' into ↵Brad King2022-08-317-0/+96
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-3.24 0fc10bb19b CMAKE_FIND_USE_INSTALL_PREFIX considers CMAKE_STAGING_PREFIX 43d31c5198 cmFindBase: Refactor CMAKE_FIND_USE_INSTALL_PREFIX handling Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7623
| * | | CMAKE_FIND_USE_INSTALL_PREFIX considers CMAKE_STAGING_PREFIXRobert Maynard2022-08-307-0/+96
| | | | | | | | | | | | | | | | Fixes #23900
* | | | Tests: Teach RunCMake.SymlinkTrees to tolerate CCACHE_BASEDIRBrad King2022-08-301-0/+3
| |/ / |/| | | | | | | | | | | | | | | | | | | | If the test is driven with a `ccache`-wrapped compiler then the `CCACHE_BASEDIR` environment variable might break paths the test checks. Fixes: #23885
* | | FILE_SET: Fix source group detectionKyle Edwards2022-08-243-0/+17
| | | | | | | | | | | | | | | | | | | | | Call MatchChildrenFiles() instead of MatchesFiles() in order to account for files being in subgroups of source groups. Fixes: #23880
* | | Tests: Fix VS10Project SourceGroupTreeCMakeLists checkKyle Edwards2022-08-242-4/+5
|/ / | | | | | | | | Fix an `IN LISTS` loop, fix a variable check, and escape backslashes in the regex used to search for source group names.
* | export: Restore exclusion of private shared library dependencies from checksBrad King2022-08-159-0/+64
| | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 8c65b7042e (cmExportFileGenerator: Simplify collection of targets missing from export set, 2022-04-11, v3.24.0-rc1~281^2) accidentally dropped the behavior change from commit 0ad2a1c181 (Export: Never treat private link libraries as public package dependencies., 2013-09-24, v3.0.0-rc1~559^2). Restore the behavior and add a test. Fixes: #23838
* | Merge topic 'makefile-path-consistency' into release-3.24Brad King2022-08-042-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 5e0b06fe84 Makefiles: Restore path consistency in the global dispatch makefile Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7543
| * | Makefiles: Restore path consistency in the global dispatch makefileBrad King2022-08-032-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Directory-level rules in `CMakeFiles/Makefile2` were previously previously written by each directory's local generator using its own decision for using relative or absolute paths. Since commit d33b12d84b (Add support for build tree symlink inside source tree, 2022-02-25, v3.24.0-rc1~583^2), each local generator explicitly models the relationship between its source and build paths, and uses this to determine when it is safe to use relative paths. Because `add_subdirectory` supports arbitrary placement of the source and build directories, different local generators may have different relationships between their source and build paths. This can cause disagreement among rules written to `CMakeFiles/Makefile2`. Restore consistency by always using the root local generator to write rules to `CMakeFiles/Makefile2`. Relative paths should always be expressed w.r.t. the top-level build directory since that is the working directory in which the `make` tool processing the file will run. Fixes: #23814
* | | Merge topic 'fetchcontent-set-CMAKE_VERIFY_INTERFACE_HEADER_SETS' into ↵Brad King2022-08-045-0/+31
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | release-3.24 2a9cc3e8e8 FetchContent: Disable header set verification for dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7535
| * | FetchContent: Disable header set verification for dependenciesCraig Scott2022-08-035-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMAKE_VERIFY_INTERFACE_HEADER_SETS variable is intended to be under the control of the user. It doesn't discriminate between header sets defined in the main project and those defined by dependencies brought into the build directly via FetchContent. Developers will usually only be interested in verifying the main project's header sets, not those from dependencies. Make the variable effectively only enable header set verification of the main project by turning it off during FetchContent_MakeAvailable() calls. The user still has variables like CMAKE_PROJECT_INCLUDE and CMAKE_PROJECT_<projectName>_INCLUDE available to them if they want to enable verification of all or specific dependencies respectively. Fixes: #23808
* | | VERIFY_INTERFACE_HEADER_SETS: Add verification target for allKyle Edwards2022-08-037-0/+34
|/ / | | | | | | Fixes: #23802
* | Merge topic 'verify-interface-header-sets-interface-library-source-language' ↵Brad King2022-07-282-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into release-3.24 41f15193e5 VERIFY_INTERFACE_HEADER_SETS: Fall back to global languages Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7517
| * | VERIFY_INTERFACE_HEADER_SETS: Fall back to global languagesKyle Edwards2022-07-272-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | If a target doesn't have any source files, fall back to the global list of enabled languages to determine the language of the header file to verify. Fixes: #23774
* | | VERIFY_INTERFACE_HEADER_SETS: Finalize compile info for verify targetsKyle Edwards2022-07-272-0/+6
|/ / | | | | | | Fixes: #23732
* | cmake: In -P mode ignore flags like `--version` after `--`Robert Maynard2022-07-223-3/+5
| | | | | | | | Fixes: #21031
* | cmake: In -P mode ignore extra paths on the command lineRobert Maynard2022-07-223-0/+13
| | | | | | | | Fixes: #23748
* | VS: Exclude ZERO_CHECK.proj from .sln for include_external_msprojectSumit Bhardwaj2022-07-204-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In `cmGlobalVisualStudio7Generator::WriteTargetsToSolution`, we skip writing `ZERO_CHECK.proj` to solution file as the check in `cmGlobalVisualStudioGenerator::IsInSolution` returns `false` for `ZERO_CHECK`. However, we write ZERO_CHECK to ProjectDependencies for external projects as there are no checks in `cmGlobalVisualStudio71Generator::WriteExternalProject`. Similar to `cmGlobalVisualStudioGenerator::IsInSolution`, we introduce `IsDepInSolution(const std::string&)` which excludes `ZERO_CHECK.proj` from being added to sln file for the cases where we have `ZERO_CHECK.proj`. Fixes: #23708
* | Merge topic 'export-try-compile-crash' into release-3.24Kyle Edwards2022-07-142-0/+10
|\ \ | |/ | | | | | | | | | | | | 29c7546a61 cmGlobalGenerator: Only compute build files for all targets Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7472
| * cmGlobalGenerator: Only compute build files for all targetsKyle Edwards2022-07-132-0/+10
| | | | | | | | | | | | | | | | If we're creating generation objects for imported targets only, we don't need the export sets. Only compute build file generators if generating for all targets. Fixes: #23709
| * Merge branch 'file-set-crash' into release-3.23Brad King2022-06-307-0/+28
| |\ | | | | | | | | | Merge-request: !7420
| * \ Merge branch 'xcode-14' into release-3.23Brad King2022-06-111-0/+2
| |\ \ | | | | | | | | | | | | Merge-request: !7350
* | \ \ Merge topic 'genex-LINK_LIBRARY-check-supported-properties' into release-3.24Brad King2022-07-0720-12/+68
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 913ea78d7a Genex LINK_LIBRARY and LINK_GROUP: check supported properties Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7454
| * | | | Genex LINK_LIBRARY and LINK_GROUP: check supported propertiesMarc Chevrier2022-07-0620-12/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refines check for properties supporting these genex. Enhance error message. Fixes: #23699
* | | | | Merge topic 'genex-LINK_LIBRARY-fix-generation' into release-3.24Brad King2022-07-064-0/+12
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | e8792da04b genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7443