1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-15 07:01:18 +02:00

Fix transitive dependencies via interface libaries

This commit is contained in:
Paul Licameli
2021-02-16 13:40:13 -05:00
parent 7cf78c15dc
commit 42bddca151

View File

@@ -318,6 +318,18 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
endif()
add_library( ${TARGET} ${REAL_LIBTYPE} )
# Manual propagation seems to be necessary from
# interface libraries -- just doing target_link_libraries naming them
# doesn't work as promised
# compute INCLUDES
set( INCLUDES )
list( APPEND INCLUDES PUBLIC ${TARGET_ROOT} )
# compute DEFINES
set( DEFINES )
list( APPEND DEFINES ${ADDITIONAL_DEFINES} )
if (LIBTYPE STREQUAL "MODULE")
set( SHAPE "box" )
set_target_property_all( ${TARGET} LIBRARY_OUTPUT_DIRECTORY "${_MODDIR}" )
@@ -338,8 +350,7 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
export_symbol_define( export_symbol "${TARGET}" )
import_symbol_define( import_symbol "${TARGET}" )
set( DEFINES
${ADDITIONAL_DEFINES}
list( APPEND DEFINES
PRIVATE "${export_symbol}"
INTERFACE "${import_symbol}"
)
@@ -386,7 +397,11 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
add_library("${INTERFACE_TARGET}" ALIAS "${TARGET}")
else()
add_library("${INTERFACE_TARGET}" INTERFACE)
foreach(PROP INTERFACE_INCLUDE_DIRECTORIES INTERFACE_COMPILE_DEFINITIONS)
foreach(PROP
INTERFACE_INCLUDE_DIRECTORIES
INTERFACE_COMPILE_DEFINITIONS
INTERFACE_LINK_LIBRARIES
)
get_target_property( PROPS "${TARGET}" "${PROP}" )
if (PROPS)
set_target_properties(