summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* UseSWIG: add management of SWIG option -moduleMarc Chevrier2018-12-0711-2/+59
| | | | | | | When file property SWIG_MODULE_NAME is specified, provide option -module to SWIG compiler. Fixes: #18374
* Merge topic 'try-compile'Brad King2018-12-069-1/+121
|\ | | | | | | | | | | | | | | f266182aec Check* functions family: add support for LINK_OPTIONS 29f9db5c63 try_compile/try_run: Add support for LINK_OPTIONS option. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2661
| * try_compile/try_run: Add support for LINK_OPTIONS option.Marc Chevrier2018-12-019-1/+121
| |
* | Merge topic 'arch-independent-version-file-creation'Brad King2018-12-062-0/+64
|\ \ | | | | | | | | | | | | | | | | | | | | | eb973f935f CMakePackageConfigHelpers: Add ARCH_INDEPENDENT option Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Silvio Traversaro <pegua1@gmail.com> Merge-request: !2666
| * | CMakePackageConfigHelpers: Add ARCH_INDEPENDENT optionJustin Bassett2018-12-012-0/+64
| | | | | | | | | | | | | | | | | | | | | Allow skipping the architecture check in the package version file generated from calling write_basic_package_version_file. Document said architecture check. Fixes: #16184
* | | Merge topic 'cmcmd_touch_err'Brad King2018-12-063-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 100366a267 cmake: add error message when '-E touch' fails Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2671
| * | | cmake: add error message when '-E touch' failsIsaiah Norton2018-11-273-0/+4
| | | | | | | | | | | | | | | | Issue: #16526
* | | | Merge topic 'cuda-external'Brad King2018-12-063-0/+10
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | 7b74213461 CUDA: Fix crash on linking to a CUDA target without CUDA enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2704
| * | | CUDA: Fix crash on linking to a CUDA target without CUDA enabledBrad King2018-12-053-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not try to device link or add CUDA runtime libraries if the language is not enabled. Fixes: #18673 Issue: #18614
* | | | 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.
* | | | Merge topic 'check-keywords-only-if-used'Brad King2018-11-0222-0/+88
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4babc9058a cmTargetPropCommandBase: check keywords after parsing 45a49ae58a cmTargetPropCommandBase: simplify code path 9f64974f5e cmTargetPropCommandBase: skip property setting if there's nothing to add 4201a11c2b Tests: add tests for empty-value keyword arguments in target_* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2514
| * | | | cmTargetPropCommandBase: check keywords after parsingBen Boeckel2018-10-2614-40/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following was disallowed: add_library(iface INTERFACE) target_link_libraries(iface PUBLIC) just due to the mention of the `PUBLIC` keyword. Instead, only error if there are actually `PUBLIC` dependencies specified (and analogously for other restrictions). Update tests to expect this new behavior.
| * | | | Tests: add tests for empty-value keyword arguments in target_*Ben Boeckel2018-10-2636-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all of these commands accept non-compilable (i.e., IMPORTED) targets, so those calls are currently just commented out. If they ever do start to accept them, the tests should be enabled.
* | | | | Merge topic 'fix-custom-target-with-csharp'Brad King2018-11-013-0/+13
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9040df31e2 Merge branch 'backport-fix-custom-target-with-csharp' 1acd1c2b50 CSharp: Fix regression in VS project type selection for custom target a56edad6d6 CSharp: Fix regression in VS project type selection for custom target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2549
| * | | | CSharp: Fix regression in VS project type selection for custom targetBrad King2018-10-313-0/+13
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A target created by `add_custom_target` should always be a `.vcxproj` file even if it has `.cs` sources involved in custom commands and such. The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7 (remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget, 2018-03-19). The reason is that the `HasLanguage` method added by commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as wrapper for GetLanguages(), 2018-03-19) does not check the target type and so is not a suitable check for deciding the project file extension. The `HasLanguage` method was an attempt at an abstraction that turns out not to work very well. Replace it with a dedicated `IsCSharpOnly` method that considers the target type, sources, and non-transitive `LINKER_LANGUAGE`. Fixes: #18515