summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/interface_library
Commit message (Collapse)AuthorAgeFilesLines
* Allow add_dependencies() on INTERFACE libraries (#15414)Brad King2015-03-274-12/+0
| | | | | | | | | | Revert commit v3.0.0-rc1~175^2~20 (add_dependencies: Disallow use with INTERFACE_LIBRARY, 2013-12-25). Teach our dependency analysis to transitively follow INTERFACE target utility dependencies as was done or IMPORTED targets in commit v2.8.6~127^2~1 (Allow add_dependencies() on imported targets, 2010-11-19). Extend the InterfaceLibrary test with a case to cover header generation for a header-only INTERFACE library via a custom target.
* RunCMake: Remove unneeded files.Stephen Kelly2015-02-092-2/+0
| | | | | The default expectation of RunCMake tests is empty content, so there is no need to specify it.
* Disallow INTERFACE libraries with add_custom_command(TARGET).Stephen Kelly2014-03-194-0/+13
| | | | Don't attempt to trace their dependencies.
* add_library: Issue better diagnostic for INTERFACE GLOBAL signature.Stephen Kelly2014-02-071-1/+1
|
* add_library: Test invalid GLOBAL INTERFACE signature.Stephen Kelly2014-02-075-1/+14
| | | | | | This has to be tested separately from the invalid_signature test because target sources are evaluate at a later time, and earlier errors in the invalid_signature test cause early exit.
* add_library: Disallow invalid signatures for INTERFACE_LIBRARY.Stephen Kelly2014-01-064-0/+111
| | | | | Document the valid signatures. Add a test for the IMPORTED GLOBAL signature.
* add_dependencies: Disallow use with INTERFACE_LIBRARY.Stephen Kelly2014-01-044-0/+12
|
* Don't search for IMPORTED_LOCATION of INTERFACE_LIBRARY (14636)Stephen Kelly2013-12-094-0/+25
| | | | | | | | The INTERFACE_LIBRARY type does not have any LOCATION at all, so return early from GetMappedConfig. GetMappedConfig is called from two locations, one of which already pre-checks the INTERFACE_LIBRARY case. Remove that pre-check and handle that case inside the method instead.
* cmTarget: Add whitelist of properties on INTERFACE_LIBRARY.Stephen Kelly2013-11-254-0/+27
|
* add_library: Fix INTERFACE on platforms with no shared libs (#14561)Stephen Kelly2013-11-123-0/+7
|
* export: Add support for INTERFACE_LIBRARY targetsStephen Kelly2013-10-082-0/+8
|
* Add the INTERFACE_LIBRARY target type.Stephen Kelly2013-10-078-0/+82
This target type only contains INTERFACE_* properties, so it can be used as a structural node. The target-specific commands enforce that they may only be used with the INTERFACE keyword when used with INTERFACE_LIBRARY targets. The old-style target properties matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for this target type. The name of the INTERFACE_LIBRARY must match a validity generator expression. The validity is similar to that of an ALIAS target, but with the additional restriction that it may not contain double colons. Double colons will carry the meaning of IMPORTED or ALIAS targets in CMake 2.8.13. An ALIAS target may be created for an INTERFACE library. At this point it can not be exported and does not appear in the buildsystem and project files are not created for them. That may be added as a feature in a later commit. The generators need some changes to handle the INTERFACE_LIBRARY targets returned by cmComputeLinkInterface::GetItems. The Ninja generator does not use that API, so it doesn't require changes related to that.