summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* fileapi: extend codemodel v2 with directory detailsBrad King2018-12-121-0/+26
| | | | | Issue: #18398 Co-Author: Kyle Edwards <kyle.edwards@kitware.com>
* fileapi: extend codemodel v2 with a project modelBrad King2018-12-122-3/+259
| | | | | | | | | Offer clients a `project()`-centric view of the build system. This is similar to the directory-centric view but consolidates subdirectories that do not call `project()` with a new project name. Issue: #18398 Co-Author: Kyle Edwards <kyle.edwards@kitware.com>
* fileapi: Add test for cmakeFiles v1Kyle Edwards2018-12-126-1/+89
|
* fileapi: add cmakeFiles v1Brad King2018-12-129-0/+56
| | | | Issue: #18398
* fileapi: Add test for cache v2Kyle Edwards2018-12-122-2/+134
|
* fileapi: add cache v2Brad King2018-12-129-0/+57
| | | | | | Start with v2 to distinguish it from server-mode v1. Issue: #18398
* fileapi: Add test for codemodel v2Kyle Edwards2018-12-1215-14/+4927
|
* fileapi: add codemodel v2Brad King2018-12-129-0/+67
| | | | | | Start with v2 to distinguish it from server-mode v1. Issue: #18398
* fileapi: Add more infrastructure to FileAPI testKyle Edwards2018-12-121-7/+65
|
* fileapi: Report cmake generator in reply index fileBrad King2018-12-121-1/+12
|
* fileapi: Add protocol v1 support for stateful per-client queriesBrad King2018-12-126-0/+406
| | | | | | | | | | | | Add support for client-owned *stateful* query files. These allow clients to request a list of versions of each object kind and get only the first-listed version that CMake recognizes. Since clients own their stateful query files they can mutate them over time. As a client installation is updated it may update the queries that it writes to build trees to get newer object versions without paying the cost of continuing to generate older versions. Issue: #18398
* fileapi: Add protocol v1 support for client-specific query filesBrad King2018-12-1217-0/+191
| | | | | | | | Add support for client-owned stateless query files. These allow clients to *own* requests for major object versions and get all those recognized by CMake. Issue: #18398
* fileapi: Add protocol v1 infrastructure with support for shared query filesBrad King2018-12-1218-0/+209
| | | | | | | | | | | | | | | | | | | Add a file-based API that clients may use to get semantic information about the buildsystem that CMake generates. Clients will write query files under a designated location in the build tree, and CMake will write reply files for clients to read. Start with support for shared stateless query files. These allow clients to share requests for major object versions and get all those recognized by CMake. Once any client has written a shared request to a build tree it will persist. Other clients will not need to overwrite the request (since it is stateless) and should not remove it either. For now we add only an undocumented object kind to use for testing the query and reply infrastructure. Object kinds providing real semantic information will be added later. Issue: #18398
* Tests: Add RunCMake "prep" stepBrad King2018-12-111-0/+5
| | | | | Give tests a chance to write content to the build tree before CMake runs on it.
* Merge topic 'file-size'Brad King2018-11-285-0/+20
|\ | | | | | | | | | | | | 12b471e828 file: add SIZE option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2639
| * file: add SIZE optionWouter Klouwen2018-11-275-0/+20
| | | | | | | | | | This commit adds the SIZE option to file(). It returns the file size of the given path if it exists and produces an error if not.
* | Merge topic 'ctest-updates'Brad King2018-11-2729-31/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d9195ab081 Tests: Teach run_ctest to handle removal of CTestConfig.cmake 1ca53f5ef1 Remove unnecessary CTEST_PROJECT_NAME variables 15ac4aae0e Remove warning when no CTestConfig.cmake file exists 3125c47d27 ctest_build: Do not require unnecessary [CTEST_]PROJECT_NAME value 36bbd07a76 CDashUpload: Use the query part of the submit url as field e1dfe8cee6 CTest: Don't require 'submit.php?' in submit location Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2640
| * | Tests: Teach run_ctest to handle removal of CTestConfig.cmakeBrad King2018-11-261-0/+2
| | | | | | | | | | | | | | | | | | | | | When running tests in a non-fresh build tree there may be files left from previous test runs. In the case that a test removes `CTestConfig.cmake.in`, we must remove any `CTestConfig.cmake` that may have been left behind.
| * | Remove unnecessary CTEST_PROJECT_NAME variablesRegina Pfeifer2018-11-2029-31/+4
| | |
* | | Merge topic 'FindBoost-no-cxx'Brad King2018-11-273-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 0369362132 FindBoost: Restore finding without CXX language enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2663
| * | FindBoost: Restore finding without CXX language enabledBrad King2018-11-263-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.13.0~7^2 (FindBoost: Improve compiler prefix detection for GCC 5+ and clang 4+, 2018-11-07) we run the internal `_Boost_COMPILER_DUMPVERSION` macro on all UNIX platforms. Teach the macro to tolerate missing `CMAKE_CXX_COMPILER_VERSION`, which occurs when the CXX language is not enabled. Fixes: #18624
| * | Merge branch 'backport-configure_file-canonical-deps' into release-3.13Brad King2018-11-194-1/+14
| |\ \ | | | | | | | | | | | | Merge-request: !2635
| | * | configure_file: canonicalize input and output path in dependenciesFrank Benkstein2018-11-194-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Represent the input file path internally in canonical form. Otherwise multiple `configure_file` calls that share the same input file but specify it relative to different directories (e.g. via `../`) result in multiple copies of the dependency on the rule to re-run CMake. This causes the Ninja generator to emit duplicate phony build statements for these dependencies, which generates an error with `-w dupbuild=err`, which will be default in Ninja 1.9. Also canonicalize the output path for consistency. Add a test case. Fixes: #18584
* | | | Genex: Add policy to handle empty list items in $<IN_LIST:...>Kyle Edwards2018-11-198-0/+73
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | The old behavior of $<IN_LIST:...> is inconsistent with that of if(IN_LIST), in that it does not find an empty search item even if the list contains empty items. This change adds a new policy to correctly handle empty items and make the behavior more consistent with if(IN_LIST). Fixes: #18556
* | | Merge topic 'ctest-stdin'Brad King2018-11-196-1/+43
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 86e8315482 CTest: Restore inheritance of stdin by test processes bdec3bd896 Tests: Teach RunCMake infrastructure to optionally provide stdin Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2618
| * | CTest: Restore inheritance of stdin by test processesBrad King2018-11-155-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10) we do not give the child test processes any stdin. Prior to that change we let the child test processes inherit stdin from ctest itself. Tests that run serially might be able to use the real stdin meaningfully, so restore that behavior and add a test case. Fixes: #18591
| * | Tests: Teach RunCMake infrastructure to optionally provide stdinBrad King2018-11-151-0/+9
| |/
| * Merge branch 'rename-cpack-ext-generator' into release-3.13Brad King2018-11-0617-38/+38
| |\ | | | | | | | | | Merge-request: !2566
| * \ Merge branch 'fix-custom-target-with-csharp' into release-3.13Brad King2018-10-313-0/+13
| |\ \ | | | | | | | | | | | | Merge-request: !2549
| * \ \ Merge branch 'set_directory_properties-script-mode' into release-3.13Brad King2018-10-293-0/+5
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !2544
* | \ \ \ Merge topic 'test-WriteBasicConfigVersionFile'Brad King2018-11-154-0/+891
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile 0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2612
| * | | | | Tests: Simplify RunCMake.WriteBasicConfigVersionFileBrad King2018-11-142-29/+8
| | | | | |
| * | | | | Tests: Factor out RunCMake.WriteBasicConfigVersionFile testBrad King2018-11-145-0/+912
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `WriteBasicConfigVersionFile` section of the `FindPackageTest` is independent of the rest.
* | | | | | Merge topic 'configure_file-canonical-deps'Brad King2018-11-154-1/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6199637e95 configure_file: canonicalize input and output path in dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2586
| * | | | | | configure_file: canonicalize input and output path in dependenciesFrank Benkstein2018-11-134-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Represent the input file path internally in canonical form. Otherwise multiple `configure_file` calls that share the same input file but specify it relative to different directories (e.g. via `../`) result in multiple copies of the dependency on the rule to re-run CMake. This causes the Ninja generator to emit duplicate phony build statements for these dependencies, which generates an error with `-w dupbuild=err`, which will be default in Ninja 1.9. Also canonicalize the output path for consistency. Add a test case. Fixes: #18584
* | | | | | | Merge topic 'deprecate-findqt'Brad King2018-11-156-0/+51
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f5c1b404b find_package(): Add policy to remove the FindQt module Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: noo mook <noomook2519@gmail.com> Merge-request: !2554
| * | | | | | | find_package(): Add policy to remove the FindQt moduleKyle Edwards2018-11-146-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing FindQt.cmake gives Qt upstream a path forward to export its own QtConfig.cmake files which can be found by find_package() without having to explicitly specify CONFIG. Projects that still want to use Qt3/4 can call find_package(Qt[34]), include(FindQt), or add FindQt.cmake to their CMAKE_MODULE_PATH.
* | | | | | | | Tests: Add option for custom RunCMake.XcodeProject timeoutBrad King2018-11-141-0/+7
| |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | The test has many cases and can take a long time on busy machines.
* | | | | | | Merge topic 'GNUInstallDirs-FreeBSD-info'Brad King2018-11-145-5/+127
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info 4c0d97dd98 GNUInstallDirs: Split "info" and "man" default logic 1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Rolf Eike Beer <eike@sf-mail.de> Merge-request: !2588
| * | | | | | GNUInstallDirs: Update FreeBSD "info" destination to share/infoTobias C. Berner2018-11-134-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD ports commit r484628 (Install texinfo files (GNU info) into ${PREFIX}/share/info, 2018-11-10) changed the "info" destination from "info" to "share/info". The commit included a patch to their distribution of CMake to fix the `GNUInstallDirs` module too. Apply a similar logic change to our upstream version of the module. We already made a similar change for GNU/kFreeBSD in commit v3.13.0-rc2~8^2 (GNUInstallDirs: Don't use BSD info and man paths on GNU/kFreeBSD, 2018-10-21). Fixes: #18585
| * | | | | | Tests: Split GNUInstallDirs expectations for FreeBSDBrad King2018-11-135-5/+127
| |/ / / / /
* | | | | | Merge topic 'pie-link-options'Craig Scott2018-11-1217-1/+257
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables 724a0346f7 POSITION_INDEPENDENT_CODE: Fix erroneous '-fPIE' flag for Sun Studio 023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2465
| * | | | | POSITION_INDEPENDENT_CODE: Manage link flags for executablesMarc Chevrier2018-11-1111-1/+229
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #14983, #16561
| * | | | | INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions supportMarc Chevrier2018-11-087-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #16532
* | | | | | cpack: Better error message when generator doesn't exist.Robert Maynard2018-11-081-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Currently the CPack error message when passed an invalid generator name reads like the generator failed to work, rather than the name was invalid.
* | | | | install: Add sane set of defaults for DESTINATION and file type parametersKyle Edwards2018-11-0732-0/+505
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user does not specify a DESTINATION for a target type, the install() command checks to see if the appropriate variable from GNUInstallDirs is set. If it is not, then it uses an appropriate hard-coded guess. In addition, for FILES and DIRECTORY, the user can specify a file type instead of a DESTINATION, and the command will use the appropriate variable from GNUInstallDirs, or a hard-coded guess if it is not set.
* | | | | Merge topic 'fix-double-warn-uninitialized-in-script-mode'Brad King2018-11-073-0/+10
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 53a5aec899 CMP0053: Fix double warning on uninitialized variables in -P mode f92f93467e cmMakefile: Rename SuppressWatches to SuppressSideEffects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2565
| * | | | | CMP0053: Fix double warning on uninitialized variables in -P modeR2RT2018-11-053-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `CMP0053` is not set to OLD or NEW then we compute both variants in case we need to warn about a behavior change. Do not allow both code paths to produce an uninitialized variable warning. Fixes: #18552
* | | | | | Merge topic 'rename-cpack-ext-generator'Brad King2018-11-0617-38/+38
|\ \ \ \ \ \ | |/ / / / / |/| | | | / | | |_|_|/ | |/| | | | | | | | | | | | | 20d5e77a27 CPack: Rename Ext generator to External Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2566
| * | | | CPack: Rename Ext generator to ExternalCraig Scott2018-11-0517-38/+38
| |/ / / | | | | | | | | | | | | | | | | Ext and External were used inconsistently in the code and the docs. This change converts all uses of Ext to External, including within variable names used by the generator.