From 487769fd15180c6188fe47eefe206659a529f1a8 Mon Sep 17 00:00:00 2001 From: Isaac Nudelman Date: Tue, 3 Oct 2023 07:13:55 +0200 Subject: [PATCH] Fix link ordering errors with ld on Linux --- CMakeLists.txt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c605229..05438c8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1047,7 +1047,7 @@ function(streamfx_add_component COMPONENT_NAME) set(COMPONENT_ALIAS "StreamFX::${COMPONENT_SANITIZED_NAME}") set(COMPONENT_ALIAS "${COMPONENT_ALIAS}" PARENT_SCOPE) - streamfx_add_library(${COMPONENT_TARGET} OBJECT EXCLUDE_FROM_ALL) + streamfx_add_library(${COMPONENT_TARGET} STATIC EXCLUDE_FROM_ALL) add_library(${COMPONENT_ALIAS} ALIAS ${COMPONENT_TARGET}) set_target_properties(${COMPONENT_TARGET} PROPERTIES COMPONENT_LABEL "${COMPONENT_NAME}" @@ -1056,10 +1056,7 @@ function(streamfx_add_component COMPONENT_NAME) ) # Always depend on StreamFX::Core - target_link_libraries(${COMPONENT_TARGET} - PUBLIC - StreamFX_Core - ) + target_link_libraries(${COMPONENT_TARGET} PRIVATE $) # Register the component globally. get_target_property(_DEPENDS StreamFX COMPONENT_DEPENDS) @@ -1500,7 +1497,6 @@ while(_UNRESOLVED) endwhile() #- Linking -target_link_libraries(StreamFX PUBLIC StreamFX_Core) foreach(_ENTITY ${_RESOLVED}) set(RENTITY "StreamFX_${_ENTITY}") get_target_property(_DEPENDS "${RENTITY}" COMPONENT_DEPENDS) @@ -1515,7 +1511,7 @@ foreach(_ENTITY ${_RESOLVED}) if(T_CHECK) target_link_libraries(${RENTITY} PUBLIC - ${RENTITY2} + $ ) endif() endforeach() @@ -1523,10 +1519,12 @@ foreach(_ENTITY ${_RESOLVED}) target_link_libraries(StreamFX PRIVATE - ${RENTITY} + $ ) endforeach() +target_link_libraries(StreamFX PUBLIC $) + ################################################################################ # Installation ################################################################################