summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'crosscompiling-warn-reset'Brad King2023-03-274-0/+10
|\ | | | | | | | | | | | | | | 4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8358
| * Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME setMartin Storsjö2023-03-244-0/+10
| | | | | | | | | | Also clarify the `CMAKE_CROSSCOMPILING` documentation to state that CMake sets the variable automatically.
* | Merge topic 'module-depends-static-lib-cycle'Brad King2023-03-277-1/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle 846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8363
| * | Ninja,Makefile: Restore Fortran module scanning in static library cycleBrad King2023-03-247-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since * commit eed295fd8a (cmGlobalNinjaGenerator: require that dependency info files work, 2023-02-01, v3.26.0-rc1~1^2~1), and * commit 13810dee17 (cmDependsFortran: require that dependency info files work, 2023-02-01, v3.26.0-rc1~1^2), the Ninja and Makefile generators' module dependency scanning requires that scanning results from from linked targets is available before scanning the current target. In the case of a static library cycle, we cannot expect this information from other static libraries in the cycle. Previously we supported cyclic cases at the cost of silently ignoring missing information. We already compute a global order of targets that respects all `add_dependencies`, but may break `target_link_libraries` dependencies that occur in a static library cycle. Use this order to filter the linked targets so we only expect scanning results to be available from those targets that build before the current target. This approach is sufficient to support module dependency scanning in static library cycles as long as module dependencies do not cross between two libraries in the same cycle. Fixes: #24631
| * | Merge topic 'clang-cl-showIncludes' into release-3.26Brad King2023-03-215-0/+22
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 843fc607de Ninja: Restore detection of clang-cl showIncludes prefix 3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8344
* | \ \ Merge topic 'file-GET_RUNTIME_DEPENDENCIES-windows-casing'Brad King2023-03-246-3/+32
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | fa45594407 file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binaries 14cfd6a1eb Tests: Add test for file(GET_RUNTIME_DEPENDENCIES) with MixedCase.dll Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8291
| * | | file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binariesChristian Heimlich2023-03-235-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Windows PE files the `file(GET_RUNTIME_DEPENDENCIES)` command converts the name of all DLLs found during binary scanning to lowercase in order to simplify the syntax requirements of its regex filters; however, this has the side-effect of causing all DLL paths returned via RESOLVED_DEPENDENCIES_VAR to be in lowercase, regardless of their actual casing. Instead, respect the original casing as closely as possible when returning resolved dependencies after all filters have been passed: When evaluating a Windows PE format binary on a non-Windows host the casing of dependencies recorded within the binary are used. When the host is running Windows, the actual casing of the dependencies on-disk are used instead. Fixes: #23091
| * | | Tests: Add test for file(GET_RUNTIME_DEPENDENCIES) with MixedCase.dllChristian Heimlich2023-03-232-1/+5
| | | | | | | | | | | | | | | | Issue: #23091
* | | | Merge topic 'autogen-exe-vars'Brad King2023-03-233-0/+35
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | b3d1797508 Autogen: Add CMAKE_AUTO*_EXECUTABLE variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8352
| * | | Autogen: Add CMAKE_AUTO*_EXECUTABLE variablesOrkun Tokdemir2023-03-223-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the `CMAKE_AUTOMOC_EXECUTABLE`, `CMAKE_AUTOUIC_EXECUTABLE`, and `CMAKE_AUTORCC_EXECUTABLE` variables to initialize the corresponding `AUTO{MOC,UIC,RCC}_EXECUTABLE` target properties. Fixes: #20071
* | | | Merge topic 'file-REAL_PATH'Brad King2023-03-211-0/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d12853ed3 file(REAL_PATH): Ensure same behavior as get_filename_component(REALPATH) Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8348
| * | | | file(REAL_PATH): Ensure same behavior as get_filename_component(REALPATH)Marc Chevrier2023-03-201-0/+16
| | | | | | | | | | | | | | | | | | | | Fixes: #24605
* | | | | Merge topic 'clang-cl-showIncludes'Brad King2023-03-215-0/+22
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 843fc607de Ninja: Restore detection of clang-cl showIncludes prefix 3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8344
| * | | | Ninja: Restore detection of clang-cl showIncludes prefixYR Chen2023-03-205-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer matches the output from `clang-cl`, which uses a relative path, forward slashes, and is always in English [1]: Note: including file: ./foo.h Update the regex to match that too. [1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/HeaderIncludeGen.cpp#L102 Co-authored-by: Brad King <brad.king@kitware.com>
| * | | | Tests: Comment RunCMake.Ninja ShowIncludes sample input languagesBrad King2023-03-201-0/+6
| | | | |
* | | | | Merge branch 'backport-3.26-FindPython-SOSABI-handling'Brad King2023-03-201-2/+6
|\ \ \ \ \ | |_|/ / / |/| | | / | | |_|/ | |/| |
| * | | FindPython: ensure Stable ABI is correctly handledMarc Chevrier2023-03-201-2/+6
| |/ / | | | | | | | | | Fixes: #24610
* | | Tests: Teach CudaOnly.CUBIN to tolerate toolkit not supporting native archBrad King2023-03-162-1/+13
| | | | | | | | | | | | | | | | | | | | | Since commit 2def6a874b (CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation, 2023-01-27) added this test, it has failed when executed with a CUDA toolkit that does not support the true native architecture of the GPU. Detect this case and skip the test.
* | | Tests: Add missing exit code to CudaOnly.{CUBIN,Fatbin}Brad King2023-03-162-0/+4
| | |
* | | Merge topic 'vs-BuildInParallel'Brad King2023-03-161-6/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 4c866cac40 VS: Do not regenerate build system concurrently with CMP0147 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8329
| * | | VS: Do not regenerate build system concurrently with CMP0147Brad King2023-03-151-6/+18
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VS generators add a custom command to `CMakeLists.txt` to re-run CMake when input files have changed. Mark this custom command as if it were specified with `USES_TERMINAL`. We already do this for the equivalent `rebuild_cache` target in Makefile and Ninja generators. This matters since commit d6353e74b4 (VS: Add policy to build custom commands concurrently, 2023-03-10) because with policy CMP0147 set to NEW, we now add `BuildInParallel` in `.vcxproj` file entries for custom commands that do not have `USES_TERMINAL` set, but we do not want to re-run CMake concurrently with other custom commands. Issue: #18405
* | | macOS: Suppress default '-arch arm64' with CMAKE_<LANG>_COMPILER_TARGETBrad King2023-03-155-1/+27
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Since commit b6c60f14b6 (macOS: Default to arm64 architecture on Apple Silicon hosts, 2020-09-28, v3.19.0-rc1~63^2) we add `-arch arm64` by default on Apple Silicon hosts if `CMAKE_OSX_ARCHITECTURES` is not set. This is necessary to prevent the toolchain from selecting its own default architecture based on that of the build tool (e.g., `x86_64`). If `CMAKE_<LANG>_COMPILER_TARGET` is set, its `-target` flag tells the compiler what architecture to use, so do not add `-arch arm64`. Fixes: #24599
* | Utilities/Sphinx: Add 'cref' roleMatthew Woehlke2023-03-142-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a role that can be used to create local links (a la '`LINK`_'), but that also applies literal style. This is particularly useful for referring to subcommands within the command's documentation in a style that is consistent with ':command:`BAR <foo(BAR)>`' but is much less verbose. Although this is intended for subcommands, it works with any local reference. Co-authored-by: Brad King <brad.king@kitware.com>
* | Merge topic 'recursion-limit'Brad King2023-03-1450-28/+374
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 49167cf68f Source: Adjust stack sizes and recursion limits to work together 9504cef8c4 Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limit 60ef076bac find_package: Enforce maximum nesting depth below maximum recursion depth 89b69bf1ad Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variable 395895bda7 cmMakefile: Factor out helper to get recursion depth limit 88bc8dfc14 cmMakefile: Store recursion depth limit as size_t fcad8d0630 cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variable 497f7d5c1a Tests: Simplify option passing to RunCMake.MaxRecursionDepth cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8307
| * | Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limitBrad King2023-03-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Previously we compiled in a smaller default limit during nightly testing and CI builds, so we were not testing the same default limit that end-users will see. Instead, set the limit during testing using an environment variable so that we can unset it when testing the default limit in `RunCMake.MaxRecursionDepth`.
| * | find_package: Enforce maximum nesting depth below maximum recursion depthBrad King2023-03-136-18/+24
| | | | | | | | | | | | | | | | | | The stack usage for nested `find_package` calls is much larger than for other kinds of recursion, so enforce a lower limit to avoid stack overflow.
| * | Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variableBrad King2023-03-1345-0/+347
| | | | | | | | | | | | | | | | | | | | | Extend the recursion limit controls added by commit a6982cff0d (cmMakefile: Impose maximum recursion limit, 2018-12-14, v3.14.0-rc1~82^2) with an environment variable that is used if the CMake variable of the same name is not set.
| * | Tests: Simplify option passing to RunCMake.MaxRecursionDepth casesBrad King2023-03-091-16/+6
| | |
* | | Merge topic 'support_cubin_fatbin_optix_cuda_output'Brad King2023-03-1410-0/+268
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2def6a874b CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8259
| * | | CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilationRobert Maynard2023-03-1310-0/+268
| | | |
* | | | Merge topic 'revert-CheckCompilerFlag-clang-argument-unused'Brad King2023-03-142-0/+18
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...' Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8322
| * | | CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'Brad King2023-03-132-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 5b45a3d0ce (CheckCompilerFlag: Match the Clang "argument unused" output for all languages, 2023-01-23, v3.26.0-rc1~38^2). It broke existing projects that were silently tolerating unrelated unused arguments in their checks for C and CXX. For example, using `CFLAGS=-nostdinc` or `CXXFLAGS=-nostdinc++` causes those flags to be used when driving the linker as well, and Clang warns they are unused in that case. Add a test case covering the now-restored behavior. Fixes: #24591
| * | | Merge topic 'GoogleTest-type-param-suite' into release-3.26Brad King2023-03-065-3/+67
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9aa9032266 GoogleTest: Restore suite name for type-parametrized tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8282
| * \ \ \ Merge topic 'ExternalProject-revert-install' into release-3.26Brad King2023-03-034-0/+14
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 771387523a ExternalProject: Restore driving install through build system Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Craig Scott <craig.scott@crascit.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8279
* | \ \ \ \ Merge topic 'vs-BuildInParallel'Brad King2023-03-1310-0/+70
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7a7793e6d7 FindCUDA: Disallow with CMP0147 under Visual Studio d6353e74b4 VS: Add policy to build custom commands concurrently Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8314
| * | | | | | FindCUDA: Disallow with CMP0147 under Visual StudioBrad King2023-03-127-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FindCUDA's custom commands invoke `nvcc`, which invokes `cl`. Under VS this is done without a `/FS` flag, so `.pdb` generation races if we use `BuildInParallel`. The FindCUDA module has already been removed by policy CMP0146 after being deprecated since CMake 3.10, so it is simplest to just disallow this combination of features. Issue: #24576
| * | | | | | VS: Add policy to build custom commands concurrentlyBrad King2023-03-123-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 33c15ae2b9 (VS: Build custom commands concurrently when possible, 2023-01-19, v3.26.0-rc1~56^2) we added `BuildInParallel` to custom commands in `.vcxproj` files, but that had to be reverted by commit abb1c12162 (VS: Revert "Build custom commands concurrently when possible", 2023-03-07, v3.26.0-rc6~3^2) because some projects may have custom commands that accidentally rely on serial execution in MSBuild. Add a policy to use `BuildInParallel` for custom commands in projects that have been updated to set the policy to `NEW`. Fixes: #18405
* | | | | | | Merge topic 'findopengl-gles'Brad King2023-03-133-21/+142
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | beb0a56c86 FindOpenGL: support finding GLES2 and GLES3 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !8309
| * | | | | | FindOpenGL: support finding GLES2 and GLES3Jaswant Panchumarti2023-03-103-21/+142
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | This also makes the EGL component not GLVND-specific, so documentation and tests are updated accordingly.
* | | | | | Merge topic 'help-signatures'Brad King2023-03-102-10/+20
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8c52458a9e cmRST: Fix cmake domain directives with newline before argument d4b21bcdd6 cmRST: Fix typo in comment 6a84717d17 cmRST: Convert enum types to enum class Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8310
| * | | | | | cmRST: Fix cmake domain directives with newline before argumentBrad King2023-03-092-10/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `signature` directive added by commit 74e3c1d313 (Utilities/Sphinx: Add a directive to document command signatures, 2023-02-24) will be commonly used with the form: .. signature:: some_command(SOME_SIGNATURE) Docs for this signature. Drop the assumption that all CMake domain directives are immediately followed by their argument on the same line.
* | | | | | Merge topic 'cxx-module-extensions'Brad King2023-03-1010-34/+29
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45d1925efc Treat '.ccm', '.cxxm', and '.c++m' files as C++ sources 8c96d145c1 Tests/RunCMake: Match 'Tried extensions' output more robustly Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8308
| * | | | | | Tests/RunCMake: Match 'Tried extensions' output more robustlyBrad King2023-03-0910-34/+29
| |/ / / / /
* | | | | | FindCUDA: Add policy to remove this moduleBrad King2023-03-0916-0/+80
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | The `FindCUDA` module has been deprecated since CMake 3.10. Add a policy to pretend it doesn't exist in order to encourage projects to port away from it.
* | | | | Merge topic 'test-minver'Brad King2023-03-0962-62/+62
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bd7b2293aa Tests: Bump CMake minimum required version in find-module tests to 3.5 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8304
| * | | | | Tests: Bump CMake minimum required version in find-module tests to 3.5Brad King2023-03-0862-62/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake 3.27 deprecates compatibility with CMake < 3.5. Update find module tests to avoid the deprecation warning.
* | | | | | FindwxWidgets: Add an imported targetCheesyNacho102023-03-084-0/+35
|/ / / / /
* | | | | Merge topic 'test-minver'Brad King2023-03-0810-37/+48
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | edf7888f70 Tests: Update RunCMake.include cmake_minimum_required version Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8298
| * | | | | Tests: Update RunCMake.include cmake_minimum_required versionBrad King2023-03-0710-37/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was missed in commit 1edf138506 (Tests/RunCMake: Update cmake_minimum_required versions, 2023-02-06). Also tighten up some expected stderr content to catch these cases during similar updates in the future.
* | | | | | Tests/RunCMake: Add script to auto-generate RunCMake test suite stubKyle Edwards2023-03-072-0/+17
|/ / / / /