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:
@@ -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(
|
||||
|
Reference in New Issue
Block a user