• Stephen Kelly's avatar
    Create make rules for INTERFACE_LIBRARY targets. · b04f3b9a
    Stephen Kelly authored
    The result is that the depends of the target are created.
     add_library(somelib foo.cpp)
     add_library(anotherlib EXCLUDE_FROM_ALL foo.cpp)
     add_library(extra EXCLUDE_FROM_ALL foo.cpp)
     target_link_libraries(anotherlib extra)
     add_library(iface INTERFACE)
     target_link_libraries(iface INTERFACE anotherlib)
    Executing 'make iface' will result in the anotherlib and extra targets
    being made.
    Adding a regular executable to the INTERFACE of an INTERFACE_LIBRARY
    will not result in the executable being built with 'make iface' because
    of the logic in cmComputeTargetDepends::AddTargetDepend.
    So far, this is implemented only for the Makefile generator. Other
    generators will follow if this feature is possible for them.
    Make INTERFACE_LIBRARY targets part of the all target by default.
    Test this by building the all target and making the expected library
Last commit
Last update
CMakeLists.txt Loading commit data...
main.cxx Loading commit data...
testlib.cxx Loading commit data...