summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* CMakeParseImplicitLinkInfo: Exclude LLVMFlang program entry point for MSVCBrad King2023-12-063-0/+23
| | | | | | | | As of llvm-project `main` branch commit `86accd4e03` (2023-12-04), LLVMFlang 18.0.0, when used to drive linking an executable, emits a MSVC linker flag to use all object files from the `Fortran_main` library. These object files are meant for use when linking the program entry point, and so are not implicit link dependencies of Fortran libraries.
* Merge topic 'cxxmodules-msvc-corner-cases'Brad King2023-12-065-3/+27
|\ | | | | | | | | | | | | | | e63983956d Tests/CXXModules: enhance `internal-partitions` test 8a658fb9ec Tests/CXXModules: import from an internal partition Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9039
| * Tests/CXXModules: enhance `internal-partitions` testBen Boeckel2023-12-054-1/+17
| | | | | | | | | | | | This test previously did not *require* that the internal partition be specified as a transitive usage because nothing from it was exposed. Plumb through usages such that the internal partitions are required.
| * Tests/CXXModules: import from an internal partitionBen Boeckel2023-12-053-2/+10
| | | | | | | | | | | | It is reported that MSVC doesn't support the `modname=` syntax in its `-reference modname=modname.ifc` for internal partitions. Add a test case.
* | Merge topic 'fix-cxx-module-transitive-requirements'Brad King2023-12-0635-1/+384
|\ \ | | | | | | | | | | | | | | | | | | | | | e9b0dcbbfa cmCxxModuleMapper: Fix transitive requirements computation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9030
| * | cmCxxModuleMapper: Fix transitive requirements computationnamniav2023-12-0535-1/+384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously CMake may generate incomplete transitive requirements in CMakeFiles/<target>.dir/CXXModules.json and therefore in module mapper for compiler, when source files were listed in CMakeList.txt in a certain order. This commit fixes the problem by correctly tracking unfinished transitive requirements computation of module units. There have been a simple circular test case whose circular dependency was reported by build system. Now with this correct implementation it's reported by CMake generating module mappers. Add two test cases for transitive requirements computation, one with adding source files in hardcoded order, and the other in randomized order. Fixes: #25465
* | | Merge topic 'cxxmodules-pch'Brad King2023-12-054-0/+24
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | 40dc13b242 cmNinjaTargetGenerator: PCH files do not need dyndep f61c64cd1c cmLocalGenerator: prevent scanning of PCH source files ea8c37b759 Tests/CXXModules: add a test which scans a PCH-using source Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9032
| * | Tests/CXXModules: add a test which scans a PCH-using sourceBen Boeckel2023-12-044-0/+24
| |/ | | | | | | This tests that PCH usage works with scanning logic.
* | Merge topic 'ctest-jobserver-client'Brad King2023-12-048-0/+61
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 80fe56c481 ctest: Add support for running under a make job server on POSIX systems 5396f4a9a3 cmUVJobServerClient: Add libuv-based job server integration client Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9021
| * | ctest: Add support for running under a make job server on POSIX systemsBrad King2023-12-038-0/+61
| | | | | | | | | | | | | | | Share job slots with the job server by acquiring a token before running each test, and releasing the token when the test finishes.
* | | Merge topic 'fileapi-exe-launcher'Brad King2023-12-0411-4/+288
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80a64c9ce5 fileapi: Add cross-compiling emulator to codemodel-v2 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8964
| * | | fileapi: Add cross-compiling emulator to codemodel-v2Ralf Habacker2023-12-0111-4/+288
| | | | | | | | | | | | | | | | Fixes: #25408
* | | | Merge topic 'cmake-non-writable-build-dir'Brad King2023-12-046-12/+45
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0fd64345fe Tests: Add case covering non-writable CMAKE_BINARY_DIR d91c02e40f Tests: Factor out RunCMake helper to get UNIX user id 5799d0e788 cmake: Improve error message if CMAKE_BINARY_DIR not writable Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !8970
| * | | Tests: Add case covering non-writable CMAKE_BINARY_DIRBrad King2023-11-304-0/+26
| | | | | | | | | | | | | | | | Issue: #24407
| * | | Tests: Factor out RunCMake helper to get UNIX user idBrad King2023-11-302-12/+19
| | | |
* | | | Merge topic 'xcode-embed-xpc-services'Brad King2023-12-015-0/+46
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 2b4bb43ed3 Xcode: Add support to embed XPC Services Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9006
| * | | Xcode: Add support to embed XPC ServicesJonathan Earnshaw2023-11-295-0/+46
| | | |
* | | | Merge topic 'execute_process-no-extension'Brad King2023-11-307-0/+57
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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-307-0/+57
| | | | | | | | | | | | | | | | Issue: #25450
| * | | Merge topic 'cxxmodules-diagnostics' into release-3.28Brad King2023-11-295-14/+49
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cbd549b09e cxxmodules: Add more suggestions to no-modules-support diagnostics Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9011
* | \ \ \ Merge topic 'LINK_LIBRARY-genex-with-INTERFACE_LINK_LIBRARIES_DIRECT'Brad King2023-11-306-0/+19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9798482a8c LINK_LIBRARY-genex: correct behavior for INTERFACE_LINK_LIBRARIES_DIRECT Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8992
| * | | | | LINK_LIBRARY-genex: correct behavior for INTERFACE_LINK_LIBRARIES_DIRECTMarc Chevrier2023-11-296-0/+19
| | |_|_|/ | |/| | | | | | | | | | | | | Fixes: #25416
* | | | | Tests: Avoid leaving behind non-readable directoriesBrad King2023-11-291-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 337bc5662c (if(): add operators IS_READABLE, IS_WRITABLE and IS_EXECUTABLE., 2023-10-21) we create some non-readable directories. CMake 3.28 and below do not know how to delete them, so some nightly builds fail ctest_empty_binary_directory. Add read permission to those directories when we are finished with them.
* | | | | Tests: Avoid creating world-writable pathsBrad King2023-11-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were added by commit 337bc5662c (if(): add operators IS_READABLE, IS_WRITABLE and IS_EXECUTABLE., 2023-10-21) but are not actually necessary.
* | | | | Tests: Fix directory removal in RunCMake.if testBrad King2023-11-291-3/+5
| |_|_|/ |/| | |
* | | | Merge topic 'cxxmodules-diagnostics'Brad King2023-11-295-14/+49
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | cbd549b09e cxxmodules: Add more suggestions to no-modules-support diagnostics Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9011
| * | | cxxmodules: Add more suggestions to no-modules-support diagnosticsBrad King2023-11-285-14/+49
| | | | | | | | | | | | | | | | | | | | | | | | Tell users what generators *do* support C++ modules. Report the current generator to make clear it is not one of those supporting modules. Also clarify the purpose of the existing documentation references.
* | | | Merge topic 'xcode-embed-resources'Brad King2023-11-291-1/+1
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 6030df205a Xcode: Fix embed resources prop name Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Deal <halx99@live.com> Merge-request: !9008
| * | | Xcode: Fix embed resources prop namehalx992023-11-281-1/+1
| |/ / | | | | | | | | | | | | | | | | | | Fix commit e40d2cb3af (Xcode: Add embed resources support, 2023-07-31, v3.28.0-rc1~281^2). The implementation should not name the `_PATH` suffix explicitly. That variant is automatically handled by `cmGlobalXCodeGenerator::AddEmbeddedObjects`.
| * | Merge topic 'fortran-objects-as-sources-fix' into release-3.28Brad King2023-11-276-0/+6
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | beb1393f8f Merge branch 'revert-exact-collation-depends-3.27' into fortran-objects-as-sources-fix a033dce326 Makefiles: provide, but do not consume, "forward linked" target dirs 7cd0adab1b cmCommonTargetGenerator: use modules from linked object-referenced targets 1175f1c874 LinkItem: track `cmSourceFile` instances for external objects d2fa56772f Ninja: support "forwarding" modules from other targets ec1e589bec Ninja: Revert exact collation dependencies for 3.27 06df59b930 cmCommonTargetGenerator: return forward linked target dirs too f8729ab366 cmLocalUnixMakefileGenerator3: handle object-referencing Fortran modules ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8989
| * \ \ Merge topic 'clang-scan-deps-failed-scan' into release-3.28Brad King2023-11-221-2/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 77a7edb73f Clang-CXX: copy into the dyndep output on success Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Namniav W <namniav@gmail.com> Merge-request: !8991
* | \ \ \ Merge topic 'cpack-auto-suffixes'Brad King2023-11-284-0/+16
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-274-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-274-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'vs-ifx'Brad King2023-11-278-0/+23
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 43d218d970 VS: Add support for using Intel oneAPI Fortran compiler in .vfproj files 5c77facd78 VS: Fix Intel plugin version detection fallback Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9001
| * | | | | VS: Add support for using Intel oneAPI Fortran compiler in .vfproj filesBrad King2023-11-228-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `fortran={ifort,ifx}` field to `CMAKE_GENERATOR_TOOLSET` to specify which Intel Fortran compiler to use. Fixes: #25427
* | | | | | Merge topic 'fortran-objects-as-sources-fix'Brad King2023-11-276-0/+6
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | beb1393f8f Merge branch 'revert-exact-collation-depends-3.27' into fortran-objects-as-sources-fix a033dce326 Makefiles: provide, but do not consume, "forward linked" target dirs 7cd0adab1b cmCommonTargetGenerator: use modules from linked object-referenced targets 1175f1c874 LinkItem: track `cmSourceFile` instances for external objects d2fa56772f Ninja: support "forwarding" modules from other targets ec1e589bec Ninja: Revert exact collation dependencies for 3.27 06df59b930 cmCommonTargetGenerator: return forward linked target dirs too f8729ab366 cmLocalUnixMakefileGenerator3: handle object-referencing Fortran modules ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8989
| * | | | | Ninja: support "forwarding" modules from other targetsBen Boeckel2023-11-236-0/+6
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a target uses objects from another target which provides modules as sources, the modules provided by the referenced target must also be treated as if they were provided by the referencing target. Add the concept of "forwarding" modules so that consumers can use modules created by these sources as well. Note that this is only sensible for Fortran where module usages are implicit as far as CMake's visibility model is concerned. C++ modules have their own concept of visibility which does not require or support such `$<TARGET_OBJECTS>` reuse in this way.
| * | | | Merge topic 'fileapi-file-sets-base-dirs-relative' into release-3.28Brad King2023-11-202-5/+5
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a3a85524cd fileapi: Fix file sets' base directories relative to top source Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8977
* | \ \ \ \ Merge topic 'clang-scan-deps-failed-scan'Brad King2023-11-221-2/+2
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | 77a7edb73f Clang-CXX: copy into the dyndep output on success Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Namniav W <namniav@gmail.com> Merge-request: !8991
| * | | | Clang-CXX: copy into the dyndep output on successBen Boeckel2023-11-211-2/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `clang-scan-deps` fails to scan (e.g., bad source syntax, junk flags, etc.), the redirection unconditionally updates the file. If this fails, the `.ddi` file timestamp is updated. If the state is then reverted (e.g., the command line returns to the state of the last successful build), the updated file is not useful, but `ninja` does not rerun because: - the command hash matches the last successful run - the output file is newer than its inputs However, since the `.ddi` file has been updated with bogus contents from a failed scan, collation fails as the `rules` array is empty (or incomplete from a batch scan). If `clang-scan-deps` were properly aware of its output file, it could use this to not write the file if any inner scan fails. Requested in https://github.com/llvm/llvm-project/issues/72875. See: https://github.com/llvm/llvm-project/issues/72875 Fixes: #25429
* | | | Merge topic 'fileapi-file-sets-base-dirs-relative'Brad King2023-11-202-5/+5
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | a3a85524cd fileapi: Fix file sets' base directories relative to top source Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8977
| * | | fileapi: Fix file sets' base directories relative to top sourceKyle Edwards2023-11-172-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This field was added by commit b3e9fb67bb (file-api: support exporting file set information, 2022-11-03, v3.26.0-rc1~389^2) but the relative path convention used elsewhere was accidentally left out. Fixes: #25422
| * | | Tests: Always load presets schema as UTF-8Craig Scott2023-05-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We know the encoding of the schema file, so we should specify it when we open it for reading. Previously, by not specifying it, the test was open to using an encoding based on the active locale when running the test. We may have been enforcing a "C" locale at a higher level, but we don't need to rely on that here, we can force correct behavior without that assumption. Issue: #24679
* | | | Merge topic 'ctest-cleanup'Brad King2023-11-208-15/+76
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5d2e93f9e8 cmCTestMultiProcessHandler: Simplify logic on unavailable resources a4b061a035 cmCTestMultiProcessHandler: Clarify resource availability error member names 1487e540aa cmCTestMultiProcessHandler: Reduce repeat test property map lookups b02b628ad9 cmCTestMultiProcessHandler: Simplify loop termination on serial test 8f1e8af0cc cmCTestMultiProcessHandler: Stop searching for tests when limit is reached bd0b4ca867 cmCTestMultiProcessHandler: Invert spare load condition 9b548139fd cmCTestMultiProcessHandler: Clarify search for tests <= concurrency limit ee321dc85f cmCTestMultiProcessHandler: Clarify search for tests <= spare load ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8981
| * | | | cmCTestMultiProcessHandler: Stop searching for tests when limit is reachedBrad King2023-11-175-0/+55
| | | | | | | | | | | | | | | | | | | | Avoid an extra loop iteration if we have no room for more tests.
| * | | | Tests: Cover ctest waiting on insufficient non-zero spare test-loadBrad King2023-11-175-15/+21
| | | | |
* | | | | Merge topic 'ci-fedora-39'Brad King2023-11-204-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cdd741ebf9 Merge branch 'backport-ci-fedora-39' into ci-fedora-39 9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39 18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39 a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests 99238b23e9 ci: use Fedora 39 images and environments 57eadec617 ci: update Linux image to Fedora 39 653262162c clang-tidy module: Update to build against LLVM/Clang 17 2cf9a65835 clang-tidy: ignore warnings new in version 17 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8983
| * \ \ \ \ Merge branch 'backport-ci-fedora-39' into ci-fedora-39Brad King2023-11-174-4/+4
| |\ \ \ \ \ | | |/ / / / | |/| | / / | | | |/ / | | |/| |
| | * | | codespell: Fix typosBrad King2023-11-174-4/+4
| | | | |