summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CompatibleInterface
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookupBrad King2014-07-071-7/+7
| | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication. In TargetPropertyEntry, replace the TargetName string member with a reference to the full cmLinkImplItem that produced the entry. This is possible because the cmLinkImplItem is available in AddInterfaceEntries (it was not available in GetIncludeDirectories). Having the full cmLinkImplItem allows processIncludeDirectories to implement CMP0027 OLD behavior without repeating the target name lookup. Update the RunCMake.CompatibleInterface test DebugProperties case expected output for the new order of the messages.
* cmTarget: Add GetTransitiveTargetClosure method.Stephen Kelly2014-02-241-7/+7
| | | | | | | | | | | | | | | Replace calls to GetLinkInformation with calls to a method to get only the target closure, not the link languages etc. The replaced calls are used while evaluating generator expressions only. This makes transitive generator expression evaluation independent from the languages of a target. In a follow-up topic, it will be possible to make the languages depend on generator expression evaluation, via evaluation of the SOURCES and INTERFACE_SOURCES target properties. Because the order of entries is not the same as the final link line, the order of debug output is different in the RunCMake.CompatibleInterface test, because the BOOL_PROP7 target property is evaluated first. Adjust the test to account for that new order.
* CompatibleInterface: Test debugging of not-set property.Stephen Kelly2014-01-072-1/+8
|
* Tests: simplify Qt4 target usageStephen Kelly2014-01-071-4/+1
| | | | | This content was copied from another test where both the Core and Gui targets are used.
* cmTarget: Test impliedByUse number-compatible properties.Stephen Kelly2014-01-044-0/+15
| | | | | | | | | Test that it is an error to read a number-compatible property to determine the link implementation. An alternative would be to consider the value to be "0", however, that is too arbitrary given the use-cases of this feature. Values from this feature may be used in setting a define, where "0" may have special or invalid meaning and should be explicit.
* cmTarget: Don't repeat property origin debug information.Stephen Kelly2014-01-042-2/+15
|
* cmTarget: Fix debug report for interface-set compatibility types.Stephen Kelly2014-01-042-2/+15
| | | | | | | | | | | | | | | | If the dependent target sets the property to boolean false, ensure that that appears in the debug report. Previously, the report output contained whether the property was consistent among dependencies, displaying 'TRUE', instead of the content of the property, which may be 'FALSE'. Return a std::pair from the consistentProperty method. This makes it possible to make the return value for string types easier to reason about. The return value of consistentProperty was previously set to an empty static string to emulate a 'true' value for the caller in commit 816b4a8a (cmTarget: Make consistentProperty return consistent content., 2013-10-22). The pair makes the consistency result properly typed.
* cmTarget: Fix reporting interface-set properties which are FALSE.Stephen Kelly2014-01-042-1/+10
|
* cmTarget: Fix the property compatibility error messageStephen Kelly2014-01-046-3/+21
| | | | | | | Don't refer to 'both', but a 'mixture'. List all compatible interface property types possible. Add another test for a mixture of three compatibilities.
* cmTarget: Require a compatible INTERFACE_AUTOUIC_OPTIONS from dependencies.Stephen Kelly2013-12-085-0/+40
| | | | | | | | | Revert the origin-tracking infrastructure from commit 98093c45 (QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property., 2013-11-20). Use the compatibility-tracking for compatible strings instead. If two different dependencies require different AUTOUIC_OPTIONS, cmake will now appropriately issue an error.
* cmTarget: Report origin of COMPATIBLE_INTERFACE properties.Stephen Kelly2013-12-084-0/+135
|
* Cygwin: Avoid legacy warnings in RunCMake.* testsBrad King2013-08-131-1/+1
| | | | | | Set the minimum required version of CMake high enough to avoid the warning for CMAKE_LEGACY_CYGWIN_WIN32. The warning appears on stderr and breaks the expected output matching.
* Report an error on IMPORTED targets with a faulty INTERFACEStephen Kelly2013-03-261-2/+0
| | | | | | | | | | It is considered an error if the INTERFACE_INCLUDE_DIRECTORIES contains a directory which does not exist, which indicates a programmer error by the upstream, or a packaging error. One of the RunCMake.CompatibleInterface tests also needs to be updated due to this change. Non-existant includes were used in the test, but are not needed.
* Ensure type specific compatible interface properties do not intersect.Stephen Kelly2013-02-074-0/+16
| | | | | Before, the boolean version would always win, and the string one would be ignored.
* Add the COMPATIBLE_INTERFACE_STRING property.Stephen Kelly2013-01-2413-0/+64
|
* Make INTERFACE determined properties readable in generator expressions.Stephen Kelly2013-01-2015-0/+74
The properties are evaluated as link-dependent interface properties when evaluating the generator expressions.