summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake Nightly Date StampKitware Robot2018-09-151-1/+1
|
* Merge topic 'out-of-dir-linking'Brad King2018-09-1413-73/+234
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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-129-29/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * cmTarget: Future-proof AddLinkLibrary target lookup scopeBrad King2018-09-121-1/+1
| | | | | | | | | | | | | | | | | | The `AddLinkLibrary` method takes a `cmMakefile` pointer to represent the scope of the caller that wants to link to the named library. Currently in all call sites this is the same as the target's `Makefile` member, but in principle the library named by the caller is visible in its scope so we should use the `cmMakefile` it provided to look up the library target.
| * cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReferenceBrad King2018-09-121-2/+7
| | | | | | | | Avoid calling `FindGeneratorTargetToUse` directly.
| * cmGeneratorTarget: Factor target name resolution out of link item resolutionBrad King2018-09-122-10/+31
| |
| * Make internal TARGET_PROPERTY generator expressions more robustBrad King2018-09-124-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | While collecting usage requirements from the `INTERFACE_*` properties of directly linked targets, we internally generate `TARGET_PROPERTY:` and `TARGET_OBJECTS:` generator expressions to refer to those properties on those targets. At the point we generate these expressions we already have a pointer to an exact `cmGeneratorTarget` instance. Switch from using the target name in these generator expressions to using an internal unique name generated for each `cmGeneratorTarget` instance to be referenced. This avoids depending on the user-facing target name to find the same target we already have.
| * Android.mk: De-duplicate link libraries logic during exportBrad King2018-09-111-21/+5
| | | | | | | | | | | | Use the normal target link interface computation logic to get the list of libraries in the link interface instead of trying to interpret the `INTERFACE_LINK_LIBRARIES` property directly.
| * cmGlobalGenerator: Remove unused FindLocalGenerator methodBrad King2018-09-112-15/+0
| | | | | | | | | | This method has not been used since commit v3.4.0-rc1~234^2~1 (cmGlobalGenerator: Port Find API to cmMakefile, 2015-08-02).
* | Merge topic 'ctest-stop-time-test'Brad King2018-09-144-18/+44
|\ \ | | | | | | | | | | | | | | | | | | ed71ec7579 CTest: Improve stop-time implementation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2378
| * | CTest: Improve stop-time implementationBrad King2018-09-124-18/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CTestTestStopTime test has been failing sporadically because the stop time causes the first internal test to have a timeout short enough that we might hit it and start the second test just before the stop time is reached. Instead we should track when a timeout is shortened in order to stay within the stop time. If a test times out for this reason then we should consider the stop time reached and not start any more tests.
* | | CMake Nightly Date StampKitware Robot2018-09-141-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2018-09-131-1/+1
| | |
* | | Merge topic 'rule-launch-custom-extra-space'Brad King2018-09-122-8/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 3e125c0c01 Ninja,Makefile: Drop extra space after RULE_LAUNCH_CUSTOM value Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2372
| * | | Ninja,Makefile: Drop extra space after RULE_LAUNCH_CUSTOM valueBrad King2018-09-112-8/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ninja and Makefile generators were adding a space to the value both before and after expanding rule variables. Only the latter is needed. While at it, revise some outdated comments since the rule variable expansion is no longer responsible for inserting the launcher. Suggested-by: Mate Pek <mate.pek@gmail.com> Fixes: #18340
* | | Merge topic 'gicv-stdstring'Brad King2018-09-129-66/+64
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 13d10ee616 cmState::GetInitializedCacheValue: Return as const std::string* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2365
| * | | cmState::GetInitializedCacheValue: Return as const std::string*Vitaly Stakhovsky2018-09-109-66/+64
| | | |
* | | | Merge topic 'unused-variables-cleanup'Craig Scott2018-09-122-5/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c154fec6b Warnings: Remove unused variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2364
| * | | | Warnings: Remove unused variablesCraig Scott2018-09-112-5/+0
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2018-09-121-1/+1
| |_|/ / |/| | |
* | | | Merge topic 'replace-os-x-name-with-macos'Brad King2018-09-117-9/+9
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ab2e35d614 Replace occurrences of "Mac OS X" with "macOS" in comments fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS" Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Gregor Jasny <gjasny@googlemail.com> Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Merge-request: !2351
| * | | Replace occurrences of "Mac OS X" with "macOS" in commentsBartosz Kosiorek2018-09-107-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple's main Operating system changed their name from OS X to macOS: https://www.engadget.com/2016/06/13/os-x-is-now-macos/ Revise source comments accordingly.
* | | | Merge topic 'imported-same-name'Brad King2018-09-1124-221/+249
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f35be59961 Fix transitive usage requirements through same-name imported targets 1b57f49586 genex: Simplify cmGeneratorExpressionInterpreter bea390e9bd Fix dependency propagation through same-name imported targets fc7e4d1ed8 cmLinkItem: Convert to a "sum type" over a string and target pointer Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2359
| * | | | Fix transitive usage requirements through same-name imported targetsBrad King2018-09-107-47/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two imported targets in different directories have the same name we should still be able to propagate transitive usage requirements from both. Fix the DAG checker to work with target pointers instead of target names since the pointers will not be duplicated even if the names are. Fixes: #18345
| * | | | genex: Simplify cmGeneratorExpressionInterpreterBrad King2018-09-079-87/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All callers were constructing with a non-empty target name using the target whose pointer was passed anyway. Drop this argument. Simplify logic accordingly. Re-order constructor arguments to match the cmCompiledGeneratorExpression::Evaluate arguments. Also remove unnecessary getters.
| * | | | Fix dependency propagation through same-name imported targetsBrad King2018-09-075-41/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two imported targets in different directories have the same name we should still be able to propagate transitive link dependencies from both. Fix the target and link dependency analyzers to de-duplicate targets using target pointers rather than target names since the pointers will not be duplicated even if the names are. Issue: #18345
| * | | | cmLinkItem: Convert to a "sum type" over a string and target pointerBrad King2018-09-079-66/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid exposing the item name implicitly as std::string. When the item is a target, avoid storing a second copy of its name. Most link item construction is paired with calls to `FindTargetToLink` to get the possible target pointer. Rename these methods to `ResolveLinkItem` and refactor them to construct the entire item.
* | | | | Merge topic 'fix-ctest_start-track'Brad King2018-09-111-2/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 09f0325eaf CTest: Fix regression in ctest_start() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2366
| * | | | | CTest: Fix regression in ctest_start()Kyle Edwards2018-09-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The format for the TAG file was changed in 3.12, and the way it was read caused a regression which changed how the track was decided. This commit fixes the regression. Fixes #18347.
* | | | | | Merge topic 'ctest-fix-test-load'Brad King2018-09-112-20/+44
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 292ec157b6 CTest: Fix --test-load regression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2362
| * | | | | | CTest: Fix --test-load regressionBrad King2018-09-102-20/+44
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `ctest --test-load` option is implemented in `StartNextTests` by not starting any tests when the load is too high and instead sleeping and then returning. Prior to commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10) our outer loop in `RunTests` would immediately call `StartNextTests` again. However, now the `uv_run` loop may simply terminate if there are no tests running because no events are left pending. Fix this by converting the sleep in `StartNextTests` into a libuv timer that it starts instead. This avoids leaving `uv_run` with no pending events. In the case that there are other running tests this also allows CTest to detect when they finish even if it during the wait period where we previously slept. This regression was not caught by the test suite because it only verified that we do not start new tests when the load was too high and not that we proceed to start tests when the load drops. Revise the test suite to cover both. Fixes: #18338
| * | | | | CMake 3.12.2v3.12.2Brad King2018-09-071-1/+1
| | | | | |
| * | | | | Merge branch 'vs-CMakeLists.txt' into release-3.12Brad King2018-09-051-1/+5
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !2349
| * \ \ \ \ \ Merge branch 'state-reset-glob' into release-3.12Brad King2018-08-233-0/+11
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !2278
* | | | | | | | CMake Nightly Date StampKitware Robot2018-09-111-1/+1
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | Merge topic 'gicv-stdstring'Brad King2018-09-103-12/+15
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46855d000f cmCacheManager::GetInitializedCacheValue(): Return as const std::string* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2357
| * | | | | | cmCacheManager::GetInitializedCacheValue(): Return as const std::string*Vitaly Stakhovsky2018-09-063-12/+15
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Expose std::string type used internally instead of const char*
* | | | | | CMake Nightly Date StampKitware Robot2018-09-101-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-09-091-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-09-081-1/+1
| | | | | |
* | | | | | Merge topic 'definitions-get'Brad King2018-09-077-19/+25
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 437d0c16c7 cmStateSnapshot::GetDefinition(): Return std::string const* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2356
| * | | | | | cmStateSnapshot::GetDefinition(): Return std::string const*Vitaly Stakhovsky2018-09-067-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose std::string type used internally in cmDefinitions instead of const char*
* | | | | | | CMake Nightly Date StampKitware Robot2018-09-071-1/+1
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'grd-stdstring'Brad King2018-09-0613-23/+21
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4d89830d71 cmMakefile: Make GetRequiredDefinition return std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2347
| * | | | | | cmMakefile: Make GetRequiredDefinition return std::stringVitaly Stakhovsky2018-09-0513-23/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In all cases the return value is converted to std::string anyway. Also remove unnecessary `c_str()` calls in arguments to `GetRequiredDefinition`.
* | | | | | | Merge topic 'isonoff-cstr'Brad King2018-09-0624-43/+40
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6f16be6a62 Remove unnecessary c_str() calls Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2346
| * | | | | | | Remove unnecessary c_str() callsVitaly Stakhovsky2018-09-0524-43/+40
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | Use the new IsOn(),IsOff() overloads.
* | | | | | | CMake Nightly Date StampKitware Robot2018-09-061-1/+1
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'cmake-gui-align-text'Brad King2018-09-051-0/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13a2751ca6 cmake-gui: Align source and binary directory path text Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2344
| * | | | | | cmake-gui: Align source and binary directory path textZeex2018-09-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Text inputs for "where is the source code" and "where to build the binaries" had different amount of left spacing, so the two paths were not aligned. This could create a feeling that you typed something wrong in the input even though the paths were identical or had a common root path.