summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* OrangeC: Add support for OrangeC compilerDavid Lindauer2023-09-2532-44/+63
| | | | | | | Add compiler information modules. Update the test suite. Fixes: #25032 Co-authored-by: Brad King <brad.king@kitware.com>
* Merge topic 'CrayClang-compiler'Brad King2023-09-251-1/+1
|\ | | | | | | | | | | | | 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-221-1/+1
| | | | | | | | | | | | Add `CrayClang` compiler ID for newer Cray compilers. Fixes: #25102
* | Tests: Update tests to run in symlinked treeKyle Edwards2023-09-225-19/+29
|/
* 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 '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.
* | | 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.
* | | | | 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-0710-15/+42
| | | | | | | | | | | | 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
| * | FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_INCLUDE_PATH in environmentCristian Le2023-09-062-0/+9
| | | | | | | | | | | | | | | | | | | | | Tell `pkg-config --cflags` not to filter out `-I` flags for entries of `PKG_CONFIG_SYSTEM_INCLUDE_PATH` (and `CPATH` for `pkgconf`). Fixes: #25228
| * | Tests: Rename RunCMake.FindPkgConfig LIBRARY_PATH case to SYSTEM_PATHCristian Le2023-09-063-3/+3
| | | | | | | | | | | | Prepare to cover CFLAGS too.
* | | Merge topic 'replace-cmsysprocess-with-cmuvprocesschain'Brad King2023-09-065-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5f98df778 Source: Fix mysterious new IWYU warnings 0712e3cfea cmCTestCoverageHandler: Replace cmsysProcess with cmUVProcessChain 96b3dd329e cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChain b15ad7ebb6 cmCTest: Replace cmsysProcess with cmUVProcessChain 50a6e78a82 cmSystemTools::RunSingleCommand(): Replace cmsysProcess with cmUVProcessChain 49a37d5a97 cmCTestScriptHandler: Replace cmsysProcess with cmUVProcessChain bc702aa97e cmcmd: Replace cmsysProcess with cmUVProcessChain ec124582ac cmProcessTools::RunProcess(): Replace cmsysProcess with cmUVProcessChain ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8665
| * | | cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChainKyle Edwards2023-08-295-0/+5
| | | |
* | | | Merge topic 'xcode-no-legacy-buildsystem'Brad King2023-09-065-3/+21
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | b78a14e204 Xcode: reject legacy buildsystem for Xcode 14 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8762
| * | | Xcode: reject legacy buildsystem for Xcode 14Gregor Jasny2023-08-315-3/+21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With Xcode 14 support for the Legacy Build System has been removed and the BuildSystemType in the WorkspaceSettings is ignored. If CMake still generates projects targeted to the Lecacy Build System the build preparation phase will likely fail because Xcode for example misses any declared outputs from script invocations. This is a hard to debug problem and CMake should reject the invalid configuration instead.
* | | Tests: Fix FileAPI interface_exe testKyle Edwards2023-09-012-1/+42
|/ /
* | macOS: IMPORTED framework: Honor SYSTEM target property in all casesMarc Chevrier2023-08-271-0/+12
| | | | | | | | When IMPORTED_LOCATION holds a framework folder, SYSTEM property must be respected.
* | Merge topic 'modules-better-messages'Brad King2023-08-254-22/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 571b5e1f2c cxxmodules: improve error messages for C++ module setup 8b4d32c18b cmStandardLevelResolver: add query for the effective standard level 17ddc4ac76 cmStandardLevelResolver: compare with static string literals 6f1dae2b01 cmStandardLevelResolver: use `cmStrCat` where possible 0d45d40e13 cmStandardLevelResolver: use character literals where possible Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8755
| * | cxxmodules: improve error messages for C++ module setupBen Boeckel2023-08-234-22/+24
| |/ | | | | | | | | | | | | Make it clear that: - the quoted string is a target name; and - C++ sources that export modules is the important detail.
* | Merge topic 'imported-cxxmodules'Brad King2023-08-2131-10/+524
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 48ee946fdc cmExperimental: recycle the C++ modules API UUID 1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible 457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets 9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets 80ef50a191 CXXModules: add a variable for BMI-only compilation 80d6544398 cxxmodules: generate synthetic targets as an initial pass 3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8535
| * | cmExperimental: recycle the C++ modules API UUIDBen Boeckel2023-08-1712-12/+12
| | | | | | | | | | | | Supporting modules on IMPORTED targets is worth an update.
| * | Tests/RunCMake/CXXModules: add tests which use modules from imported targetsBen Boeckel2023-08-1711-0/+102
| | |
| * | cmExportFileGenerator: export private compile info for C++ modulesBen Boeckel2023-08-1713-0/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | When consuming exported targets which contain C++ modules, the consuming project must be able to recompile BMI files using the original target's flags. This is because a module source may use some private target usage requirement but not want to propagate it to consumers. To facilitate this, export the private information as necessary for consumers to be able to perform the BMI compilations.
* | | Merge topic 'cmList-INSERT-regression'Brad King2023-08-191-0/+47
|\ \ \ | |/ / |/| / | |/ | | | | | | | | 45ed175f08 list(INSERT): restore old behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8732
| * list(INSERT): restore old behaviorMarc Chevrier2023-08-171-0/+47
| | | | | | | | Fixes: #25191
* | Merge topic 'xcframework-check-platform-variant'Kyle Edwards2023-08-1641-16/+70
|\ \ | | | | | | | | | | | | | | | | | | | | | b4565c8c91 .xcframework: Check SupportedPlatformVariant Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8713
| * | .xcframework: Check SupportedPlatformVariantKyle Edwards2023-08-1541-16/+70
| | |