Hi,
I understand vaguely why OBJECT libraries can't link against other targets,
but I don't think the restriction in place needs to be so constrained.
Consider the following:

* A target is being create as an OBJECT library
* A number of other targets are defined as INTERFACE target where they only
set include paths, compiler options, etc.

How is it possible to communicate the dependencies expressed in an
INTERFACE target to an OBJECT library?  So far the only method I've found
that works is to use a handful of generator expressions, which seems like a
lot of work for something that would just work if I could "link" the
INTERFACE library against the OBJECT library.

Here's what I have to do:

target_compile_features(tgt PUBLIC
    $<TARGET_PROPERTY:tgt_dep,COMPILE_FEATURES>
)
target_include_directories(tgt PUBLIC
    $<TARGET_PROPERTY:tgt_dep,INCLUDE_DIRECTORIES>
)
target_compile_options(tgt PUBLIC
    $<TARGET_PROPERTY:tgt_dep,COMPILE_OPTIONS>
    $<TARGET_PROPERTY:tgt_dep,COMPILE_FLAGS>
)
target_compile_definitions(tgt PUBLIC
    $<TARGET_PROPERTY:tgt_dep,COMPILE_DEFINITIONS>
)

thanks!
wes
-- 

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 via email to