Allow CMake dependencies to be interfaces
In some cases (see https://github.com/bincrafters/community/issues/1181), the dependencies can be library interfaces. As CMake's get_target_property is not tolerant about what properties can be extracted on different library types, it is necessary to make a distinction between interface libraries and plain libraries. Closes https://github.com/wxWidgets/wxWidgets/pull/2058
This commit is contained in:
committed by
Vadim Zeitlin
parent
bf7965a2d7
commit
d9deaa8b76
@@ -33,7 +33,12 @@ macro(wx_get_dependencies var lib)
|
||||
get_target_property(deps wx${lib} LINK_LIBRARIES)
|
||||
foreach(dep IN LISTS deps)
|
||||
if(TARGET ${dep})
|
||||
get_target_property(dep_name ${dep} OUTPUT_NAME)
|
||||
get_target_property(dep_type ${dep} TYPE)
|
||||
if (dep_type STREQUAL "INTERFACE_LIBRARY")
|
||||
get_target_property(dep_name ${dep} INTERFACE_OUTPUT_NAME)
|
||||
else()
|
||||
get_target_property(dep_name ${dep} OUTPUT_NAME)
|
||||
endif()
|
||||
set(dep_name "-l${dep_name}")
|
||||
else()
|
||||
get_filename_component(dep_name ${dep} NAME)
|
||||
|
Reference in New Issue
Block a user