summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | | cmake: tar: Allow selective extracting and listing of archivesBartosz Kosiorek2019-05-233-1/+44
| | | |
* | | | Merge topic 'genex-target-property-lifetime'Brad King2019-05-232-0/+19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5a1af142f1 Genex: Fix value lifetimes in nested TARGET_PROPERTY evaluation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3362
| * | | | Genex: Fix value lifetimes in nested TARGET_PROPERTY evaluationBrad King2019-05-222-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For special properties like `INCLUDE_DIRECTORIES`, the pointer returned by `cmTarget::GetProperty` is only valid until the next time the same special property is queried on *any* target. When evaluating a nested `TARGET_PROPERTY` generator expression we may look up such a property more than once on different targets. Fix `TargetPropertyNode::Evaluate` to store the lookup result in locally owned memory earlier. Fixes: #19286
* | | | | Merge topic 'framework-var'Brad King2019-05-232-6/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 26ea022c3b Add variable CMAKE_FRAMEWORK Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3347
| * | | | | Add variable CMAKE_FRAMEWORKRuslan Baratov2019-05-212-6/+17
| | |_|/ / | |/| | |
* | | | | Merge topic 'default-generator-env'Brad King2019-05-2223-0/+122
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d0f0ba0f7a Tests: Add environment generator tests a48ce8f4bf Help: Add documentation for default generator environment variables 083cf7e8a2 cmake: Allow default generator to be set by environment variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3218
| * | | | Tests: Add environment generator testsEicke Herbertz2019-05-2223-0/+122
| | | | |
* | | | | file: Change REMOVE to ignore empty namesBrad King2019-05-213-0/+15
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously code like file(REMOVE_RECURSE "${accidentally_missing_variable}") treated the empty string as a relative path with respect to the current directory and removed its contents. Change this behavior to ignore the empty string with a warning instead. Normally such behavior changes are done with a policy, but in this case such code is likely a real bug in project code that can delete data. Fixes: #19274