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