[cmake-developers] Setting includes, defines and other usage requirements with one command
Stephen Kelly
steveire at gmail.com
Tue Jan 29 13:11:23 EST 2013
Brad King wrote:
> On 01/29/2013 10:54 AM, Stephen Kelly wrote:
>> Stephen Kelly wrote:
>>
>>>> if(PACKAGE_FIND_VERSION VERSION_LESS 2.3
>>>> AND NOT MyPkg_INTERFACES)
>>>> set(${PACKAGE_FIND_NAME}_NO_INTERFACES 1)
>>>> endif()
>>>> include("${CMAKE_CURRENT_LIST_DIR}/upstreamTargets.cmake")
>>>
>>> Yes, I'm fine with that too, though it will only affect 'new'
>>> interfaces, not LINK_INTERFACE_LIBRARIES.
>>
>> I've implemented it in the tll-includes-defines branch in my clone. I've
>> only tested it manually though.
>
> Yes, that looks good. Please add tests covering each case:
>
> - old upstream, new downstream
> - new upstream, old downstream
> - new upstream, new downstream
I'll do that tomorrow.
> Where do you think the _NO_INTERFACES variable documentation
> belongs? It is not meant to be set directly by downstreams
> but rather in the package configuration files provided by
> upstreams before loading their target files.
>
I'd say in the find_package documentation. It already documents similar
things.
Thanks,
Steve.
More information about the cmake-developers
mailing list