summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* VS: Parse comma-separated fields from CMAKE_GENERATOR_INSTANCEBrad King2021-10-297-0/+31
|
* Merge topic 'swift-win32-property'Brad King2021-10-293-6/+13
|\ | | | | | | | | | | | | c782f140d4 Swift: Ignore WIN32_EXECUTABLE property outside of Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6658
| * Swift: Ignore WIN32_EXECUTABLE property outside of Windowshotwatermorning2021-10-283-6/+13
| | | | | | | | Issue: #19877
* | Tests: Add tests for target_sources(FILE_SET) and associated functionalityKyle Edwards2021-10-2765-0/+436
| |
* | FileAPI: Add information on file set installersKyle Edwards2021-10-2719-25/+632
|/
* Merge topic 'lcc-policy'Brad King2021-10-2211-2/+100
|\ | | | | | | | | | | | | | | 3958ed878f LCC: Add policy CMP0129 regarding interpreting LCC as GNU Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6643
| * LCC: Add policy CMP0129 regarding interpreting LCC as GNUmakise-homura2021-10-2111-2/+100
| | | | | | | | | | | | | | | | | | | | Due to MCST LCC compiler identification is now changed to LCC, there should be a way for old projects to still identify it as GNU, as it was before. This commits adds the policy: CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU. This policy controls such a behavior. OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
* | Merge topic 'vs-instance'Brad King2021-10-215-0/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46e9ff5729 Restore honoring CMAKE_GENERATOR_INSTANCE in toolchain file 42418b02f7 Android: Refactor sysroot detection under Visual Studio 44a86d0b38 cmake_host_system_information: Add undocumented VS_MSBUILD_COMMAND key 6999b87133 cmGlobalVisualStudio10Generator: Add method to find MSBuild early 7f730464be cmGlobalGenerator: Add method to check if generator is at least VS 10 8917b8512f cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstance 6511654164 cmGlobalVisualStudio10Generator: Allow subclasses to reset MSBuild search Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6646
| * | cmake_host_system_information: Add undocumented VS_MSBUILD_COMMAND keyBrad King2021-10-205-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the Visual Studio generator for VS 10 or above, offer this key to get the location of the MSBuild command before the first `project()` or `enable_language()` command has finished running. This will be needed only by one of our own modules, so leave it undocumented for now.
* | | Merge topic 'fix_reroot_paths'Brad King2021-10-213-0/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 91ec6eee58 find_package: Don't reroot prefix that is equal to a root path Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6644
| * | | find_package: Don't reroot prefix that is equal to a root pathAlexandru Croitor2021-10-203-0/+17
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | When both CMAKE_FIND_ROOT_PATH and CMAKE_PREFIX_PATH are set to /opt/my_device_sysroot, cmFindCommon::RerootPaths would only look for packages in /opt/my_device_sysroot/opt/my_device_sysroot but would not try to look in /opt/my_device_sysroot. Make sure to not reroot the prefix path in such a case. Fixes: #21937
* | | Merge topic 'vs-unity-individual-pch'Brad King2021-10-206-6/+36
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 71f15be957 VS: Fix compilation of single source with PCH in Unity Build 7fcc35c676 Tests: Clean RunCMake.UnityBuild cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6641
| * | | VS: Fix compilation of single source with PCH in Unity BuildBrad King2021-10-195-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sources that are part of a unity build are normally not compiled individually. However, the VS IDE allows a single source to be compiled. This can also be achieved on the command line: msbuild my.vcxproj ... -t:ClCompile -p:SelectedFiles=<src> where `<src>` is the path in the vcxproj `ClCompile` entry. In a target with precompiled headers, the source needs PCH settings to support individual compilation even if the normal unity build does not.
| * | | Tests: Clean RunCMake.UnityBuild casesBrad King2021-10-191-6/+2
| |/ /
* | | Tests/RunCMake: Merge TargetSources into target_sourcesKyle Edwards2021-10-1967-41/+39
|/ /
* | Merge topic 'lcc-compiler'Brad King2021-10-1917-24/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 02b2607a5c Help: Add release note for MCST LCC compiler support e5d9fce03f LCC: Add dedicated support for MCST LCC compiler 2b9ef77944 CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecture 0995c75301 Tests/RPM: skip tests tat rely on debugedit if it's not found ea55ac9a51 Tests/RunCMake/CommandLine: Deal with locales that are different from English Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6608
| * | LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-1514-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
| * | CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecturemakise-homura2021-10-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "OS Elbrus" (OSL for short), a reference Linux distro for E2K (Elbrus) platform may have broken dpkg-shlibdeps, that doesn't specify dependencies correctly. In this case, the only reliable way is to explicitly set dependencies of libc6 and lcc-libs, and then warn user to let him know this list may be incomplete. This commit does that. This fix has no effect on correctly working dpkg-shlibdeps, so when this bug will be fixed in new versions of OSL, CPack will work as expected with these distros.
| * | Tests/RPM: skip tests tat rely on debugedit if it's not foundmakise-homura2021-10-151-5/+22
| | | | | | | | | | | | | | | | | | There are several tests that run on systems that have rpm installed, but they fail if there's no debugedit installed also. This commit makes these tests being skipped in such case.
| * | Tests/RunCMake/CommandLine: Deal with locales that are different from Englishmakise-homura2021-10-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RunCMake/CommandLine has problems when ran using language setting differeng from English. This is due to test outputs being compared to English strings, which comparison obviously fails if this language is set to, e.g. Russian. This commit sets locale as "C" prior to running these tests, so messages while testing are generated in correct language and do not fail checks anymore.
* | | Tests: Reduce RunCMake.BuildDepends MakeDependencies case size on BorlandBrad King2021-10-131-1/+6
| | | | | | | | | | | | | | | The Borland compiler takes a long time to process a large number of include files. Sometimes the test times out. Reduce its size.
* | | Merge topic 'optimize-macos-runtime-dependencies'Brad King2021-10-134-4/+12
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 93c5864aa1 cmBinUtilsMacOSMachOLinker: improve performance by memoizing otool calls fc92d6640b cmFileCommand: improve error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6616
| * | cmFileCommand: improve error messageSeth R Johnson2021-10-124-4/+12
| |/ | | | | | | | | Print full list of unresolved dependencies and a phrase that indicates what about the file is unresolved.
* | Add deprecation warnings for policies CMP0094 and belowBrad King2021-10-083-0/+30
|/ | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.15 and below to encourage projects to port away from setting policies to OLD.
* Merge topic 'revert-debian-libexec'Brad King2021-10-081-2/+2
|\ | | | | | | | | | | | | 6658e260d4 GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6607
| * GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIRTimo Röhling2021-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Revert commit 798c1c3192 (GNUInstallDirs: Comply with Debian Policy on LIBEXECDIR, 2020-10-08, v3.19.0-rc1~11^2). The Debian Policy builds upon FHS 3.0 and permits installing to `/usr/libexec`. While Policy does grant an additional exception for applications to use a single subdirectory of `/usr/lib/<triplet>`, this is not meant to replace `/usr/libexec` as valid target. Fixes: #22731
* | Tests: Skip RunCMake.file INSTALL-FOLLOW_SYMLINK_CHAIN case on CygwinBrad King2021-10-062-2/+4
| | | | | | | | | | | | | | This case was added by commit e3ff7ced63 (file(INSTALL): Add FOLLOW_SYMLINK_CHAIN argument, 2019-05-16, v3.15.0-rc1~103^2). Skip it on Cygwin because it fails due to `foo/../` pairs being flattened away in symlinks.
* | Merge topic 'ci-xcode-13.0'Brad King2021-10-062-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 429522e89c gitlab-ci: update macOS jobs to use Xcode 13.0 75901f0472 Tests: Fix RunCMake.XcodeProject XcodeIOSInstallCombined cases for Xcode 13.0 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6578
| * | Tests: Fix RunCMake.XcodeProject XcodeIOSInstallCombined cases for Xcode 13.0Brad King2021-10-052-4/+4
| | | | | | | | | | | | | | | The output of `otool -vf` now contains additional content that happens to be matched by our architectures regex. Make the regex more strict.
* | | Merge topic 'xcode13-schema'Brad King2021-10-061-1/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | 0e86fea0be Tests: Specify destination for Xcode scheme Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6582
| * | Tests: Specify destination for Xcode schemeGregor Jasny2021-10-051-1/+6
| | | | | | | | | | | | | | | | | | | | | The `Using the first of multiple matching destinations` warning vanishes if we explicitly specify a destination. Fixes: #22704
* | | Merge topic 'fetchcontent-CMAKE-vars-passthrough'Craig Scott2021-10-062-0/+39
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1851aa49be FetchContent: Pass through networking-related CMAKE_... variables 96937438b7 Help: Clean up how TLS and NETRC variables are discussed 2a82bd85b6 Help: Add documentation for CMAKE_TLS_CAINFO Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6589
| * | | FetchContent: Pass through networking-related CMAKE_... variablesCraig Scott2021-10-052-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CMAKE_TLS_VERIFY, CMAKE_TLS_CAINFO, CMAKE_NETRC and CMAKE_NETRC_FILE are now passed through to the underlying ExternalProject sub-build. Previously, they were silently ignored. Fixes: #22144
* | | | Merge topic 'qt6-tests'Craig Scott2021-10-0517-64/+134
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a742088472 Tests: Add support for testing Qt6 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6587
| * | | | Tests: Add support for testing Qt6Craig Scott2021-10-0417-64/+134
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The minimum CMake version for Qt6 is 3.16, so all the calls to cmake_minimum_required() are updated here to enforce that minimum. This will avoid any CMake version-related warnings from Qt. Avoid hard-coding Qt5 where the tests could now be using Qt5 or Qt6. Fixes: #22188
* | | | cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logicRaul Tambre2021-09-2911-1/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes are part of CMP0128. When the standard level is unset: * Flags are added if extension mode doesn't match the compiler's default. Previously logic only worked if LANG_EXTENSIONS was ON. Fixes #22224. * The full flag is used. Previously CMAKE_LANG_EXTENSION_COMPILE_OPTION was used. This was only supported for IAR. Otherwise: * Avoid adding flags if not necessary per the detected compiler defaults. * Fixed check for when the requested standard is older. It now matches the nearby comments. I reworded the fallback comment as its logic was a bit difficult to wrap my head around.
* | | | Tests: Simplify RunCMake.CompileFeatures introspectionRaul Tambre2021-09-284-60/+24
|/ / /
* | | Merge topic 'autogen-dep-on-imported-implib-only-target'Brad King2021-09-275-0/+75
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | 895fa3433f cmQtAutoGenInitializer: support IMPLIB-only imported targets 354c1f5628 Tests/RunCMake/Autogen: test CMP0111 behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6558
| * | Tests/RunCMake/Autogen: test CMP0111 behaviorBen Boeckel2021-09-245-0/+75
| | | | | | | | | | | | | | | | | | | | | On Windows, imported shared libraries which only have an `IMPORTED_IMPLIB` set fail if they are depended upon by a target using automoc. Add a test for the behavior of depending upon all imported target types from an automoc-using target.
* | | Merge topic 'cat_empty_file'Brad King2021-09-211-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0b4a56e64b cmake: -E cat stops when an empty file is encountered Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6539
| * | | cmake: -E cat stops when an empty file is encounteredJohnny Jazeix2021-09-181-1/+2
| | | | | | | | | | | | | | | | Fixes: #22652
* | | | Tests: fix RunCMake.CPack_DEB.EXTRA on Debian non-Linux OSesPino Toscano2021-09-181-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | The generated path with the packages uses $CPACK_TOPLEVEL_TAG, which by default is $CPACK_SYSTEM_NAME, thus the OS name. To make the expected stderr match also non-Linux OSes, accept any non-slash characters in place of "Linux", so it works also on other Debian OSes (e.g. Debian/Hurd).
* | | Merge topic 'xcode-embed-libraries'Craig Scott2021-09-167-24/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 6ef7bfbb64 Xcode: add support for embedding dynamic libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6490
| * | | Xcode: add support for embedding dynamic librariesLucas SOLTIC2021-09-137-24/+28
| | | |
* | | | PCH: MSVC: Restrict OBJECT library INTERFACE_LINK_LIBRARIES usageCristian Adam2021-09-152-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pch object file could cause problems when the reused pch is passed through an OBJECT library, which would use INTERFACE_LINK_LIBRARIES to link the pch object file. Fixes: #22630
* | | | Merge topic 'pch-xcode-multiple-languages'Brad King2021-09-145-0/+35
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bbcdac4e5d PCH: Fix all-language precompile header support in Xcode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6435
| * | | | PCH: Fix all-language precompile header support in XcodeCristian Adam2021-09-135-0/+35
| | | | | | | | | | | | | | | | | | | | Fixes: #22384
* | | | | Merge topic 'CMakeDependentOption-condition-syntax'Brad King2021-09-1412-1/+51
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 059b90a0b4 CMakeDependentOption: Introduce policy CMP0127 for full Condition Syntax Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6493
| * | | | CMakeDependentOption: Introduce policy CMP0127 for full Condition SyntaxDaniel Schürmann2021-09-1012-1/+51
| | | | | | | | | | | | | | | | | | | | Fixes: #22303
* | | | | Merge topic 'vs_settings'Brad King2021-09-102-3/+14
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f21158cdfe VS: Honor VS_SETTINGS source file property on all sources 3bf013632d cmVisualStudio10TargetGenerator: Factor out helper to write VS_SETTINGS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6492