summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: Add policy CMP0113 to avoid duplication of custom commandsBrad King2020-09-0812-0/+56
| | | | | | | | | | | | | | | | | Do not attach a custom command to a target if it is already attached to one of the target's dependencies. The command's output will be available by the time the target needs it because the dependency containing the command will have already been built. This may break existing projects that do not properly mark non-created outputs with the `SYMBOLIC` property. Previously a chain of two custom commands whose intermediate dependency is not created would put both commands in a dependent project's Makefile even if the first command is also in its dependency's Makefile. The first command would run twice but the build would work. Now the second command needs an explicit `SYMBOLIC` mark on its input to tell CMake that it is not expected to exist. To maintain compatibility with projects that left out the mark, add a policy activating the behavior.
* Merge topic 'ispc_improvements'Brad King2020-09-0829-2/+113
|\ | | | | | | | | | | | | | | a020787a9b ISPC: Support generation for multiple instruction sets 5a1750017e ISPC: Add compiler launcher support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5173
| * ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-0418-1/+85
| |
| * ISPC: Add compiler launcher supportRobert Maynard2020-09-0312-1/+28
| |
* | cmake_path command: path managementMarc Chevrier2020-09-06179-0/+1690
| | | | | | | | Fixes: #19568, #20922
* | Merge topic 'external_project_download_stability'Brad King2020-09-041-1/+5
|\ \ | |/ |/| | | | | | | | | bbfdbe25a1 Improve the stability of the ExternalProject download tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5183
| * Improve the stability of the ExternalProject download testsThomas Bernard2020-09-021-1/+5
| |
* | Merge branch 'master' into ninja-multi-automoc-regressionKyle Edwards2020-09-02591-509/+3910
|\ \ | |/
| * Tests: Tell Xcode to disallow signing altogether in relevant casesBrad King2020-09-015-0/+8
| | | | | | | | | | | | | | | | The Xcode 'new build system' rejects empty signing identities unless signing is explicitly marked as not allowed. Update test cases where we turn off signing to explicitly disallow it too. Also turn off signing in the XCTest test.
| * Tests: Update RunCMake.CommandLine to avoid duplicate custom commandsBrad King2020-09-012-10/+32
| | | | | | | | | | This test does not need to have the same custom command output generated by multiple independent targets. Revise the test to avoid that.
| * Tests: Remove workaround from RunCMake.ExternalProject MultiCommand caseBrad King2020-09-011-4/+0
| | | | | | | | | | | | Since commit 7249ba9677 (ExternalProject: Enforce that patch depends on update, 2020-04-03, v3.18.0-rc1~403^2) we do not need the workaround in the MultiCommand case.
| * Merge topic 'target_genex_dependency'Brad King2020-09-016-1/+35
| |\ | | | | | | | | | | | | | | | | | | | | | f14b390198 GenEx: Remove unneeded dependencies from target info queries Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Merge-request: !5127
| | * GenEx: Remove unneeded dependencies from target info queriesRobert Maynard2020-09-016-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only generate a graph dependency between a custom command and a target when the custom command queries for the file path of an artifact of the target. This makes generator expressions such as `TARGET_FILE_DIR` behave the same way as `TARGET_PROPERTY` which never generated a graph dependency.
| * | Merge topic 'xcode-link-phase-all'Craig Scott2020-09-0112-0/+221
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 525464ed2a Xcode: Use "Link Binary With Libraries" build phase in some cases dc0898205c Xcode: Add special case for file type extension map for .xcassets 7b3d8411a2 Xcode: Refactor build setting append code and attribute getter naming Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5036
| | * | Xcode: Use "Link Binary With Libraries" build phase in some casesGusts Kaksis2020-08-3112-0/+221
| | |/ | | | | | | | | | | | | | | | | | | OBJECT and STATIC libraries (framework or non-framework) do not use this build phase. Not all items to be linked use this build phase either. Co-Authored-By: Craig Scott <craig.scott@crascit.com>
| * | Merge topic 'file_chmod'Brad King2020-09-0123-0/+100
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7de60beddf file: Add CHMOD and CHMOD_RECURSE subcommands Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Marc Chevrier <marc.chevrier@gmail.com> Merge-request: !5122
| | * | file: Add CHMOD and CHMOD_RECURSE subcommandsSibi Siddharthan2020-08-2623-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21057 Signed-off-by: Sibi Siddharthan <sibisiddharthan.github@gmail.com>
| * | | Merge topic 'ExternalProject-test-download-timeout'Brad King2020-08-311-5/+12
| |\ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | beab8bc29a Tests: Add timeout on the RunCMake.ExternalProject download server Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5167
| | * | Tests: Add timeout on the RunCMake.ExternalProject download serverThomas Bernard2020-08-271-5/+12
| | |/ | | | | | | | | | Fixes: #21132
| * | Merge topic 'ctest-FATAL_ERROR'Brad King2020-08-2715-3/+38
| |\ \ | | |/ | |/| | | | | | | | | | | | | 6a6f1d1edd CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5154
| | * CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR)Kevin Puetz2020-08-2615-3/+38
| | | | | | | | | | | | Fixes: #21004
| * | Merge topic 'win32-executable-genex'Brad King2020-08-257-0/+58
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 3ef0c40962 WIN32_EXECUTABLE: Add support for generator expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5146
| | * | WIN32_EXECUTABLE: Add support for generator expressionsKyle Edwards2020-08-217-0/+58
| | |/
| * | Merge topic 'file_generate_target'Brad King2020-08-254-0/+23
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 27a912193b file(GENERATE): Add TARGET argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5131
| | * | file(GENERATE): Add TARGET argumentRaul Tambre2020-08-204-0/+23
| | |/ | | | | | | | | | | | | | | | | | | Adds TARGET argument to file(GENERATE) to make resolving generator expressions requiring a target possible. Implements #21101, fixes #21074.
| * | Merge topic 'unk_imported_location'Brad King2020-08-2521-11/+81
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | 359c500a24 cmTarget: Raise error if imported target location is not set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5113
| | * | cmTarget: Raise error if imported target location is not setRaul Tambre2020-08-2121-11/+81
| | |/ | | | | | | | | | | | | | | | | | | | | | Previously we would synthesize <TARGET_NAME>-NOTFOUND as the location. This would then end up on the link line and cause build failures. Policy CMP0110 is added to control this behaviour. Fixes #19080, #19943.
| * | FetchContent: Fix SOURCE_DIR, BUILD_DIR when disconnected or overriddenCraig Scott2020-08-233-3/+55
| |/ | | | | Fixes: #21123
| * Merge topic 'fix-file-generate-cmp0070'Brad King2020-08-2010-1/+95
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 462b6d83e8 file(GENERATE): Test source properties 1977f7833b file(GENERATE): Update existing tests 04fbd7566a file(GENERATE): Fix missing check for policy CMP0070 2dc2732f67 file(GENERATE): Refactor outputFileName calculation a9602bb41e file(GENERATE): Refactor inputFileName calculation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5090
| | * file(GENERATE): Test source propertiesJosef Angstenberger2020-08-199-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | Output files get the source property `GENERATED` which is indirectly checked by adding them to a library. For a missing file that is not generated CMake will abort. With the new behavior according CMP0070 relative files are generated into the binary directory.
| | * file(GENERATE): Update existing testsJosef Angstenberger2020-08-191-1/+15
| | | | | | | | | | | | | | | | | | | | | Add the additional CMP0070 warning as expected stderr. The warning occurs twice because the output file name is evaluated multiple times.
| * | Merge topic 'msvc_c11'Brad King2020-08-201-0/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | f4373feda8 Tests: Fix RunCMake.try_compile test for C standards with MSVC 19.27 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5145
| * \ \ Merge topic 'ExternalProject-retry-only-recoverable'Brad King2020-08-199-0/+114
| |\ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 116b06870d ExternalProject: add INACTIVITY_TIMEOUT argument f24e34975a ExternalProject: retry download on recoverable errors Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5034
| | * | ExternalProject: add INACTIVITY_TIMEOUT argumentThomas Bernard2020-08-186-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to abort transfers on slow connections the ExternalProject command support passing the INACTIVITY_TIMEOUT argument. Fixes: #20992
| | * | ExternalProject: retry download on recoverable errorsThomas Bernard2020-08-114-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | In order to shorten the download failure of ExternalProject download steps, a download retry is only done when a recoverable network error is encountered.
| * | | Merge topic 'FixGraphvizAliasTargets'Brad King2020-08-1818-0/+22
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f7dd74e4ef Graphviz: Fix bug that shows duplicated alias targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5134
| | * | | Graphviz: Fix bug that shows duplicated alias targetsStephan Rohmen2020-08-1718-0/+22
| | | | | | | | | | | | | | | | | | | | When using subdirectories the alias targets were duplicated
| * | | | Merge topic 'add_test-special-chars-in-name'Brad King2020-08-17101-0/+286
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a20987732b add_test: Allow special characters in test name (w/ policy CMP0110) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5076
| | * | | | add_test: Allow special characters in test name (w/ policy CMP0110)Deniz Bahadir2020-08-12101-0/+286
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restore the change from commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be reverted by commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility. Add policy CMP0110 to make the change in a compatible way. Also, support even more characters than before by generating the test scripts using bracket arguments around the test names. Fixes: #19391 Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
| * | | | Merge topic 'xcode12-link-matching-zlib'Brad King2020-08-171-2/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 862dbe1367 Xcode: Link matching zlib for iOS Simulator SDK Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5125
| | * | | | Xcode: Link matching zlib for iOS Simulator SDKGregor Jasny2020-08-131-2/+2
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XcodeRemoveExcessiveISystem test runs `find_package(ZLIB)` which returns an SDK-relative path to `zlib.tlb`. When the test switches the SDK for building to something different than the SDK used for configuration the linker rightfully complains about the mismatch. The fix is to configure and build with the same SDK.
| * | | | Merge topic 'ios-combined-prune-archs'Brad King2020-08-172-2/+2
| |\ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets 79098d23eb Tests: Avoid warnings about unused arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5111
| | * | | Tests: Avoid warnings about unused argumentsGregor Jasny2020-08-082-2/+2
| | | | |
| * | | | Add option to optimize link dependencies for static librariesKyle Edwards2020-08-1237-0/+296
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an `OPTIMIZE_DEPENDENCIES` target property and supporting `CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and flattening of outgoing dependencies from static libraries. Since they do not actually link, they only depend on side effects of their dependencies. Therefore we can drop dependencies that contribute no side effects.
| * | | Merge topic 'build-interface-targets'Brad King2020-08-1041-65/+394
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2 4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES afb998704e Remove filtering of allowed INTERFACE library properties e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5078
| | * | | fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2Brad King2020-08-0712-1/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries with SOURCES now appear in the generated buildsystem, so include them in the codemodel output too. We do not need to bump the `codemodel-v2` object kind minor version because that was already done in post-3.18 development by commit 7d6861f367 (fileapi: Extend codemodel targets with language standard, 2020-06-18). Fixes: #18608
| | * | | Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-0726-18/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries were created with the intention of collecting usage requirements for use by other targets via `target_link_libraries`. Therefore they were not allowed to have SOURCES and were not included in the generated buildsystem. In practice, this has become limiting: * Header-only libraries do have sources, they just do not compile. Developers should be able to edit those sources (the header files) in their IDE. * Header-only libraries may need to generate some of their header files via custom commands. Some projects work around these limitations by pairing each interface library with an `add_custom_target` that makes the header files and custom commands appear in the generated buildsystem and in IDEs. Lift such limitations by allowing INTERFACE libraries to have SOURCES. For those with sources, add a corresponding build target to the generated buildsystem. Fixes: #19145
| | * | | Remove filtering of allowed INTERFACE library propertiesBrad King2020-08-034-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we disallowed use of arbitrary properties on INTERFACE libraries. The goal was to future-proof projects using them by not allowing properties to be set that may affect their future inclusion in the generated buildsystem. In order to prepare to actually include INTERFACE libraries in the generated buildsystem, drop the filter and allow arbitrary properties to be set. Issue: #19145
| * | | | Merge topic 'runcmake-make-english'Brad King2020-08-101-0/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3d2ab71d42 Tests: Set LC_MESSAGES for RunCMake.Make Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5114
| | * | | | Tests: Set LC_MESSAGES for RunCMake.MakeKyle Edwards2020-08-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LANG was already set, but is not enough on some systems. Set LC_MESSAGES too.