[CMake] ExternalProject can't have interface library as a dependency

Andrey Pokrovskiy wonder.mice at gmail.com
Thu Apr 16 21:39:39 EDT 2015


/* 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()? :)


More information about the CMake mailing list