summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branchBrad King2022-03-211-2/+0
| | | | | | | | | | | | | | | Revert commit f3ad061858 (Add usage requirements to update direct link dependencies, 2022-01-12, v3.23.0-rc1~44^2) and the property storage updates in its predecessor commit 193a999cd5 (cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage, 2022-01-06, v3.23.0-rc1~44^2~1) from the 3.23 release branch. After initial experience using the feature in practice, additional design considerations have been raised for discussion in the original issue. To avoid rushing this for the 3.23 series, we've decided to revert the feature for now so it can be revised for a future release. Issue: #22496
* Tests: Run MFC test only when explicitly enabledBrad King2022-02-031-103/+1
| | | | | | | | Previously we used a complicated heuristic to decide whether or not to run the MFC test, but it sometimes decided incorrectly to run the test. Since that was first written, we have developed a convention for other tests to enable them via undocumented cache entries that are added only on machines known to meet the tests' requirements. Do that for MFC.
* Add usage requirements to update direct link dependenciesBrad King2022-01-291-0/+2
| | | | | | | | | | | | | | | | | Link line construction starts with `LINK_LIBRARIES` and appends dependencies from the transitive closure of `INTERFACE_LINK_LIBRARIES`. Only the entries of `LINK_LIBRARIES` are considered direct link dependencies. In some advanced use cases, particularly involving static libraries and static plugins, usage requirements need to update the list of direct link dependencies. This may mean adding new items, removing existing items, or both. Add target properties to encode these usage requirements: * INTERFACE_LINK_LIBRARIES_DIRECT * INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE Fixes: #22496
* Merge topic 'ci-vs-managed'Brad King2021-12-061-1/+1
|\ | | | | | | | | | | | | 69419c5870 ci: Enable more VS tests that use managed code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6782
| * ci: Enable more VS tests that use managed codeBrad King2021-12-031-1/+1
| | | | | | | | | | | | | | A couple of VS tests were conditioned on `NOT CMAKE_GENERATOR_TOOLSET`, but in CI jobs with VS we always set `CMAKE_GENERATOR_TOOLSET`. Make the condition specific to excluding the `v90` toolset, which was its original intention anyway.
* | Merge topic 'vs-csproj-scripts'Brad King2021-12-031-0/+1
|\ \ | |/ | | | | | | | | | | 13a7ae2194 VS: Revert "Add missing label in C# project-build events" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6781
| * VS: Revert "Add missing label in C# project-build events"Brad King2021-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit b284a21fee (VS: Add missing label in C# project-build events, 2021-09-03, v3.22.0-rc1~156^2). The change broke cases using multiple successful custom commands. Revert it pending further investigation into the interaction of the generated script code with `Microsoft.Common.CurrentVersion.targets`, and whether this is needed for all managed projects or just C# projects. Also add a test covering the case that was broken. Fixes: #22964 Issue: #21440
* | Merge topic 'envmod-test-modifying-existing'Brad King2021-11-011-0/+7
|\ \ | |/ | | | | | | | | | | | | 9c4d6404eb Tests/Environment: also test modifying ambient values 7d52d48a32 cmCTestRunTest: get the default value from the environment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6682
| * Tests/Environment: also test modifying ambient valuesBen Boeckel2021-10-291-0/+7
| |
* | Merge topic 'lcc-compiler'Brad King2021-10-191-6/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 02b2607a5c Help: Add release note for MCST LCC compiler support e5d9fce03f LCC: Add dedicated support for MCST LCC compiler 2b9ef77944 CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecture 0995c75301 Tests/RPM: skip tests tat rely on debugedit if it's not found ea55ac9a51 Tests/RunCMake/CommandLine: Deal with locales that are different from English Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6608
| * | LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-6/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* | Tests: Disable SubDirSpaces test on Open WatcomBrad King2021-10-151-1/+1
|/ | | | Open Watcom 1.9 does not support spaces in the path.
* FindJasper: Add IMPORTED targetHiroshi Miura2021-10-061-0/+1
| | | | | Fixes: #20601 Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* Tests: Add support for testing Qt6Craig Scott2021-10-041-0/+10
| | | | | | | | | | | | The minimum CMake version for Qt6 is 3.16, so all the calls to cmake_minimum_required() are updated here to enforce that minimum. This will avoid any CMake version-related warnings from Qt. Avoid hard-coding Qt5 where the tests could now be using Qt5 or Qt6. Fixes: #22188
* Tests: Avoid output when running symlink checkBrad King2021-09-171-0/+2
| | | | | | | | Since commit 58d10cf6f1 (Alternative symlink-creating mode for file(INSTALL ...), 2021-08-02) we test creating a symlink during configuration to decide whether to activate some tests. Capture the process output during the check to avoid leaking the error message on failure.
* FindMatlab: Add imported targetsSilvio Traversaro2021-09-131-0/+2
|
* Tests: Fix check to add InstallMode testsBrad King2021-08-191-5/+4
| | | | | | | | | The check added by commit 58d10cf6f1 (Alternative symlink-creating mode for file(INSTALL ...), 2021-08-02) only works when re-running CMake in a build tree after building `cmake`. Use the driving CMake to check instead. Remove the stray link after creation. Also remove the message on failure: we do not use that convention.
* Merge topic 'symlinks-rebase-master'Brad King2021-08-101-0/+48
|\ | | | | | | | | | | | | | | 58d10cf6f1 Alternative symlink-creating mode for file(INSTALL ...) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6396
| * Alternative symlink-creating mode for file(INSTALL ...)Felix Lelchuk2021-08-021-0/+48
| | | | | | | | | | | | | | | | | | | | | | An new environment variable 'CMAKE_INSTALL_MODE' is introduced, which can be used to ask CMake to create symbolic links instead of copying files during a file(INSTALL ...). The operation is at the file level only, directory trees are still created using actual directories, not links. Signed-off-by: Felix Lelchuk <felix.lelchuk@gmx.de>
* | Deprecate Visual Studio 10 2010 generatorBrad King2021-07-291-0/+7
|/ | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* Tests: Add case covering FindGLUT variables and imported targetsChristopher Degawa2021-07-021-0/+1
| | | | Signed-off-by: Christopher Degawa <ccom@randomderp.com>
* VS: Add Visual Studio 17 2022 generatorBrad King2021-06-251-1/+7
| | | | Fixes: #22339
* Merge topic 'test-xcode-13' into release-3.21Brad King2021-06-211-1/+1
|\ | | | | | | | | | | | | 1dd0eae4fc Tests: Fix xcode version detection for Xcode 13 on ARM Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6248
| * Tests: Fix xcode version detection for Xcode 13 on ARMBrad King2021-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | Running `xcode -version` on an ARM box prints content to stderr: objc[...]: Class ... is implemented in both... One of the two will be used. Which one is undefined. Capture and parse only stdout. Otherwise we might configure test behavior for the wrong version of Xcode.
* | Tests: recognize Xcode 13 linker warningGregor Jasny2021-06-101-1/+1
| | | | | | | | | | | | | | | | | | The linker shipped with Xcode 13 changed the architecture mismatch linker warning into: ``` ld: warning: ignoring file libfoo.a, building for macOS-x86_64 but attempting to link with file built for macOS-i386 ```
* | Merge topic 'add_hip_language'Brad King2021-06-091-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8514ee9b31 HIP: analyze output of `hipcc` to determine default GPU architecture 20d086f1a2 HIP: All HIP tests now run on CMake's current AMD hardware 2e86e50c2f HIP: Add HIP to all the Check* modules 947dbed0aa HIP: Automatically inject the `hip::device` runtime target b50bfc8913 HIP: Add language to CMake ff0d2858e1 HIP: Extract clang compiler details from hipcc bd844387df ROCMClang: Add the ROCm toolkit derived clang compiler to CMake 590553f322 Compilers: protect use of __has_include ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Zack Galbreath <zack.galbreath@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Acked-by: Axel Huebl <axel.huebl@plasma.ninja> Merge-request: !6121
| * | HIP: Add language to CMakeRobert Maynard2021-06-071-0/+4
| | |
* | | Merge topic 'install-with-runtime-dependencies'Brad King2021-06-081-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d898cb3e1 FileAPI: Add integration for runtime dependency installers 72f2448e82 Help: Add documentation for runtime dependency installation 0c3c6acaff Tests: Add tests for new options 4910132d8c install: Add RUNTIME_DEPENDENCY_SET mode bc8a4a06a4 install(IMPORTED_RUNTIME_ARTIFACTS): Add RUNTIME_DEPENDENCY_SET option 3e7d3c252a install(TARGETS): Add RUNTIME_DEPENDENCY_SET argument ed3633d88c install(TARGETS): Add RUNTIME_DEPENDENCIES option f2617cf8e6 Source: Add cmInstallRuntimeDependencySet ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6186
| * | | Tests: Add tests for new optionsKyle Edwards2021-06-041-0/+1
| |/ /
* | | Tests: Add cases verifying flag ordering rulesBrad King2021-06-071-0/+5
|/ /
* | Merge topic 'test_driver_tap13_support'Brad King2021-04-291-4/+32
|\ \ | | | | | | | | | | | | | | | | | | | | | 3f6ff4b5db create_test_sourcelist: add test driver option to run all tests a3aa5596a1 Tests: Isolate TestDriver build directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3661
| * | create_test_sourcelist: add test driver option to run all testsSergey Bronnikov2021-04-281-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New option `-A` passed to test binary allows to run all testcases at once and prints a report in a standard format - TestAnythingProtocol v.13 [1]. Execution of test whose names will be passed after an option will be skipped. Sample of output: TAP version 13 1..6 ok 1 TestCryptoHash # 0.030000 ok 2 TestCryptoRand # 0.008000 not ok 3 TestCryptoCipher # 0.005000 ok 4 TestCryptoProtectData # 0.000000 cbPlainText: 21 cbCipherText: 32 PlainText: MySecretPassword123! (cbPlainText = 21, cbCipherText = 32) Decrypted CipherText: MySecretPassword123! ok 5 TestCryptoProtectMemory # 0.014000 ok 6 TestCryptoCertEnumCertificatesInStore # 0.000000 1. https://testanything.org/ Fixes: #19367
| * | Tests: Isolate TestDriver build directoriesBrad King2021-04-281-4/+6
| | |
* | | MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+1
|/ / | | | | | | Detect MSYS as CYGWIN, with the required adaptations.
* | Tests: set CMAKE_PREFIX_PATH to the installation prefixBen Boeckel2021-03-191-1/+1
| | | | | | | | As it is documented to be.
* | FindDevIL: add imported targets and testsAlex2021-03-181-0/+1
| | | | | | | | Fixes: #21900
* | Tests: Enable Framework test case with spaces everywhere possibleBrad King2021-03-101-0/+1
| |
* | Tests: Update LibName to cover spaces in shared library nameBrad King2021-03-081-0/+2
| |
* | Tests: Enable MAKE_SUPPORTS_SPACES tests with Ninja generatorsBrad King2021-03-081-1/+1
| |
* | Merge topic 'test-macos-arm64'Brad King2021-02-231-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | 1c15eb39d2 Tests: Suppress failures on macOS arm64 due to separate Xcode signing phase 92418ac0ef Tests: Fix CTestTestCrash expected output on macOS arm64 8b22d9b3c3 Tests: Remove explicit no-signing marks from BundleTest 483db3de56 Tests: Clarify internal project name in RunCMake.GoogleTest cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5846
| * Tests: Fix CTestTestCrash expected output on macOS arm64Brad King2021-02-221-1/+1
| |
* | Tests: Fake home directory even if not setRaul Tambre2021-02-151-2/+2
|/ | | | | | | | In some cases ENV{HOME} might not be set, e.g. when run through a systemd service without User set. We should still to fake HOME in such cases as some tests (e.g. FindPackageTest) rely on it. We need only avoid setting ENV{CTEST_REAL_HOME} in such cases. Its possible absence seems to already be handled by tests.
* Tests: Disable MFC test for IntelLLVM due to #18311William R. Dieter2021-01-281-1/+8
| | | | | | | | | clang-cl cannot deal with implicit dependencies in UTF16 files (see #18311). IntelLLVM inherits this behavior from Clang. The MFC test uses `rc` in the way described in #18311 and gets the same error described in #18311. Disable the test until #18311 is fixed. Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* Tests: Skip VSGNUFortran test for ifx.William R. Dieter2021-01-281-0/+4
| | | | DLLEXPORT is not implemented in ifx yet, and required by this test.
* Tests: Skip old PrecompiledHeader test on IntelLLVMBrad King2021-01-281-1/+1
| | | | | This test uses hard-coded flags for a fixed set of compilers. We have first-class PCH support implemented for IntelLLVM.
* CPackDeb: dpkg-shlibdeps now supports searching for private shared libsDeniz Bahadir2021-01-221-0/+20
| | | | | | | | | The new CPack variable `CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS` can be set to a list of directories. If `CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or `CPACK_DEBIAN_<component>_PACKAGE_SHLIBDEPS` are set to `ON` these directories will be searched by `dpkg-shlibdeps` in order to find private shared library dependencies of the libraries/executables that shall be packed.
* Tests: Remove outdated CMakeTestMultipleConfigures testBrad King2021-01-151-15/+0
| | | | | | | | In practice this test has not helped us find any problems AFAIK. Tests like RunCMake.BuildDepends and other RunCMake tests cover much of what this test was meant to do. Since CMakeTestMultipleConfigures takes a long time to run on some generator/platform combinations, it is not worth what it covers. Remove the test.
* UseJava: enable exportation of native headers targetMarc Chevrier2020-12-291-0/+3
|
* Merge topic 'apple-silicon-host-arch'Brad King2020-12-111-0/+16
|\ | | | | | | | | | | | | | | b7f0327dcd Tests: Cover macOS host architecture selection on Apple Silicon hosts 5f882f6ce5 macOS: Offer control over host architecture on Apple Silicon hosts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5589
| * Tests: Cover macOS host architecture selection on Apple Silicon hostsBrad King2020-12-101-0/+16
| | | | | | | | | | | | | | | | | | | | Add test cases verifying that `CMAKE_APPLE_SILICON_PROCESSOR` set as either a cache or environment variable causes that to be selected as the host architecture. Also verify that sources compile using whatever is selected as the host architecture, even when the explicit setting is not used. Issue: #21554