1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-15 15:11:12 +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() endif()
add_library( ${TARGET} ${REAL_LIBTYPE} ) 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") if (LIBTYPE STREQUAL "MODULE")
set( SHAPE "box" ) set( SHAPE "box" )
set_target_property_all( ${TARGET} LIBRARY_OUTPUT_DIRECTORY "${_MODDIR}" ) 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}" ) export_symbol_define( export_symbol "${TARGET}" )
import_symbol_define( import_symbol "${TARGET}" ) import_symbol_define( import_symbol "${TARGET}" )
set( DEFINES list( APPEND DEFINES
${ADDITIONAL_DEFINES}
PRIVATE "${export_symbol}" PRIVATE "${export_symbol}"
INTERFACE "${import_symbol}" INTERFACE "${import_symbol}"
) )
@@ -386,7 +397,11 @@ function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
add_library("${INTERFACE_TARGET}" ALIAS "${TARGET}") add_library("${INTERFACE_TARGET}" ALIAS "${TARGET}")
else() else()
add_library("${INTERFACE_TARGET}" INTERFACE) 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}" ) get_target_property( PROPS "${TARGET}" "${PROP}" )
if (PROPS) if (PROPS)
set_target_properties( set_target_properties(