[cmake-developers] [Patch] FindPkgConfig: optionally create imported target for the found libraries

Brad King brad.king at kitware.com
Fri May 13 11:16:28 EDT 2016


On 05/13/2016 11:02 AM, Rolf Eike Beer wrote:
> Should all be done now.

Thanks.

The test fails for me with

    CMake Error at /.../Modules/FindPkgConfig.cmake:239 (set_target_properties):
      set_target_properties called with incorrect number of arguments.

At least part of the problem is here:

> +    if(${_prefix}_INCLUDE_DIRS)
> +      list(APPEND _props INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
> +    endif()
> +    if(_libs)
> +      list(APPEND _props INTERFACE_LINK_LIBRARIES "${_libs}")
> +    endif()
> +    if(${_prefix}_CFLAGS_OTHER)
> +      list(APPEND _props INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
> +    endif()
> +    set_target_properties(PkgConfig::${_prefix} PROPERTIES ${_props})

If any of the property values is empty the `${_props}` will
remove it from the argument list to set_target_properties.
Can you just use

  set_property(TARGET PkgConfig::${_prefix} PROPERTY ...)

in each `if()` block?

Thanks,
-Brad



More information about the cmake-developers mailing list