summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* cmGlobalVisualStudio10Generator: Auto restore NuGet packages.Carsten Rudolph2022-01-2218-0/+95
|
* Merge topic 'cmake-presets-include'Brad King2022-01-1036-1/+232
|\ | | | | | | | | | | | | | | | | | | | | 26a5512c0f CMakePresets: Add include field a239f23a98 Refactor: Generalize file graph in CMakePresets 84d440caac Refactor: Split JSON processing into configure, build, and test presets fd6ea2f67f Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraph Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6829
| * CMakePresets: Add include fieldKyle Edwards2022-01-0735-0/+231
| | | | | | | | Fixes: #21331
| * Refactor: Generalize file graph in CMakePresetsKyle Edwards2022-01-071-1/+1
| | | | | | | | | | | | | | | | Before this refactoring, presets had a simple flag that marked them as "user" or "not user", and checking the file graph of two files was as simple as checking this flag. This only allowed for two files in the graph. Generalize the code to allow for arbitrarily many files in the graph.
* | Merge topic 'GoogleTest-dots'Brad King2022-01-078-89/+170
|\ \ | |/ |/| | | | | | | | | 1f9554d4e9 GoogleTest: Fix regex matching all dots in the suite name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6822
| * GoogleTest: Fix regex matching all dots in the suite nameFrancesco Guastella2022-01-078-89/+170
| |
* | Merge topic 'xcode-framework-system-includes'Brad King2022-01-065-0/+33
|\ \ | |/ |/| | | | | | | | | | | 7d99cff236 Xcode: Properly identify frameworks with system includes Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6815
| * Xcode: Properly identify frameworks with system includesGregor Jasny2021-12-225-0/+33
| | | | | | | | | | | | | | | | Check the complete include path for being a system include, not the derived framework search path. The code for Ninja and Makefile generators does exactly the same. Fixes: #23011
* | Merge topic 'vs-csharp-dotnet-sdk'Brad King2021-12-2214-0/+170
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 0eea32a376 VS: Add DOTNET_SDK property to generate SDK-style C# projects a450cc9533 VS: Set ResolveNugetPackages to false for ALL_BUILD and ZERO_CHECK fa76e5d194 cmVisualStudio10TargetGenerator: Factor out helper for classic MSBuild project Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6634
| * | VS: Add DOTNET_SDK property to generate SDK-style C# projectsSumit Bhardwaj2021-12-2114-0/+170
| | | | | | | | | | | | | | | | | | | | | | | | Changes in cmVisualStudio10TargetGenerator::Generate to write .Net SDK-style project for VS generators VS 19 and above. Also adds documentation and tests. Issue: #20227
* | | Merge topic 'doc-list-non-existent'Brad King2021-12-222-0/+48
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b573a732dc Tests: add tests to check claims in the documentation b151db01f9 Help: mention non-existent case for list(PREPEND) b3a249c2cb Help: clarify range for list(INSERT), mention nonexistent / empty case b6fdcb3df0 Help: clarify description of list(INSERT) e55f473ea9 Help: clarify that list(APPEND) on a non-existent list creates it Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6824
| * | | Tests: add tests to check claims in the documentationAdriaan de Groot2021-12-212-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | - list commands APPEND, PREPEND, INSERT treat non-existent lists as empty and use that value, creating a new list variable in the process.
* | | | Merge topic 'link-only-targets'Brad King2021-12-2226-1/+107
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 37af6c3311 target_link_libraries: Optionally require only target names 5134f099a3 cmGeneratorTarget: Factor out message about reasons for a missing target 37a25072ea Tests: Rename RunCMake.{CMP0028 => LinkItemValidation} Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6821
| * | | target_link_libraries: Optionally require only target namesBrad King2021-12-206-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optionally verify that items in `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` that can be target names are actually target names. Add a `LINK_LIBRARIES_ONLY_TARGETS` target property and corresponding `CMAKE_LINK_LIBRARIES_ONLY_TARGETS` variable to enable this new check. Fixes: #22858
| * | | Tests: Rename RunCMake.{CMP0028 => LinkItemValidation}Brad King2021-12-2022-1/+1
| |/ / | | | | | | | | | Generalize the test name to prepare for cases beyond CMP0028.
* | | FindGLUT: Provide modern-named GLUT_INCLUDE_DIRS result variableBrad King2021-12-201-1/+1
|/ / | | | | | | | | | | | | Previously this module only provided `GLUT_INCLUDE_DIR`, which does not follow the modern naming convention documented in `cmake-developer(7)`. Issue: #23018
* | Merge topic 'improve-CMP0028-messages'Brad King2021-12-206-34/+76
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | ea050286e7 CMP0028: Report the target whose link interface has an offending item a97c92e46e CMP0028: Report backtrace to link item rather than target creation 0dcbf4ab58 cmGeneratorTarget: Record when imported target link iface libs are done Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6810
| * | CMP0028: Report the target whose link interface has an offending itemBrad King2021-12-166-23/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously items linked via the link interface of a dependency were reported in CMP0028 messages as if directly linked by a target. Clarify the messages to indicate that an offending item is actually in the link interface of a given target, regardless of its consumer. Move the check to the end of generation and look through the final set of link implementations and link interfaces that were used for generation. This avoids repeating messages on link interfaces that have multiple consumers.
| * | CMP0028: Report backtrace to link item rather than target creationBrad King2021-12-166-13/+13
| | | | | | | | | | | | | | | | | | Now that we have proper backtraces for both `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` entries, we can report them in error messages.
* | | Merge topic 'FindGLUT-include-dirs'Brad King2021-12-201-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ae6b25d920 FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6814
| * | | FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code pathBrad King2021-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f90d15458a (FindGLUT: Use pkg-config to find flags if available, 2021-06-11, v3.22.0-rc1~469^2) we return early if pkg-config provides the information. During review of that commit, code to populate the legacy `GLUT_INCLUDE_DIR` result variable was removed from that code path. Add code to provide it. Also fix the test case to use `GLUT_INCLUDE_DIR`, the result variable documented officially by the module. Fixes: #23018
* | | | Merge topic 'test-vsnormal-allow-intel'Brad King2021-12-201-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d7ae61cde6 Tests: In RunCMake.GeneratorToolset accept Intel platform toolsets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6811
| * | | | Tests: In RunCMake.GeneratorToolset accept Intel platform toolsetsWilliam R. Dieter2021-12-171-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RunCMake.GeneratorToolset test expected platform toolsets to have a name beginning with 'v' followed by one or more decimal digits, as all the Microsoft platform toolsets follow that naming convention. The Intel platform toolsets begin with "Intel" and have various additional strings depending on the compiler version. This change accepts the toolsets delivered by Intel in addition to those from Microsoft. Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* | | | Merge topic 'filter-debug-find'Brad King2021-12-1731-0/+427
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | d7b18895bc cmake: Add filtered debug-find options Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !6778
| * | | cmake: Add filtered debug-find optionsJohn Parent2021-12-1731-0/+427
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Add a `--debug-find-pkg=` option to debug find calls for specific packages. Add a `--debug-find-var=` option to debug find calls for specific return variables. Fixes: #21880
* | | Merge topic 'link-interface-backtrace'Brad King2021-12-163-3/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d709ea2f5 cmGeneratorTarget: Propagate backtraces from INTERFACE_LINK_LIBRARIES a84a62e0a7 cmTarget: Record backtraces for INTERFACE_LINK_LIBRARIES Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6805
| * | | cmGeneratorTarget: Propagate backtraces from INTERFACE_LINK_LIBRARIESBrad King2021-12-153-3/+9
| |/ /
* | | Merge topic 'msvc_cuda_propagate_defines_to_ptx'Brad King2021-12-163-0/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 574b492b47 CUDA: Visual Studio Generator propagates definitions for PTX files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6802
| * | CUDA: Visual Studio Generator propagates definitions for PTX filesunknown2021-12-143-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | From CUDA 9.0 to CUDA 11.4 the CUDA Visual Studio integration defines omitted user defines from PTX generation. With CUDA 11.5 this has been resolved, so we backport the fix to allow for consistent behavior when using CMake
* | | Merge topic 'fix-list-transform-invalid-index-crashes'Brad King2021-12-1410-0/+27
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7dd3e99270 cmListCommand: Handle invalid FOR selector ranges Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6786
| * | | cmListCommand: Handle invalid FOR selector rangesNick Muggio2021-12-0910-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes crashes involving invalid ranges specified in list(TRANSFORM ... FOR ...) calls. * Report error when step is not positive * Report error when start is after stop Fixes: #22985
* | | | Merge topic 'tests_if_version'Brad King2021-12-091-2/+78
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1a813273ca Tests: Add more version comparison tests Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6791
| * | | | Tests: Add more version comparison testsPaweł Bylica2021-12-081-2/+78
| | | | |
* | | | | Merge topic 'ctest-add_subdirectory'Brad King2021-12-092-0/+40
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c5a120c38 Tests: Add case covering both ctest subdirectory commands 04deda1d2a CTest: Extract common implementation of add_subdirectory and subdirs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6795
| * | | | | Tests: Add case covering both ctest subdirectory commandsBrad King2021-12-082-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CTest re-implements the `subdirs` and `add_subdirectory` commands. Verify that they both work.
* | | | | | cmTargetPropertyComputer: Simplify by restoring use of cmMakefileBrad King2021-12-081-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logically revert commit 390a7d8647 (cmTargetPropertyComputer: Implement GetProperty without cmMakefile, 2016-10-13, v3.8.0-rc1~445^2~9). It relied on using `cmListFileBacktrace` to get a scope in which to look up policies. This does remove a backtrace from `LOCATION` property errors at generate time, but the backtrace we reported before was incorrect. It pointed at the addition of a target, not to the reference to the property.
* | | | | | cmMessenger: Adopt backtrace printing functionsBrad King2021-12-081-7/+15
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Move backtrace printing functions from `cmListFileBacktrace` over to `cmMessenger`, their primary caller. Thread `cmMessenger` instances through APIs needed to update other call sites.
* | | | | Merge topic 'lib-arch-no-usr'Brad King2021-12-078-0/+124
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | d4ba945c48 CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6790
| * | | CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object pathRaphael Gozzo2021-12-068-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current regular expression is able to match `/usr/lib/<arch>`, `/usr/usr/lib/<arch>`, `/usr/usr/usr/lib/<arch>`, ... but not `/lib/<arch>`. This behavior ends up causing the detected architecture to be x86_64-pc-linux-gnu when the Clang compiler is installed on a "non-system" location (like /opt/llvm-13) which, in turn, makes almost every 'find_library()' fail because the correct architecture is x86_64-linux-gnu. This is due to a typo in commit 764606e256 (CMakeDetermineCompilerABI: Extract lib arch from implicit object file paths, 2021-04-05, v3.20.1~10^2), which used `+` instead of `?`.
* | | | Merge topic 'ci-vs-managed'Brad King2021-12-061-1/+1
|\ \ \ \ | |/ / / | | / / | |/ / |/| | | | | | | | 69419c5870 ci: Enable more VS tests that use managed code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6782
| * | ci: Enable more VS tests that use managed codeBrad King2021-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | A couple of VS tests were conditioned on `NOT CMAKE_GENERATOR_TOOLSET`, but in CI jobs with VS we always set `CMAKE_GENERATOR_TOOLSET`. Make the condition specific to excluding the `v90` toolset, which was its original intention anyway.
* | | Merge topic 'vs-csproj-scripts'Brad King2021-12-033-0/+20
|\ \ \ | |/ / | | | | | | | | | | | | | | | 13a7ae2194 VS: Revert "Add missing label in C# project-build events" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6781
| * | VS: Revert "Add missing label in C# project-build events"Brad King2021-12-023-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit b284a21fee (VS: Add missing label in C# project-build events, 2021-09-03, v3.22.0-rc1~156^2). The change broke cases using multiple successful custom commands. Revert it pending further investigation into the interaction of the generated script code with `Microsoft.Common.CurrentVersion.targets`, and whether this is needed for all managed projects or just C# projects. Also add a test covering the case that was broken. Fixes: #22964 Issue: #21440
* | | Merge topic 'rpath-unrecognized-format'Brad King2021-12-0212-0/+64
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | 643fc46bdc file(RPATH): Restore tolerance of unknown formats if new RPATH is empty 5596cba7dc cmSystemTools: Remove unnecessary mark-as-used casts to void Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6779
| * | file(RPATH): Restore tolerance of unknown formats if new RPATH is emptyBrad King2021-12-0112-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2e1149874d (cmSystemTools: Support multiple binary formats, 2021-06-14, v3.22.0-rc1~575^2) the `file(RPATH_...)` operations fail on files that are not ELF or XCOFF format. Previously the RPATH operations tolerated files of unknown format if the goal was to produce a file with an empty RPATH. Restore this tolerance in order to support setting an empty RPATH on GNU ld scripts. Fixes: #22963
* | | GNUInstallDirs: Update CMAKE_INSTALL_MANDIR for FreeBSDDmitry Marakasov2021-11-304-8/+8
| |/ |/| | | | | | | | | | | FreeBSD has switched from PREFIX/man ro PREFIX/share/man see https://cgit.freebsd.org/ports/tree/CHANGES entry 20200115. Fixes: #22883
* | Merge topic 'env-init-configs'Brad King2021-11-233-0/+27
|\ \ | |/ | | | | | | | | | | | | 5b1ed2a646 try_compile: Do not use CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES env vars Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6755
| * try_compile: Do not use CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES env varsBrad King2021-11-223-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since: * commit e216b9bbd3 (cmake: Allow CMAKE_BUILD_TYPE to be set by environment variable, 2021-06-29, v3.22.0-rc1~503^2~1) * commit ef56eefc9b (cmake: Allow CMAKE_CONFIGURATION_TYPES to be set by environment variable, 2021-06-29, v3.22.0-rc1~503^2) the environment variables are supposed to provide defaults for settings the user otherwise can control via cache entries. However, they accidentally affect `try_compile` projects too, which are supposed to be programmatically controlled. Fixes: #22935
| * Merge branch 'UseSWIG-create-workingdir' into release-3.22Brad King2021-11-221-0/+1
| |\ | | | | | | | | | Merge-request: !6750
* | \ Merge topic 'FindGTest-target-for-gmock'Brad King2021-11-221-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 50bf457a0d FindGTest: Add target for gmock library Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6632