summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-022-0/+12
| | | | | | | | | The target property introduced by commit 413b71485a (Xcode: Create Xcode schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets. Fix it and update the test. Fixes: #19759
* 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
* | | CTest: Fix --show-only=json-v1 output with REQUIRED_FILES propertyBrad King2019-08-222-4/+18
|/ / | | | | | | Fixes: #19629
* | 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
* | | 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
* | 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-241-5/+0
|\ \ \ | | | | | | | | | | | | Merge-request: !3592
| * | | Clang: For MSVC ABI do not use modes older than C++14Brad King2019-07-241-5/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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.
* | list(POP_FRONT): Fix always assigning first item to output varsAlex Turbov2019-06-301-0/+13
| | | | | | | | Fixes: #19436
* | 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
* | Merge branch 'FindBoost-component' into release-3.15Brad King2019-06-1826-0/+418
|\ \ | | | | | | | | | 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
| | |
* | | 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
* | | Merge topic 'remove_directories'Brad King2019-06-0411-1/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07a80c7002 cmake: Teach -E remove_directory to remove multiple directories 013bee698e Tests: Add RunCMake.CommandLine make_directory test checks 3eb16de327 Tests: Fix RunCMake.CommandLine make_directory test name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3411
| * | | cmake: Teach -E remove_directory to remove multiple directoriesJohn Freeman2019-06-037-0/+18
| | | | | | | | | | | | | | | | | | | | The `make_directory` command can make multiple directories in a single invocation. Make `remove_directory` mirror that behavior.
| * | | Tests: Add RunCMake.CommandLine make_directory test checksJohn Freeman2019-06-032-0/+9
| | | |
| * | | Tests: Fix RunCMake.CommandLine make_directory test nameJohn Freeman2019-06-033-1/+1
| |/ /
* | | Merge topic 'executables-are-consoled'Brad King2019-06-045-1/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b06f4c8a74 Swift: disallow WIN32_EXECUTABLE properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3410
| * | | Swift: disallow WIN32_EXECUTABLE propertiesSaleem Abdulrasool2019-06-035-1/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the compiler does not synthesize the correct entry point for the application and passing the subsystem flag does not work the same way with the Swift linker language. Add a check to prevent the application of `WIN32_EXECUTABLE` to Swift executables until they can be properly supported. This will prevent the need for a future policy change. Closes: #19325
* | | Merge topic 'compiler_id_gen_exp_supports_multiple_ids'Brad King2019-06-043-5/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 162555d7ec Help: Add release notes for updated generator expressions 808b818063 Genex: CompileLang and CompileLangAndId now match against a list of ids 9fd602bfd3 Genex: PlatformId now can match against a list of ids. ec66af2026 Genex: CompilerId now can match against a list of ids. 2d4787fc4d Genex: Add more extensive support for an unbounded number of parameters Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3405
| * | | Genex: CompileLang and CompileLangAndId now match against a list of idsRobert Maynard2019-06-032-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | This allows for expressions such as: $<COMPILE_LANG_AND_ID, CXX, GNU, Clang>
| * | | Genex: CompilerId now can match against a list of ids.Robert Maynard2019-06-031-1/+1
| |/ / | | | | | | | | | | | | This allows for expressions like: $<$<CXX_COMPILER_ID:Clang,GNU>:-DMY_PRIVATE_DEFINE>
* | | Merge topic 'print-correct-line-number'Brad King2019-06-044-2/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 3475e2728b cmListFileCache: When missing ending ) print starting line instead of last one Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3398
| * | | cmListFileCache: When missing ending ) print starting line instead of last oneBartosz Kosiorek2019-06-034-2/+8
| |/ / | | | | | | | | | Fixes: #19301
* | | Merge topic 'better_error_message_for_visibility_preset_property'Brad King2019-06-041-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 619416f8a3 The error message for VISIBILITY_PRESET now documents valid options. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3409
| * | | The error message for VISIBILITY_PRESET now documents valid options.Robert Maynard2019-06-031-1/+1
| |/ / | | | | | | | | | | | | Rather than just state the value for VISIBILITY_PRESET was invalid, we additionally list the accepted values.
* | | Tests: Fix RunCMake.CommandLine test to use generator in no-S-B caseBrad King2019-06-031-4/+6
|/ / | | | | | | | | | | | | Apply the fix from commit baed22c4b0 (Tests: Fix RunCMake.CommandLine test to use generator with -S and -B, 2019-04-10) to the `no-S-B` case too. It also generates a build system and should use the generator being tested.
* | Merge topic 'vs-add-package-reference'Brad King2019-05-313-0/+44
|\ \ | | | | | | | | | | | | | | | | | | | | | 42e14d90b1 VS: Added support for VS package references for nuget Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Leonid Pospelov <pospelovlm@yandex.ru> Merge-request: !3389
| * | VS: Added support for VS package references for nugetKinan Mahdi2019-05-303-0/+44
| | |
* | | Merge topic 'tar-zstd-compression'Brad King2019-05-302-0/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 53cb1f2d04 cmake: Teach cmake -E tar command, Zstandard compression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3357
| * | | cmake: Teach cmake -E tar command, Zstandard compressionBartosz Kosiorek2019-05-222-0/+11
| | | | | | | | | | | | | | | | Fixes #18657
* | | | Merge topic 'clang-gnulike-support'Brad King2019-05-295-2/+13
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 74829f01b1 Help: Add notes for topic 'clang-gnulike-support' 19669abe1d Tests: handle string escaping differences with NMake+clang a2a90f41e3 Tests: require C++14 for the Tutorial 4819ff9647 Tests: fix failures with gnu mode clang on windows 26af0b25e7 cmake: use correct stack size with gnu mode clang on windows d44c0db0b2 clang: setup correct configuration in gnu mode b7d5ef23e9 cmGlobalNinjaGenerator: use gnu compatible paths with clang in gnu mode 3d0210d8dc binutils: add the llvm-* variants to the tool lists. ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Francesco Bertolaccini <francesco@bertolaccini.dev> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Saleem Abdulrasool <compnerd@compnerd.org> Merge-request: !2992
| * | | Tests: fix failures with gnu mode clang on windowsZsolt Parragi2019-05-245-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Root causes were: * Using incorrect conditions (assuming MSVC-like command line mode) * Trying to compile the MSVC STL in C++11 mode, when parts of it require C++14 or enabling MS extensions in clang. * Missing flush in a testcase using stdout in a dll and a main part with static crt