summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'cmake-option-parsing' into release-3.13Brad King2019-01-143-14/+17
|\ | | | | | | Merge-request: !2799
| * cmake: Ensure source and binary dirs are setCraig Scott2019-01-133-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | If only the source dir is provided, the binary dir is assumed to be the working directory. If only the binary dir is provided and it doesn't yet have a CMakeCache.txt to provide the source dir, then the source dir is assumed to be the working directory. This logic was not previously being handled correctly when -S and/or -B options were involved. Furthermore, when both were missing, no suitable error message was provided and an empty string was used for the build directory. Fixes: #18707
* | Tests: Add case for warning when AUTOMOC/UIC/RCC gets disabledBrad King2019-01-116-0/+21
|/
* Tests: Add cases for -{C,D,U} without a source treeBrad King2019-01-1012-1/+22
|
* Merge branch 'cpack-status-callback' into release-3.13Brad King2018-12-072-0/+3
|\ | | | | | | Merge-request: !2696
| * CPack/External: Fix status messages of staging scriptsNils Gladitz2018-12-072-0/+3
| | | | | | | | | | | | | | | | Set progress callback on cmake instance used by CPack. The progress callback is used to output STATUS messages which are otherwise missing when issued from e.g. CPack External staging scripts. Fixes: #18567
* | 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
* 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
* | 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
| * 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 branch 'fix-custom-target-with-csharp' into release-3.13Brad King2018-10-313-0/+13
|\ \ | | | | | | | | | 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
* | Merge branch 'set_directory_properties-script-mode' into release-3.13Brad King2018-10-293-0/+5
|\ \ | |/ |/| | | Merge-request: !2544
| * set_directory_properties: Restore in script modeBrad King2018-10-293-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was accidentally not allowed in script mode. It was dropped because `ctest -S` mode needs to start with CMake's normal script mode and then replace the `set_directory_properties` implementation. Restore the normal `set_directory_properties` in script mode and then add special logic to replace it in ctest. Also add a test case. Fixes: #18523
* | Merge branch 'GNUInstallDirs-kfreebsd-man' into release-3.13Brad King2018-10-221-1/+1
|\ \ | | | | | | | | | Merge-request: !2511
| * | GNUInstallDirs: Don't use BSD info and man paths on GNU/kFreeBSDJames Clarke2018-10-221-1/+1
| | |
* | | Merge branch 'document-dollar-in-varnames' into release-3.13Brad King2018-10-166-0/+41
|\ \ \ | | | | | | | | | | | | Merge-request: !2479
| * | | CMP0053: document that `$` is a valid literal variable characterBen Boeckel2018-10-156-0/+41
| |/ / | | | | | | | | | | | | | | | | | | | | | This was overlooked in the initial implementation of CMP0053. However, an additional policy to reject it again is not worth it. Instead, add tests and document the behavior. Fixes: #17883
* | | Merge branch 'backport-revert-install-code-script-genex' into release-3.13Brad King2018-10-116-19/+0
|\ \ \ | | | | | | | | | | | | Merge-request: !2474
| * | | install: Revert CODE,SCRIPT support for generator expressionsBrad King2018-10-116-19/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit v3.13.0-rc1~441^2 (install: Teach CODE,SCRIPT modes to evaluate generator expressions, 2018-05-29). Unfortunately it has been found to break existing code in a real project, e.g. install(CODE [[ message("$<FOOBAR>") ]]) Address this regression by reverting support for the 3.13 release series. Support can be restored later with a policy for compatibility. Issue: #15785 Fixes: #18435
* | | Merge branch 'project-always-set-desc-url' into release-3.13Brad King2018-10-082-0/+27
|\ \ \ | | | | | | | | | | | | Merge-request: !2457
| * | | project(): Add tests verifying variables set by second project() callCraig Scott2018-10-072-0/+27
| |/ /
* | | FindPkgConfig: support also > and < operators for version comparesRolf Eike Beer2018-10-042-0/+84
|/ / | | | | | | Fixes: #18416
* | Merge topic 'no_buildid_for_files'Brad King2018-10-014-0/+4
|\ \ | | | | | | | | | | | | | | | | | | c49d13f94b ctest: only create buildid when submitting from Testing/ dir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2423
| * | ctest: only create buildid when submitting from Testing/ dirZack Galbreath2018-09-284-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 7f530cc we taught CTest to pass extra information to CDash at submit time. This extra info is used by CDash to initialize a buildid. `ctest_submit(FILES)` can be used to send specific files to CDash. These files are not necessarily associated with the build currently being performed. For this reason, we modify the behavior of ctest_submit() to only specify this extra info when we are submitting files from the current build's Testing directory.
* | | Ninja,Makefile: Add tests for handling of byproducts by clean operationsPedro Navarro2018-09-286-0/+173
| | |
* | | Merge topic 'vs-global-props-for-all-targets'Brad King2018-09-283-0/+53
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 36489b85aa VS: Add test for CMAKE_VS_GLOBALS 22e670a306 VS: Add option to set VS_GLOBAL_* for all targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2345
| * | VS: Add test for CMAKE_VS_GLOBALSMikhail Korolev2018-09-283-0/+53
| | |
* | | Merge topic 'link-directories'Craig Scott2018-09-2617-0/+55
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f9717725f9 link_directories(): enhance capabilities b5915744eb LINK_DIRECTORIES target property: add policy for absolute paths check. a71caab46b LINK_DIRECTORIES: Add new properties and commands 5ca130e223 Refactoring: introduce function to check if a string is a generator expression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2403
| * | | LINK_DIRECTORIES target property: add policy for absolute paths check.Marc Chevrier2018-09-2514-0/+49
| | | |
| * | | LINK_DIRECTORIES: Add new properties and commandsMarc Chevrier2018-09-253-0/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These new capabilities enable to manage link directories Two new properties: * target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES One new command * target_link_directories(): to populate target properties Fixes: #17215
* | | Merge topic 'dbgsym-packaging'Brad King2018-09-265-11/+38
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | d8a3939aef CPack/Deb: Add ability to split out debug symbols into .ddeb package 42fbff45e4 CPack/Deb: Use CMAKE_COMMAND to set the environment 66ab24a4c5 Help: Fix typo Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2399
| * | CPack/Deb: Add ability to split out debug symbols into .ddeb packageAndrew Fuller2018-09-215-11/+38
| | |
* | | Merge topic 'deprecate-policy-old'Craig Scott2018-09-2010-3/+106
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0c709cb2a2 Add deprecation warnings for policies CMP0063 and below Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2397
| * | | Add deprecation warnings for policies CMP0063 and belowBrad King2018-09-1710-3/+106
| |/ / | | | | | | | | | | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for some policies to encourage projects to port away from setting policies to OLD.
* | | BundleUtilities: Disallow inclusion at configure timeKyle Edwards2018-09-1910-0/+32
| | | | | | | | | | | | | | | | | | This commit adds a new CMake policy, CMP0080, which prohibits the inclusion of BundleUtilities at configure time. The old behavior is to allow the inclusion.
* | | Merge topic 'symlink'Brad King2018-09-193-31/+42
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | afb7f6e4ff cmake: Add '-E create_symlink' support on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2144
| * | | cmake: Add '-E create_symlink' support on WindowsJon Chronopoulos2018-09-183-31/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The allows `-E create_symlink` to work on Windows. It utilizes `uv_fs_symlink`. I am still unsure exactly which Windows platforms will work without requiring Administrator privileges or needing a user/group with the "Create Symbolic Links" User Rights. It does work with my Windows 10 Pro with Developer Mode turned on. In the test suite check that the symlink either worked or failed with a permissions error. Use recent changes in cmSystemTools::FileExists to check that a symlink is broken.
* | | | Merge topic 'provide_explicit_source_and_build_command_line_options'Brad King2018-09-1911-0/+42
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 638f00117a Add release note for the -S and -B options. de962cc00d CMake: Internally uses -S instead of -H to specify source directory a10d63d578 cmake: -S and -B can be used to specify source and build directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2358
| * | | | cmake: -S and -B can be used to specify source and build directoriesRobert Maynard2018-09-1511-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document the previously internal option of '-B' and provide a matching source directory option with '-S'. Both '-B', and '-S' can be used independently of each other.
* | | | | Merge topic 'ctest-more_submit_params'Brad King2018-09-195-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7f530cc54e ctest_submit: pass additional info to CDash Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2380
| * | | | | ctest_submit: pass additional info to CDashZack Galbreath2018-09-175-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specify buildname, site, and buildstamp to CDash upon submission. CDash will use this extra info to assign and report back a buildid.
* | | | | | Merge topic 'vs-ipo'Brad King2018-09-182-2/+2
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bef80e6623 VS: Do not specify incremental linking if LTCG is enabled 567fabe88e IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual Studio Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2363
| * | | | | IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual StudioNiels Dekker2018-09-172-2/+2
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add IPO support for Visual Studio (which is referred to by VS as "Link Time Code Generation" and "Whole Program Optimization"), for VS version >= 10. This allows CMake/VS users to enable IPO by setting property `INTERPROCEDURAL_OPTIMIZATION`. Fixes: #16748
* | | | | Merge topic 'out-of-dir-linking'Brad King2018-09-1427-11/+77
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1ad0a699b target_link_libraries: Allow use with targets in other directories 9bbae5ae28 cmTarget: Future-proof AddLinkLibrary target lookup scope f9cb6f618a cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReference 18441a6269 cmGeneratorTarget: Factor target name resolution out of link item resolution 2f708f5d65 Make internal TARGET_PROPERTY generator expressions more robust 94a75801c8 Android.mk: De-duplicate link libraries logic during export 8a63b23d16 cmGlobalGenerator: Remove unused FindLocalGenerator method Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Patrick Stotko <stotko@cs.uni-bonn.de> Merge-request: !2370
| * | | | | target_link_libraries: Allow use with targets in other directoriesBrad King2018-09-1227-11/+77
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the command did not allow naming targets on the LHS that were not created in the calling directory. Lift this restriction to enable more flexible use by projects. Targets named on the RHS will need to be looked up during generation in the scope of the call site rather than the scope of the LHS target. Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties to specify target names that need to be looked up in a directory other than that containing the target on which the property is set. Add minimal documentation of the syntax to help users that encounter it. Unfortunately CMake previously did allow such calls in the case that only `INTERFACE` libraries are specified, but those libraries would be looked up in the target's directory rather than the caller's. Add policy `CMP0079` to enable the new behavior with new lookup scope in a compatible way. Fixes: #17943