summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-309-66/+120
|\
| * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-307-2/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
| * Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAllBrad King2019-09-264-6/+9
| | | | | | | | | | Rename the `baz` target to `subinc` to clarify that its role is to be included even though it is in an otherwise excluded subdirectory.
| * Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbingBrad King2019-09-264-61/+43
| | | | | | | | Also simplify the clean step.
| * Tests: Teach RunCMake to support a custom working directoryBrad King2019-09-241-1/+4
| |
* | Merge branch 'FindBoost-1.71' into release-3.15Brad King2019-08-301-0/+5
|\ \ | | | | | | | | | Merge-request: !3763
| * | FindBoost: Unwrap compatibility INTERFACE targets for legacy variablesBrad King2019-08-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we extract information from imported targets provided by upstream `BoostConfig.cmake` files. However, upstream Boost 1.71 provides some imported targets only for compatibility. They are just INTERFACE libraries that wrap around the real target named by `INTERFACE_LINK_LIBRARIES`. Unwrap this layer so we can extract the real imported location. Fixes: #19656
* | | Merge branch 'backport-find-no-name' into release-3.15Brad King2019-08-283-0/+4
|\ \ \ | | | | | | | | | | | | Merge-request: !3751
| * | | find_path: Fix crash on empty old-style list of namesBrad King2019-08-283-0/+4
| |/ / | | | | | | | | | Fixes: #19651
* | | Merge branch 'ninja_additional_clean_files_custom_target' into release-3.15Brad King2019-08-271-37/+49
|\ \ \ | | | | | | | | | | | | Merge-request: !3739
| * | | Tests: Extend MakeClean test to test various target typesSebastian Holtermann2019-08-261-37/+49
| |/ / | | | | | | | | | | | | This extends the MakeClean test to test the target property `ADDITIONAL_CLEAN_FILES` on executable, library and custom targets.
* | | Merge branch 'ctest-json-REQUIRED_FILES' into release-3.15Brad King2019-08-222-4/+18
|\ \ \ | | | | | | | | | | | | Merge-request: !3719
| * | | CTest: Fix --show-only=json-v1 output with REQUIRED_FILES propertyBrad King2019-08-222-4/+18
| |/ / | | | | | | | | | Fixes: #19629
* | | Flang: Implement MSVC runtime library abstractionBrad King2019-08-091-4/+12
|/ / | | | | | | | | | | | | | | | | | | In commit fb3370b6a1 (MSVC: Add abstraction for runtime library selection, 2019-04-10, v3.15.0-rc1~229^2) we overlooked updating flags for Flang on Windows. Add them now and update the MSVCRuntimeLibrary Fortran test to work with Flang. Base the flags on those we already use for the GNU-like Clang targeting the MSVC ABI. Fixes: #19583
* | Merge branch 'find_package-prefer-config-not-found' into release-3.15Brad King2019-08-061-0/+6
|\ \ | | | | | | | | | Merge-request: !3653
| * | find_package: Fix prefer-config mode to not fail on missing optional packageCristian Adam2019-08-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | When `CMAKE_FIND_PACKAGE_PREFER_CONFIG` mode was set to `ON`, failure to find a package was fatal even if it was not `REQUIRED`. Fix this and add a test case. Fixes: #19557
* | | Merge branch 'fileapi-install-generators' into release-3.15Brad King2019-08-022-1/+36
|\ \ \ | | | | | | | | | | | | Merge-request: !3639
| * | | fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-312-1/+36
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546
* | | Merge branch 'vs-spectre-off' into release-3.15Brad King2019-07-303-0/+42
|\ \ \ | | | | | | | | | | | | Merge-request: !3629
| * | | VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-303-0/+42
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mapping for this flag was added by commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7). However, it did not do anything because the special logic added by commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08, v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from `ClCompile` to the top level only handled the presence of the setting and not its value. Extend the special logic to carry the value too. Fixes: #19535
* | | Swift: Restore support for enabling with INTERFACE librariesBrad King2019-07-291-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for executables because the `WIN32_EXECUTABLE` property is defined only for them. Running the check on other target types, particularly those that do not link such as INTERFACE libraries, violates internal assumptions. In particular, `GetLinkerLanguage` should not be called on such targets. Fixes: #19528
* | Merge branch 'makefile-depend-relative-include' into release-3.15Brad King2019-07-255-1/+35
|\ \ | | | | | | | | | Merge-request: !3599
| * | Makefile: Fix regression in dependencies on relative includesBrad King2019-07-245-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a13a5c948e (Replace use of CollapseCombinedPath with CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now calls `CollapseFullPath` with a base path that may be relative. Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with relative base path, 2019-07-24) to handle such base paths. This case occurs when a build tree is placed in a directory inside a source tree such that CMake is willing to generate a relative path from the build tree to the source tree. Add a test covering this case. Fixes: #19507
* | | Merge branch 'backport-clang-gnulike-support' into release-3.15Brad King2019-07-2419-43/+35
|\ \ \ | | | | | | | | | | | | Merge-request: !3592
| * | | Tests: Revert "require C++14 for the Tutorial"Brad King2019-07-2413-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit a2a90f41e3 (Tests: require C++14 for the Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2). In commit d50b31be35 (Clang: For MSVC ABI do not use modes older than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like Clang with the MSVC ABI so the test code itself no longer needs to do it. In particular, changing the tests in this way broke the tutorial's narrative.
| * | | Clang: For MSVC ABI do not use modes older than C++14Brad King2019-07-246-30/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode, 2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that targets the MSVC ABI. However, Clang cannot compile with the MSVC standard library unless it runs in a mode aware of C++14 (since MSVC itself does not even have a lower mode). When `CMAKE_CXX_STANDARD` is set to 98 or 11, use C++14 anyway. Since Clang's default mode is aware of C++14, another option is to not add any flags for 98 or 11. However, if a future Clang version ever defaults to a higher C++ standard, setting the standard to 98 or 11 should at least not use a mode higher than 14. Also revert test updates from commit 4819ff9647 (Tests: fix failures with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that were meant to work around the standard selection problem. Fixes: #19496
* | | Fix allocation in CROSSCOMPILING_EMULATOR evaluationMarek Antoniak2019-07-231-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | In commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support arguments, 2019-05-30, v3.15.0-rc1~6^2) the new member `cmCustomCommandGenerator::EmulatorsWithArguments` was not initialized to the proper size. Fix this and add a test case covering the crash that could occur with multiple commands where an emulator appears only in a later command. Fixes: #19500 Co-Author: Brad King <brad.king@kitware.com>
* | find_package: Fix NO_MODULE under CMAKE_FIND_PACKAGE_PREFER_CONFIGCristian Adam2019-07-163-0/+35
| | | | | | | | | | | | | | | | | | | | | | The module mode fallback added by commit 22e65d10c1 (find_package: Fixed CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback, 2019-06-13, v3.15.0-rc2~6^2) should not be used unless the `find_package` call allows module mode. Doing so can lead to infinite recursion if a find module tries to call config mode with `find_package(... NO_MODULE)`. Fix the logic and add a test case. Fixes: #19478
* | Merge branch 'backport-implicit-includes-cray-hlist'Brad King2019-07-097-0/+165
|\ \ | |/
| * Cray: Fix include parsing when the -hlist= flag is presentChuck Atkins2019-07-097-0/+165
| | | | | | | | | | | | Update parsing logic from commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) to handle the quoting behavior caused by the `-hlist=` flag.
* | Merge branch 'qt-5.13' into release-3.15Brad King2019-07-011-4/+4
|\ \ | | | | | | | | | Merge-request: !3500
| * | Tests: Autogen: Use valid rcc compression levelsSebastian Holtermann2019-07-011-4/+4
| | | | | | | | | | | | | | | Avoid the invalid compression level 0 when invoking rcc. It let's rcc fail with an error since Qt 5.13.
* | | Merge branch 'cuda-no-device-link-when-disabled' into release-3.15Brad King2019-07-014-0/+29
|\ \ \ | | | | | | | | | | | | Merge-request: !3491
| * | | CUDA: Do not device link if CUDA is not an enabled languageRobert Maynard2019-07-014-0/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checks added in commit 81b4d10d8f (CUDA: More exhaustive checks to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2) assumed that CUDA properties would be set only if CUDA is enabled. We cannot do a device link step if we do not have the CUDA language enabled. This was discovered as some projects unconditionally set CUDA properties such as `CUDA_RESOLVE_DEVICE_SYMBOLS` even when the CUDA language has not been enabled. Fixes: #19432
* | | list(POP_FRONT): Fix always assigning first item to output varsAlex Turbov2019-06-301-0/+13
|/ / | | | | | | Fixes: #19436
* | Merge branch 'cuda-msvc-runtime-library' into release-3.15Brad King2019-06-263-0/+9
|\ \ | | | | | | | | | Merge-request: !3485
| * | CUDA: Implement MSVC runtime library abstractionBrad King2019-06-263-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | In commit fb3370b6a1 (MSVC: Add abstraction for runtime library selection, 2019-04-10, v3.15.0-rc1~229^2) we overlooked updating flags for CUDA on Windows, where nvcc uses MSVC as the host compiler. Add them now and update the MSVCRuntimeLibrary test to cover CUDA. Fixes: #19428
* | | Merge branch 'export-targets-empty' into release-3.15Brad King2019-06-262-0/+2
|\ \ \ | | | | | | | | | | | | Merge-request: !3484
| * | | export: Restore support for empty TARGETS listBrad King2019-06-252-0/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit f5acecaa6f (cmExportCommand: Port to cmArgumentParser, 2019-03-23, v3.15.0-rc1~270^2~3) broke the `export` command's support for specifying `TARGETS` with no entries. Fix it and add a test case. Fixes: #19415
* | | FindIconv test: request C++11Rolf Eike Beer2019-06-251-0/+2
|/ /
* | Merge branch 'FindBoost-component' into release-3.15Brad King2019-06-1827-0/+419
|\ \ | | | | | | | | | Merge-request: !3438
| * | FindBoost: Add tests for legacy variablesAlexander Grund2019-06-1825-0/+415
| | |
| * | Tests.RunCMake.FindBoost: Fix example BoostConfigAlexander Grund2019-06-181-0/+3
| | |
| * | Tests.FindBoost: Don't use BoostConfig in MODULE testAlexander Grund2019-06-181-0/+1
| | |
* | | Merge branch 'find_package_prefer_config_fix' into release-3.15Brad King2019-06-172-0/+14
|\ \ \ | | | | | | | | | | | | Merge-request: !3446
| * | | find_package: Fixed CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallbackCristian Adam2019-06-132-0/+14
| |/ / | | | | | | | | | Fixes: #19361
* | | cmake: Teach -E capabilities to report supported fileapi requestsBrad King2019-06-071-1/+1
|/ / | | | | | | Fixes: #19339
* | Tests: Fix RunCMake.ctest_update test to not require GIT_EXECUTABLEBrad King2019-06-042-2/+4
| | | | | | | | | | | | | | Fix the test case added by commit 95db11fdb1 (ctest: Include ChangeId in Update.xml, 2019-04-23) to work in a release branch of CMake. The `GIT_EXECUTABLE` value is not set before we add this test in release branch builds.
* | Merge topic 'emulator-arguments'Brad King2019-06-047-3/+67
|\ \ | | | | | | | | | | | | | | | | | | fec441ec17 Teach CROSSCOMPILING_EMULATOR to support arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3402
| * | Teach CROSSCOMPILING_EMULATOR to support argumentsMarek Antoniak2019-06-037-3/+67
| | | | | | | | | | | | Fixes: #19321