Hi all,
I'm using protobuf in our CMake based projects, and I've encountered a
problem with TARGET_INCLUDE_DIRECTORIES not working as expected. Nominally
if my target APP depens on libprotobuf, the PUBLIC part
of TARGET_INCLUDE_DIRECTORIES should propagate to target APP.
This does not work however, and the reason being is the install.cmake file
in protobuf/cmake. The first section in install.cmake:
foreach(_library
libprotobuf-lite
libprotobuf
libprotoc)
set_property(TARGET ${_library}
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
install(TARGETS ${_library} EXPORT protobuf-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${_library}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library})
endforeach()
messes up the TARGET_INCLUDE_DIRECTORIES declarations.
If I comment out include(install.cmake) (row 153 in CMakeLists.txt),
everything works as expected and the include directory declarations are
propagated correctly to the dependant targets.
Now, I don't know if this is a Protobuf CMake problem, or a bug in CMake
itself. I'm leaning towards the latter.
Regards
/Robert
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.