summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* OrangeC: Add support for OrangeC compilerDavid Lindauer2023-09-2545-61/+95
| | | | | | | Add compiler information modules. Update the test suite. Fixes: #25032 Co-authored-by: Brad King <brad.king@kitware.com>
* Tests: Simplify nested if conditions in Complex testsBrad King2023-09-254-38/+10
|
* Merge topic 'CrayClang-compiler'Brad King2023-09-253-7/+7
|\ | | | | | | | | | | | | 80838316a8 CrayClang: Add support for this compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8781
| * CrayClang: Add support for this compilerRyan Krattiger2023-09-223-7/+7
| | | | | | | | | | | | Add `CrayClang` compiler ID for newer Cray compilers. Fixes: #25102
* | Tests: Update tests to run in multi-config generatorsKyle Edwards2023-09-224-3/+7
| |
* | Tests: Update tests to run in symlinked treeKyle Edwards2023-09-226-19/+40
|/
* Merge topic 'hip-nvidia'Brad King2023-09-227-11/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | 6546aa2a2a ci: Add HIP job using CUDA on NVIDIA GPUs 18158bf81c HIP: Add support for NVIDIA GPUs 127b6fa06b HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platform 90e23f40ee Tests/HIP/WithDefs: Clean up test case 9ebdf3281f Tests/HIP/ArchitectureOff: Cover HIP_ARCHITECTURES initialization cfec29196e ci: Add CUDA 11.8 to HIP 5.5 image 26470eb987 ci: Put HIP GPU platform in CMake_TEST_HIP Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8817
| * HIP: Add support for NVIDIA GPUsBrad King2023-09-216-2/+19
| | | | | | | | | | | | Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
| * HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platformBrad King2023-09-213-3/+13
| | | | | | | | | | For now, require the value to be `amd`, since that is the only platform we currently support.
| * Tests/HIP/WithDefs: Clean up test caseBrad King2023-09-211-5/+3
| | | | | | | | | | | | | | Fix code copied from equivalent CUDA test. Drop `CMAKE_HIP_ARCHITECTURES=OFF`. That is already covered by a dedicated `HIP.ArchitectureOff` test.
| * Tests/HIP/ArchitectureOff: Cover HIP_ARCHITECTURES initializationBrad King2023-09-211-1/+5
| | | | | | | | Verify that the property is initialized by `CMAKE_HIP_ARCHITECTURES`.
* | Merge topic 'cuda-factor-out-lang'Brad King2023-09-222-2/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | b32ea7cff0 CUDA: Factor out helper to generate CUDA architecture flags b3a1f17567 CUDA: Factor out helper to validate CMAKE_CUDA_ARCHITECTURES 8617c28221 CUDA: Factor out helper for detecting native CUDA architectures 0db0fe7958 CUDA: Factor out helper to compute all CUDA architectures c16f1e2b93 CUDA: Factor out helper to find CUDA Toolkit for compiler a6841a967b CUDA: Factor out helper to filter implicit link libraries deff0e638d CUDA: Factor out helper to parse NVCC implicit compiler and linker flags e1b2a5062f CUDA: Factor out some NVCC compiler information ... Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !8816
| * CUDA: Factor out helper to validate CMAKE_CUDA_ARCHITECTURESBrad King2023-09-212-2/+6
| | | | | | | | Prepare to use it for other languages.
* | Merge topic 'macOS-system-framework-link'Brad King2023-09-224-13/+20
|\ \ | | | | | | | | | | | | | | | | | | 3bdf95f942 macOS: GNU toolchain: ensure framework, marked as SYSTEM, can be linked Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8825
| * | macOS: GNU toolchain: ensure framework, marked as SYSTEM, can be linkedMarc Chevrier2023-09-214-13/+20
| | | | | | | | | | | | Fixes: #25263
* | | Merge topic 'fileset-private-dep'Brad King2023-09-2120-0/+125
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | ec2ba29ac5 Ninja: Allow compilation before generation of dependencies' private sources Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8420
| * | Ninja: Allow compilation before generation of dependencies' private sourcesMartin Duffy2023-09-2020-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires knowing when a generated header is public, which we can model using file sets. Add policy CMP0154 to treat generated sources as private by default in targets with file sets. Generated public headers can be specified in public file sets. Fixes: #24959 Issue: #15555
* | | Merge topic 'fortran-in-custom-targets'Brad King2023-09-2021-6/+173
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d870a47e23 Tests/FortranModules: add a test for iface Fortran sources e3d511fb9c Tests/FortranModules: also test INTERFACE targets with Fortran sources 978b68d3bb add_custom_target: Fix regression with Fortran sources 619aca80ae Tests/FortranModules: add a test case for #25223 45513c1a69 Tests/FortranModules: move issue 25112 fix from FortranOnly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8814
| * | | Tests/FortranModules: add a test for iface Fortran sourcesBen Boeckel2023-09-205-0/+38
| | | | | | | | | | | | | | | | | | | | This tests that a library that doesn't compile Fortran sources but provides one via `INTERFACE` sources works as intended.
| * | | Tests/FortranModules: also test INTERFACE targets with Fortran sourcesBen Boeckel2023-09-204-0/+22
| | | |
| * | | add_custom_target: Fix regression with Fortran sourcesBen Boeckel2023-09-204-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 74b1d6caf3 (cmComputeLinkInformation: compute link info for module-using targets, 2023-09-05, v3.27.5~7^2) we accidentally try to compute link information for custom targets if they have Fortran sources. For module dependencies, we only need to consider target types that can compile. Fixes: #25252
| * | | Tests/FortranModules: add a test case for #25223Ben Boeckel2023-09-187-0/+81
| | | |
| * | | Tests/FortranModules: move issue 25112 fix from FortranOnlyBen Boeckel2023-09-185-6/+6
| | | | | | | | | | | | | | | | It involves modules, so it belongs in the `FortranModules` test set.
| * | | Merge topic 'cxxmodules-non-compiled-source' into release-3.27Brad King2023-09-146-1/+37
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 458e3974a8 cxxmodules: detect and message about non-compiled sources Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8773
* | \ \ \ Merge topic 'FindPkgConfig-override'Brad King2023-09-202-0/+20
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | e0d00b9218 FindPkgConfig: Allow to override variables when calling pkg_get_variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8808
| * | | | FindPkgConfig: Allow to override variables when calling pkg_get_variableCorentin Noël2023-09-192-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | This is specifically useful when building applications within containers as we sometimes need to redefine the prefix used in a variable.
* | | | | Merge topic 'test-ExportImport'Brad King2023-09-191-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be5603d031 Tests: Fix ExportImport test with read-only source tree Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8813
| * | | | | Tests: Fix ExportImport test with read-only source treeBrad King2023-09-181-4/+4
| |/ / / /
* | | | | cmake: Clarify error if -P script does not existscivision2023-09-185-5/+6
|/ / / /
* | | | find_(library|file|path): Drop PATH-derived search prefixesBrad King2023-09-1427-180/+0
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit ffc06c1239 (Teach find_(library|file|path) to get prefixes from PATH, 2015-02-18, v3.3.0-rc1~430^2) we search in `<prefix>/include` and `<prefix>/lib` directories for prefixes with `bin` directories in the `PATH` environment variable. The motivation was to search the installation prefixes of MSYS and MinGW development environments automatically. This behavior can search undesired prefixes that happen to be in the `PATH` for unrelated reasons. It was reverted for non-Windows hosts within a year by commit b30b32a493 (Drop find_(library|file|path) prefixes from PATH on non-Windows, 2016-05-09, v3.6.0-rc1~82^2) but was kept on Windows hosts to support its motivating use case. However, similar problems have since been observed on Windows. For example, commit 955d6245c1 (MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2) was primarily due to undesired discovery of libraries in `PATH`-derived prefixes. Since commit 5e5132e1b1 (MinGW: Search for packages in standard MSYSTEM environment prefixes, 2023-09-11) we search MSYS and MinGW environments' prefixes explicitly, so `PATH`-derived prefixes are no longer needed for the original motivating use case. Fixes: #24216
* | | Merge topic 'cxxmodules-non-compiled-source'Brad King2023-09-146-1/+37
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24a9b00f83 Merge branch 'cxxmodules-non-compiled-source-release' into cxxmodules-non-compiled-source 458e3974a8 cxxmodules: detect and message about non-compiled sources Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8773
| * \ \ Merge branch 'cxxmodules-non-compiled-source-release' into ↵Ben Boeckel2023-09-126-1/+37
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | cxxmodules-non-compiled-source * cxxmodules-non-compiled-source-release: cxxmodules: detect and message about non-compiled sources
| | * | cxxmodules: detect and message about non-compiled sourcesBen Boeckel2023-09-126-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously an internal error was raised which ended up causing an internal exception to be thrown. This is a typo situation that should fall into an explicit error. Fixes: #25207
* | | | Merge topic 'autogen-exe-per-config'Brad King2023-09-1419-22/+424
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e454314daa NinjaMultiConfig: Update tests for the new dependency change fddd0f0443 Autogen: AUTO*_EXECUTABLE: add support for per-config values 10b09647f2 RunCMake: Add RunCMake_TEST_EXPECT_RESULT cac2e029f0 cmQtAutoGenInitializer: Define CrossConfig variable d4889361f0 cmQtAutoGenInitializer: Reduce string copies 0bf49d5579 cmQtAutoGenInitializer: Remove no-op call 94c4c1cb28 cmQtAutoGenInitializer: Improve Const-Correctness 6d54c36859 Autogen: Fix typo ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8564
| * | | | NinjaMultiConfig: Update tests for the new dependency changeOrkun Tokdemir2023-09-133-22/+40
| | | | |
| * | | | Autogen: AUTO*_EXECUTABLE: add support for per-config valuesOrkun Tokdemir2023-09-1315-0/+382
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Per-config values were added to `AUTO*_EXECUTABLE`. * Dependency order was refactored for `cmake_autogen` and `cmake_autorcc` to avoid unnecessary rebuilds. * A new parameter was added for `cmake_autogen` and `cmake_autorcc` to specify the config name of the `auto*_executable` to be used. * The timestamp target was split into three targets for per-config to avoid redundant `mocs_compilation` builds. * Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `CMAKE_CROSS_CONFIG` usage. * Some functions were refactored to avoid code duplication. Fixes: #20074
| * | | | RunCMake: Add RunCMake_TEST_EXPECT_RESULTOrkun Tokdemir2023-09-131-0/+2
| | | | |
* | | | | Merge topic 'mingw-search-prefixes'Brad King2023-09-1417-4/+44
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 5e5132e1b1 MinGW: Search for packages in standard MSYSTEM environment prefixes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8796
| * | | | MinGW: Search for packages in standard MSYSTEM environment prefixesBrad King2023-09-1317-4/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSYS2 and similar MinGW/MSYS distributions define development environments with a `MSYSTEM` environment variable. Each such environment has a documented installation prefix for its packages, often provided by a `MSYSTEM_PREFIX` environment variable. Since commit 84a25fc263 (cmake_host_system_information: Add MSYSTEM_PREFIX query, 2023-09-08) we can look up this prefix. Add `$MSYSTEM_PREFIX/local` and `$MSYSTEM_PREFIX` to our system search prefixes when targeting MinGW under `MSYSTEM` environments. This is their equivalent to `/usr/local` and `/usr`, which we search by default on UNIX systems. Issue: #24216
* | | | | Merge topic 'orkun_21677_16_06_2023'Brad King2023-09-1316-52/+123
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 09b650d000 Autogen: Move QtAutoMocDeps tests to RunCMake/Autogen ebc9e448b3 Autogen: Add depfile support for Makefiles e5358b9d8d RunCMake: Add RunCMake_TEST_NOT_EXPECT variables Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8570
| * | | | | Autogen: Move QtAutoMocDeps tests to RunCMake/AutogenOrkun Tokdemir2023-09-1115-52/+113
| | | | | |
| * | | | | RunCMake: Add RunCMake_TEST_NOT_EXPECT variablesOrkun Tokdemir2023-09-111-0/+10
| | |/ / / | |/| | |
* | | | | Merge topic 'presets-schema'Brad King2023-09-126-0/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f1a7179520 presets: Add $schema property to JSON schema f83771dfce presets: Add missing spaces in JSON schema Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8777
| * | | | | presets: Add $schema property to JSON schemaChenMoFeiJin2023-09-126-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many modern code editors have support for JSON Schema. When you specify the `$schema` property in a JSON file, the editor can provide features like auto-completion, error checking, etc., which can improve your efficiency when writing and modifying the `CMakePresets.json` file.
* | | | | | Merge topic 'vs-cuda-object-libs'Brad King2023-09-122-0/+2
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 6ebff6ebf8 VS: Avoid unnecessary CUDA device linking for OBJECT libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8794
| * | | | | VS: Avoid unnecessary CUDA device linking for OBJECT librariesRobert Maynard2023-09-112-0/+2
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Without `CudaLink` fields, MSBuild tries to perform a device link step for object libraries with CUDA_SEPARABLE_COMPILATION on them even when not needed. This commonly was encountered when generating PTX or OPTIX-IR output.
* | | | | Tests/RunCMake: Set $ENV{PWD} before each testKyle Edwards2023-09-112-6/+12
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | This will more accurately emulate how a shell would run CMake. Also, don't set $ENV{PWD} in Tests/RunCMake/SymlinkTrees, since RunCMake is now already doing this.
* | | | cmake_host_system_information: Add MSYSTEM_PREFIX queryBrad King2023-09-109-0/+33
| |_|/ |/| | | | | | | | | | | | | | | | | Add a query on Windows hosts for the installation prefix of a MSYS or MinGW development environment. Issue: #24216
* | | Tests: Migrate CTestTest{NoBuild,NoExe} to RunCMake.ctest_{build,test}Brad King2023-09-0715-94/+38
| | | | | | | | | | | | Avoid duplicating infrastructure provided by the latter.
* | | Merge topic 'FindPkgConfig-system-cflags'Brad King2023-09-074-4/+13
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 252c66c697 FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_INCLUDE_PATH in environment 4507883135 Tests: Rename RunCMake.FindPkgConfig LIBRARY_PATH case to SYSTEM_PATH Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8768