ExternalProject can't have interface library as a dependency

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

ExternalProject can't have interface library as a dependency

Andrey Pokrovskiy
/* I'm using cmake-3.2.20150331-gb190c. */

I have a following construction:

ExternalProject_Add(
        websockets_ep
        DEPENDS ev openssl
        ...)

But it so happened, that "openssl" is a INTERFACE library. Because of
that I get an obscure error:

CMake Error at /usr/share/cmake/share/cmake-3.2/Modules/ExternalProject.cmake:2031
(get_property):
  INTERFACE_LIBRARY targets may only have whitelisted properties.  The
  property "_EP_IS_EXTERNAL_PROJECT" is not allowed.
Call Stack (most recent call first):
  /usr/share/cmake/share/cmake-3.2/Modules/ExternalProject.cmake:2328
(_ep_add_configure_command)
  src/libwebsockets/CMakeLists.txt:21 (ExternalProject_Add)

Apparently because there is a check inside get_property() that
whitelists what properties could be queried.

Maybe we don't need a whitelist for get_property()? :)
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: ExternalProject can't have interface library as a dependency

Stephen Kelly-2
Andrey Pokrovskiy wrote:

> /* I'm using cmake-3.2.20150331-gb190c. */
>
> I have a following construction:
>
> ExternalProject_Add(
>         websockets_ep
>         DEPENDS ev openssl
>         ...)
>
> But it so happened, that "openssl" is a INTERFACE library.

That sounds odd. What provides it as an INTERFACE library?


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: ExternalProject can't have interface library as a dependency

Andrey Pokrovskiy
> That sounds odd. What provides it as an INTERFACE library?

Me :) I created that target with add_library(openssl INTERFACE).

I think I better ask the same question on dev list, since it's mostly
details of get_property() implementation.

On Sat, Apr 18, 2015 at 2:32 AM, Stephen Kelly <[hidden email]> wrote:

> Andrey Pokrovskiy wrote:
>
>> /* I'm using cmake-3.2.20150331-gb190c. */
>>
>> I have a following construction:
>>
>> ExternalProject_Add(
>>         websockets_ep
>>         DEPENDS ev openssl
>>         ...)
>>
>> But it so happened, that "openssl" is a INTERFACE library.
>
> That sounds odd. What provides it as an INTERFACE library?
>
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake