From 4849c9a11bc388828d59880fe158f21e51f9e83b Mon Sep 17 00:00:00 2001 From: Nikos Chantziaras Date: Wed, 23 Sep 2009 14:27:15 +0200 Subject: [PATCH] ZynAddSubFX: link fftw3f after ZASF core libs Commit 3c18e436cddc123347a9dedbb8e71346a26ecd05 makes it impossible to build LMMS with embedded ZynAddSubFX if "-Wl,--as-needed" is used in LINKER_FLAGS during the link step of RemoteZynAddSubFx: Linking CXX executable RemoteZynAddSubFx libZynAddSubFxCore.so: undefined reference to `fftwf_plan_r2r_1d' libZynAddSubFxCore.so: undefined reference to `fftwf_execute' libZynAddSubFxCore.so: undefined reference to `fftwf_destroy_plan' This happens because fftw3f, which is a system lib, is linked to before the ZASF core libs when linking RemoteZynAddSubFx. With "--as-needed", correct library order matters. (cherry picked from commit 0f28295ac7df74364f6b97286a948be571f56a04) --- plugins/zynaddsubfx/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/zynaddsubfx/CMakeLists.txt b/plugins/zynaddsubfx/CMakeLists.txt index 189a8216e..4b835adc0 100644 --- a/plugins/zynaddsubfx/CMakeLists.txt +++ b/plugins/zynaddsubfx/CMakeLists.txt @@ -90,7 +90,7 @@ add_subdirectory(src/DSP) add_subdirectory(src/Samples) ADD_LIBRARY(ZynAddSubFxCore SHARED LocalZynAddSubFx.cpp ${MXML_SRC}) -TARGET_LINK_LIBRARIES(ZynAddSubFxCore ${FFTW3F_LIBRARIES} ${ZASF_CORE_LIBS} -lz -lpthread) +TARGET_LINK_LIBRARIES(ZynAddSubFxCore ${ZASF_CORE_LIBS} ${FFTW3F_LIBRARIES} -lz -lpthread) IF(LMMS_BUILD_WIN32) TARGET_LINK_LIBRARIES(ZynAddSubFxCore -lwsock32) INSTALL(TARGETS ZynAddSubFxCore DESTINATION ${PLUGIN_DIR})