summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* file(DOWNLOAD|UPLOAD): Add TLS_VERSION option for https connectionsBrad King2024-02-281-0/+1
| | | | | | | Add an option to specify the minimum allowed TLS version for https connections. Issue: #25701
* VS: Add [CMAKE_]VS_USE_DEBUG_LIBRARIES options to control UseDebugLibrariesBrad King2024-02-191-0/+1
| | | | | | | This indicates to MSBuild which configurations are considered debug configurations. This is useful for reference both by humans and tools. Issue: #25327
* TIClang: Add support for TI Clang-based compilers, including tiarmclangAlan Phipps2024-02-091-0/+6
| | | | | | | | Add TIClang compiler ID and support in compiler modules. Update documentation. Add rudimentary RunCMake test for TIClang to test basic functionality. Fixes: #24619
* Tests/RunCMake: Add copyright and license notices to test infrastructureBrad King2024-02-051-0/+3
|
* Merge topic 'GoogleTest-test-launcher'Brad King2024-02-021-1/+5
|\ | | | | | | | | | | | | f875c479f5 GoogleTest: Honor TEST_LAUNCHER in gtest_discover_tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9174
| * GoogleTest: Honor TEST_LAUNCHER in gtest_discover_testsRalf Habacker2024-01-311-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We run test executables to discover tests. Use the same launchers that are used to run the tests. We already handle `CROSSCOMPILING_EMULATOR`. Update the logic to account for the `TEST_LAUNCHER` property added by commit 1ec0372ed4 (add_test: Optionally use a launcher for tests running in-project targets, 2023-11-11), and for the `CROSSCOMPILING_EMULATOR` behavior change in commit ca5a300d7f (add_test: Honor CROSSCOMPILING_EMULATOR only when cross-compiling, 2023-11-02). Fixes: #25603 Co-authored-by: Brad King <brad.king@kitware.com> Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* | Tests: Add "Fortran" test labelBrad King2024-01-311-9/+14
|/ | | | With this, `ctest -L Fortran` will run only tests covering Fortran.
* Merge topic 'test-launcher-emulator'Brad King2024-01-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | fb766ff638 Tests: Improve RunCMake.add_test TEST_LAUNCHER coverage c5b58b0842 Tests: Improve RunCMake.add_test error formatting b440e0af3f Tests: Improve RunCMake.CrosscompilingEmulator coverage 54edf3471e Tests: Improve RunCMake.CrosscompilingEmulator error formatting 2b5447d4a8 Tests: Shorten RunCMake.CrosscompilingEmulator executable names 10f906106e Tests: Teach pseudo_emulator helper to pass by default Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9192
| * Tests: Improve RunCMake.add_test TEST_LAUNCHER coverageBrad King2024-01-271-1/+1
| | | | | | | | Verify that ctest actually runs the test command lines as expected.
* | Merge topic 'validate_read-only_target_properties'Brad King2024-01-241-0/+1
|\ \ | |/ |/| | | | | | | | | | | 0cfd8fe8ad cmTarget: Don't allow setting read-only properties Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9133
| * cmTarget: Don't allow setting read-only propertiesRobert Maynard2024-01-231-0/+1
| | | | | | | | | | Ensure that all documented read-only target properties now produce errors when trying to set.
* | Tests: Exclude some tests on broken libc on Elbrusmakise-homura2024-01-161-5/+9
|/ | | | | These tests found to be occasionally failing, so just in case CMake is used in such environment, don't test this at all.
* Merge topic 'file-strings-regex-match'Brad King2024-01-111-0/+1
|\ | | | | | | | | | | | | | | | | fa00928bcd file: `STRINGS` + `REGEX` store match results ff0085cf74 Help: Drop incorrect versionadded mark from CMAKE_MATCH_<n> Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9124
| * file: `STRINGS` + `REGEX` store match resultsCristian Le2024-01-091-0/+1
| | | | | | | | Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
* | Tests: Avoid procedure stack overflow in broken libc on Elbrusmakise-homura2024-01-081-8/+35
| | | | | | | | | | | | | | | | | | | | | | On E2K architecture, there is at least one known version of libc that is built with a bug that leads to a kernel error like `procedure stack could not be copied` visible in `dmesg` in several tests (and such test immediately receives `SIGSEGV` and fails). It was first detected in !8665, and after a long investigation, the culprit was finally found (MCST bugzilla internal bug 124224). Avoid running tests known to fail if such a version of libc is detected.
* | Tests: With lfortran < 1.24 skip cases broken by incorrect filename handlingmakise-homura2024-01-081-1/+11
|/ | | | | | | | | | | `lfortran` < 1.24 uses `fccn`, a Fortran-to-C converter that incorrectly handles long filenames that are more than 128 characters long; so to check if Fortran can compile something, CMake must be run in binary directory that has a name of less that 35 characters long. It is ok for typical runs line `cmake -S . -B build` or `cmake ..`, but does not work with usual CDash dashboard testing paths. All this is not a problem for modern LCC >= 1.24.
* Merge topic 'link-stubs-transitively'Brad King2024-01-081-2/+5
|\ | | | | | | | | | | | | | | | | | | 2c6ec6de15 Link to transitive dependencies on stub libraries only on some linkers dd4a6dff92 Link explicitly to private transitive dependencies on stub libraries 5f1bbdb3b3 Tests: Enable RunCMake.RuntimePath test on more platforms Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9050
| * Link explicitly to private transitive dependencies on stub librariesBrad King2024-01-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We represent stub libraries, e.g., for CUDA, using imported `SHARED` library targets with only `IMPORTED_IMPLIB`, and no `IMPORTED_LOCATION`, to indicate that the stub file is meant only for linkers and not dynamic loaders. See commit 7351d590ee (cmTarget: Add a way to represent imported shared library stubs, 2023-07-17, v3.28.0-rc1~344^2) and commit fc6508921c (cmComputeLinkInformation: Restore soname lookup for non-imported targets, 2023-12-05, v3.28.0~4^2). If a shared library is linked to a stub, it has a `NEEDED` field populated with the `SONAME` found in the stub. When a dependent target links to such a shared library, some linkers want to find a library file on disk and load it to see what symbols it provides. This is necessary for linkers that enforce `--no-allow-shlib-undefined`. On hosts with only the stub library installed, e.g., with only the CUDA toolkit development package, the real runtime library corresponding to the stub's `SONAME` may not even exist, so no `-rpath-link` flag can help linkers find it. Pass the stub library to linkers explicitly so they can find it without searching.
| * Tests: Enable RunCMake.RuntimePath test on more platformsBrad King2024-01-041-2/+2
| | | | | | | | Move the "ELF" check to specific cases inside the test.
* | Tests: Optionally run RunCMake.ExternalProject seriallyBrad King2024-01-041-0/+3
|/ | | | | | On some machines running many tests concurrently, the `INACTIVITY_TIMEOUT` cases do not always complete within their individual timeout. Add an undocumented cache entry to use on those machines to run the test serially.
* Tests: Cover generate_apple_platform_selection_file on all platformsBrad King2023-12-161-0/+7
| | | | | | | | The test added by commit 37bc3400cd (CMakePackageConfigHelpers: Add generate_apple_platform_selection_file(), 2023-11-03) covers importing only on macOS, and is specific to the xcframework test case. Add a dedicated test for `generate_apple_platform_selection_file` that covers export and import on all platforms.
* Merge topic 'find-rustc-importlibs'Brad King2023-12-091-1/+1
|\ | | | | | | | | | | | | | | f20c5c6f20 MSVC: Teach find_library to consider Rust's '${name}.dll.lib' convention 7598ea5389 Tests: Add case covering find_library behavior when targeting MSVC ABI Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9046
| * Tests: Add case covering find_library behavior when targeting MSVC ABIBrad King2023-12-071-1/+1
| |
* | Tests: Add inspection step to RunCMake.try_runBrad King2023-12-071-4/+4
|/
* Merge topic 'execute_process-no-extension'Brad King2023-11-301-0/+1
|\ | | | | | | | | | | | | | | | | f6d2efa752 Tests: Add case to cover execute_process support for no extension on Windows da9df7425a libuv: win/spawn: run executables with no file extension Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9017
| * Tests: Add case to cover execute_process support for no extension on WindowsKyle Edwards2023-11-301-0/+1
| | | | | | | | Issue: #25450
* | Merge topic 'cpack-auto-suffixes'Brad King2023-11-281-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 53991e62da CPack/RPM: Append .rpm to CPACK_RPM_FILE_NAME if missing f2a6d423da CPack/DEB: Append .deb to CPACK_DEBIAN_FILE_NAME if missing 907d4db558 Help: Format allowed CPACK_{DEB,RPM}_FILE_NAME values as definition list Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8880
| * | CPack/RPM: Append .rpm to CPACK_RPM_FILE_NAME if missingAlex Neundorf2023-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we issued an error when the `.rpm` suffix is missing. Instead, append the suffix automatically. This matches the behavior of `CPACK_ARCHIVE_FILE_NAME`, to which the archive format suffix is automatically appended. With this change, developers can simply do set(CPACK_RPM_comp_FILE_NAME "${CPACK_ARCHIVE_comp_FILE_NAME}")
| * | CPack/DEB: Append .deb to CPACK_DEBIAN_FILE_NAME if missingAlex Neundorf2023-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | | Previously we issued an error when the `.deb` or `.ipk` suffix is missing. Instead, append the suffix `.deb` automatically. This matches the behavior of `CPACK_ARCHIVE_FILE_NAME`, to which the archive format suffix is automatically appended.
* | | Tests: Simplify RunCMake.Swift conditions to enable use of SwiftBrad King2023-11-171-5/+3
| | |
* | | Merge topic 'make-test-depend-on-all'Brad King2023-11-131-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5e0c1777a3 Optionally make `test` target depend on `all` eaa00d4dfa Tests: Add case to verify that 'make test' does not 'make all' Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Jason Juang <jasjuang@gmail.com> Merge-request: !8956
| * | | Tests: Add case to verify that 'make test' does not 'make all'Brad King2023-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | Place it in a new `RunCMake.BuiltinTargets` umbrella test meant to cover behavior of targets builtin to CMake.
* | | | Merge topic 'link-deduplicate-libs'Brad King2023-11-131-0/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7b99c42e57 Link step: Enable to configure deduplication of libraries 07501c1678 Link Step: Introduce EntriesProcessing class Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8946
| * | | | Link step: Enable to configure deduplication of librariesMarc Chevrier2023-11-091-0/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms, Apple or Windows for instance, do not require to duplicate static libraries to resolve mutual dependencies. Moreover, Xcode version 15 emits a warning if a library is duplicated. On Windows, enable a better control of libraries order. Fixes: #20722, #25297
* | | | ctest_empty_binary_directory: Report more detail in failure messageBrad King2023-11-091-0/+1
|/ / /
* | | Merge topic 'cmsystemtools-runsinglecommand-stdin'Kyle Edwards2023-11-031-1/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | c4be9c914b cmSystemTools::RunSingleCommand(): Pass stdin to child process Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8941
| * | cmSystemTools::RunSingleCommand(): Pass stdin to child processKyle Edwards2023-11-021-1/+2
| |/ | | | | | | Fixes: #25383
* | if(): add operators IS_READABLE, IS_WRITABLE and IS_EXECUTABLE.Marc Chevrier2023-11-011-1/+1
| | | | | | | | Offers possibility to check for file or directory permissions.
* | Merge topic 'unity-build-objc'Brad King2023-10-271-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | e218db1a90 Unity: Enable UNITY_BUILD for OBJC and OBJCXX files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8906
| * | Unity: Enable UNITY_BUILD for OBJC and OBJCXX filesRob Raguet-Schofield2023-10-261-1/+1
| | |
* | | IAR: Add tests covering IAR toolchainsFelipe Torrezan2023-10-231-0/+5
|/ / | | | | | | | | Run the tests only if enabled explicitly by an undocumented cache entry. We will enable it on hosts known to have the toolchains.
* | Merge topic 'try_compile-linker-language'Brad King2023-10-171-1/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 0f37000304 try_{compile,run}: add LINKER_LANGUAGE option dc0dbffb0f Tests: Remove redundant policy setting from RunCMake.try_{compile,run} cases Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8871
| * | try_{compile,run}: add LINKER_LANGUAGE optionscivision2023-10-161-1/+3
| |/ | | | | | | Fixes: #25326
* | Add options to specify linker toolMarc Chevrier2023-10-131-0/+8
|/ | | | | | | | | | | | | | | | | | Offer the capability, through variable `CMAKE_LINKER_TYPE`, as well as the target property `LINKER_TYPE` to specify which linker must be used. The implementation of this capability is specified by variables specific to the language and linker type: `CMAKE_<LANG>_USING_LINKER_<TYPE>`. Some definitions are provided as part of `CMake`. For example, to select the `LLVM` linker rather than the standard one, the type `LLD` should be specified through the variable `CMAKE_LINKER_TYPE`. And, on `Apple`, `Linux` and some environments on `Windows`, the variable `CMAKE_<LANG>_USING_LINKER_LLD` has value `-fuse-ld=lld`. And for `Windows` environments based on `MSVC`, where the linker is used directly, the tool `lld-link.exe` will be used rather than `link.exe`. Fixes: #19174, #24254, #24990
* Tests: Clarify RunCMake.XcFramework conditions testing Xcode versionBrad King2023-09-261-1/+1
| | | | | | In commit 7050ac56a1 (macOS: Add support for linking against .xcframework folders, 2023-05-17) used conditions based on the AppleClang compiler version, but we actually want to check the Xcode version.
* Merge topic 'genexp-no-eval'Brad King2023-09-261-0/+1
|\ | | | | | | | | | | | | | | | | 634079b86d cmGeneratorExpressionEvaluator: Short-circuit boolean operators Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !8791
| * cmGeneratorExpressionEvaluator: Short-circuit boolean operatorsMartin Duffy2023-09-131-0/+1
| |
* | OrangeC: Add support for OrangeC compilerDavid Lindauer2023-09-251-0/+1
| | | | | | | | | | | | | | Add compiler information modules. Update the test suite. Fixes: #25032 Co-authored-by: Brad King <brad.king@kitware.com>
* | Tests: Update tests to run in symlinked treeKyle Edwards2023-09-221-0/+2
| |
* | Merge topic 'macOS-system-framework-link'Brad King2023-09-221-3/+4
|\ \ | | | | | | | | | | | | | | | | | | 3bdf95f942 macOS: GNU toolchain: ensure framework, marked as SYSTEM, can be linked Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8825