summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ninja-multi-test-fix'Brad King2021-07-2618-6/+127
|\ | | | | | | | | | | | | 08131e83bc Tests: Clean up Ninja Multi-Config test from cb777dd Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6383
| * Tests: Clean up Ninja Multi-Config test from cb777ddKyle Edwards2021-07-2318-6/+127
| |
| * Merge topic 'nmc-target-objects' into release-3.21Brad King2021-07-237-17/+49
| |\ | | | | | | | | | | | | | | | | | | | | | cb777dd81e Ninja Multi-Config: Restore TARGET_OBJECTS support in cross-configs 83c8272280 cmGeneratorExpressionNode: Factor out local variable for global generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6371
* | \ Merge topic 'autouic-header-depends'Brad King2021-07-265-2/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e5ec0e52f4 AUTOUIC: Fix generating of dependency rules for UI header files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6380
| * | | AUTOUIC: Fix generating of dependency rules for UI header filesAlexey Edelev2021-07-235-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We could not rely on .ui files when generating the ninja rules for the generated UI header files. .ui files might be added to the target sources but never processed by AUTOUIC afterward, since UI header files are never included in a source code. Instead of adding dependency rules based on the .ui files, this approach scans non-generated source files for includes of the UI header files, as AUTOUIC does. This gives the consistent set of UI header files at configure time, that could be used to generate byproducts rules for the AUTOUIC. Also, the path to the generated UI header file depends not on the .ui file location but on the include line is used in source files. Fixes: #16776
* | | | Merge topic 'nmc-target-objects'Brad King2021-07-237-17/+49
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | cb777dd81e Ninja Multi-Config: Restore TARGET_OBJECTS support in cross-configs 83c8272280 cmGeneratorExpressionNode: Factor out local variable for global generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6371
| * | | Ninja Multi-Config: Restore TARGET_OBJECTS support in cross-configsBrad King2021-07-217-17/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2ae72ef74b (Xcode: Enable multi-arch TARGET_OBJECTS genex in [INTERFACE_]LINK_LIBRARIES, 2021-05-26, v3.21.0-rc1~126^2) the TARGET_OBJECTS genex, when referenced for linking, is now evaluated with EvaluateForBuildsystem enabled. This causes the object file paths to be computed with a buildsystem-specific placeholder for the configuration. This is normally fine because the placeholder will be evaluated by the native buildsystem tool using the proper configuration. However, the Ninja Multi-Config generator's `${CONFIGURATION}` placeholder may not have the correct value for cross-config object files. Switch back to using the per-config location of each object file for this generator. Fixes: #22436
* | | | Merge topic 'enable_language-CMP0126'Brad King2021-07-231-0/+3
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 078ba4b2a4 Swift: Update test case to try CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6375
| * | | Swift: Update test case to try CMP0126 NEW behaviorBrad King2021-07-211-0/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | Extend the `SwiftOnly` test to cover the fix in commit 3ddd7f3576 (enable_language: Fix test for working compiler with CMP0126 NEW behavior, 2021-07-15), as that commit did for the `CSharpOnly` test. Fixes: #22451
| * | Merge topic 'message-color' into release-3.21Brad King2021-07-214-0/+15
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | c7a8c9c811 cmMessenger: Revert to non-color messages on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6369
| * \ \ Merge topic 'CMakeDependentOption-revert-parens' into release-3.21Brad King2021-07-214-8/+6
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d777ca12f6 CMakeDependentOption: Revert "Allow parentheses in the depends string" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6368
* | \ \ \ Merge topic 'message-color'Brad King2021-07-214-0/+15
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | c7a8c9c811 cmMessenger: Revert to non-color messages on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6369
| * | | | cmMessenger: Revert to non-color messages on WindowsBrad King2021-07-204-0/+15
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0a0a0f8a74 (cmMessenger: Color messages to terminal by type, 2021-05-18, v3.21.0-rc1~146^2) the message output no longer goes through our custom streambuf on Windows that converts output encoding. This can cause messages to be printed with the wrong encoding in a Windows Console. It also causes messages to have a mix of LF and CRLF newlines because `stderr` converts LF to CRLF but our custom streambuf does not. Revert to using just `cerr` for messages on Windows. Another approach will be needed to achieve color output on Windows later. Fixes: #22444
* | | | Merge topic 'CMakeDependentOption-revert-parens'Brad King2021-07-214-8/+6
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | d777ca12f6 CMakeDependentOption: Revert "Allow parentheses in the depends string" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6368
| * | | CMakeDependentOption: Revert "Allow parentheses in the depends string"Brad King2021-07-204-8/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | Revert commit 0665d9092e (CMakeDependentOption: Allow parentheses in the depends string, 2021-06-13, v3.21.0-rc1~32^2). It broke existing use cases with parentheses in regular expressions. Also add a test for this. Fixes: #22447
* | | Merge topic 'toolchain-CMP0126'Brad King2021-07-2111-0/+22
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 144be54dd3 try_compile: Propagate CMP0126 to the generated test project Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6366
| * | try_compile: Propagate CMP0126 to the generated test projectBrad King2021-07-2011-0/+22
| |/ | | | | | | | | Set policy CMP0126 to the value used in the calling project. It may affect toolchain file behavior.
| * Merge topic 'cmake-presets-no-binary-dir-no-s' into release-3.21Brad King2021-07-193-0/+18
| |\ | | | | | | | | | | | | | | | | | | aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6358
* | \ Merge topic 'find_library_usable_from_script_mode'Brad King2021-07-205-0/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | aa3ab3eb92 find_library: Infer library prefix and suffix when in script mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6338
| * | | find_library: Infer library prefix and suffix when in script modeRobert Maynard2021-07-195-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This aligns `find_library` with the documentation that states it can be called from script mode. This is done by infering the proper prefix and suffix values when `find_library` is called when the `CMAKE_FIND_LIBRARY*` are not set. This also means that `find_library` won't produce obscure error messages about unset definitions. Fixes: #22027
* | | | Merge topic 'cmake-presets-no-binary-dir-no-s'Brad King2021-07-193-0/+18
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6358
| * | | CMakePresets.json: Fix expansion issue with empty binaryDirKyle Edwards2021-07-163-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When resolving binaryDir into a full path from a relative path, we forgot to check if binaryDir is altogether empty, causing empty binaryDir's to resolve to the source directory. Fix this. Fixes: #22434
* | | | Merge topic 'enable_language-CMP0126'Brad King2021-07-191-0/+3
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6355
| * | | enable_language: Fix test for working compiler with CMP0126 NEW behaviorBrad King2021-07-151-0/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the logic that converts a `try_compile` result from a cache entry to a normal variable to tolerate an existing normal variable under CMP0126 NEW behavior. Otherwise the `try_compile` result is ignored because CMake uses the false value of the normal variable, and CMake incorrectly reports that the compiler does not work. This went unnoticed for some languages (e.g. C and CXX) because the check for a working compiler is skipped if ABI detection works. It does affect other languages (e.g. CSharp). Fixes: #22423
* | | Merge topic 'FindPkgConfig-LIBRARY_PATH'Brad King2021-07-143-0/+36
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 36979f5b43 FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6345
| * | | FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environmentBrad King2021-07-133-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tell `pkg-config --libs` not to filter out `-L` flags for entries of `PKG_CONFIG_SYSTEM_LIBRARY_PATH` (and `LIBRARY_PATH` for `pkgconf`). We should always search everywhere the `.pc` file expects. Fixes: #22148
* | | | Merge topic 'cpack-deb-debuginfo'Brad King2021-07-143-25/+44
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9dc007e17c Refactor: Drop redundand `std::endl` calls in the middle of output afcc5449e8 Refactor: Use `cmStrToLong` instead of `std::strtol` 13549674cc Refactor: Avoid duplicate calls to `GetOption("GEN_DBGSYMDIR")` 7add10f288 Refactor: Deduplicate code of `createDebPackages()` 593ff734b0 CPack/DEB: dbgsym package not generated for non-component packaging c8f298ae08 Refactor: Extract packaged files finder into a function 7fd3134ea1 Refactor: cmCPackDebGenerator::PackageComponents handle `else` first 008321595a Refactor: Change return value to bool for private members ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6342
| * | | | CPack/DEB: dbgsym package not generated for non-component packagingAlex Turbov2021-07-133-25/+44
| |/ / / | | | | | | | | | | | | Fix: #19735
* | | | Merge topic 'doc-cmake-build-signature'Brad King2021-07-1414-14/+14
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | 161f1f42d6 Help: Clarify 'cmake --build' signature alternatives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6343
| * | Help: Clarify 'cmake --build' signature alternativesBrad King2021-07-1314-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation added by * commit 4f4f2028b8 (Help: Add documentation for buildPresets and testPresets, 2021-01-13, v3.20.0-rc1~51^2~7) * commit 676ecf0d37 (cmake-presets: Add build and test presets, 2020-12-14, v3.20.0-rc1~51^2~6) used square brackets in the `cmake --build` signature to indicate non-optional alternatives, which is not a typical convention. A common convention is to use parentheses instead, but in this case it is probably clearer to list the two signatures separately. Fixes: #22413
| * | Merge topic 'file-grd-arch' into release-3.21Brad King2021-07-131-4/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | b2c03347b0 file(GET_RUNTIME_DEPENDENCIES): Check architecture of dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6339
* | \ \ Merge topic 'ctest-environment-modifications'Brad King2021-07-1315-0/+146
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | de4f1f26b0 CTest: add an ENVIRONMENT_MODIFICATION property 4c757fa3c8 Help/prop_test/ENVIRONMENT: clarify the scope of the changes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6299
| * | | | CTest: add an ENVIRONMENT_MODIFICATION propertyBen Boeckel2021-07-0915-0/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property allows projects to modify environment variables at test time rather than trying to guess what the state should be based on what is present at configure time. Of particular interest is the ability to use a `PATH` present at test time while adding entries known to be necessary for the test itself. There are multiple operations provided to modify variables, including: - setting and unsetting - appending and prepending as: - strings - path lists - CMake lists Additionally, a `reset` action is provided to cancel any prior modifications to that particular variable in the case of incremental additions to the test property.
* | | | | Merge topic 'UseSWIG-dependencies-VS-generators'Brad King2021-07-131-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d1bece92d5 UseSWIG: Use swig generated dependencies for Visual Studio Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6327
| * | | | | UseSWIG: Use swig generated dependencies for Visual StudioMarc Chevrier2021-07-091-1/+1
| | |_|_|/ | |/| | |
* | | | | Merge topic 'vs-CMAKE_MSVCIDE_RUN_PATH'Brad King2021-07-136-0/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 542bd343e3 VS: Always enable CMAKE_MSVCIDE_RUN_PATH Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6334
| * | | | | VS: Always enable CMAKE_MSVCIDE_RUN_PATHAsit Dhal2021-07-126-0/+16
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Do not require a language to be enabled. Fixes: #22343
* | | | | Merge topic 'file-grd-arch'Brad King2021-07-131-4/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5aeda18297 file(GET_RUNTIME_DEPENDENCIES): Use cmELF unconditionally 17aa96bb7a Merge branch 'master' into file-grd-arch b2c03347b0 file(GET_RUNTIME_DEPENDENCIES): Check architecture of dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6339
| * \ \ \ \ Merge branch 'master' into file-grd-archKyle Edwards2021-07-1251-89/+335
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | file(GET_RUNTIME_DEPENDENCIES): Check architecture of dependenciesKyle Edwards2021-07-121-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #22106
* | | | | | Merge topic 'FindBLAS-LAPACK-All'Brad King2021-07-134-6/+28
|\ \ \ \ \ \ | |_|/ / / / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | 31ac4b9165 ci: Verify that Intel MKL is found when it is the only BLAS/LAPACK 57dcde19da Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requested Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6336
| * | | | ci: Verify that Intel MKL is found when it is the only BLAS/LAPACKBrad King2021-07-124-6/+28
| |/ / / | | | | | | | | | | | | Issue: #22403
* | | | Merge topic 'target-stable-order'Brad King2021-07-121-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9e9ab61e2f cmGlobalGenerator: Process targets in a stable order 8a812dde61 cmGlobalGenerator: Use cmMakefile::CreateNewTarget to add global targets 854dcb0d01 cmMakefile: Split out CreateNewTarget from AddNewTarget Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6267
| * | | | cmGlobalGenerator: Process targets in a stable orderNAKAMURA Takumi2021-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | `cmMakefile::Targets` is meant for efficient lookup but does not have a stable order. Use `cmMakefile::OrderedTargets` instead.
* | | | | Merge topic 'intel-oneapi-std-windows'Brad King2021-07-121-0/+11
|\ \ \ \ \ | | |/ / / | |/| / / | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | a82af0e2ce Merge branch 'backport-3.20-intel-oneapi-std-windows' 1c227583a4 Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC mode 1c14691a86 CMakeCCompilerId: Fix C standard detection in Clang and IntelLLVM MSVC mode 6eea123e3a Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6328
| * | | Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC modeBrad King2021-07-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 84036d30d4 (IntelLLVM: Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~8^2~1) we activate C/C++ standard level logic for IntelLLVM when targeting the MSVC ABI. Update the `RunCMake.try_compile` test to be aware of this even when CMake is itself configured by an older CMake that does not know this.
| * | | Merge topic 'check_cxx_compiler_flag_no_normal_variable' into release-3.21Brad King2021-07-081-0/+10
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6318
* | \ \ \ Merge topic 'find_package-required-var'Brad King2021-07-087-0/+43
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a2e9fe38e4 find_package: Add variable to make package REQUIRED Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Michael Hirsch <michael@scivision.dev> Merge-request: !6316
| * | | | | find_package: Add variable to make package REQUIREDEugene Shalygin2021-07-087-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable is complement to `CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` with just the opposite behaviour: it turns non-required find_package call into the required one. While optional package dependencies usually result in simple and clean build logic, sometimes people want to be sure those optional dependencies will be found and used. Examples are reproducible builds and build instructions for 3rd parties. People choose to make find_package calls REQUIRED and put them behind an option(). Such workarounds blend build logic with build environment management and do not look elegant.
* | | | | | Merge topic 'check_cxx_compiler_flag_no_normal_variable'Brad King2021-07-081-0/+10
|\ \ \ \ \ \ | |/ / / / / |/| | / / / | | |/ / / | |/| | | | | | | | | | | | | 018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6318