Skip to content

Commit 22a78d5

Browse files
committed
cmake: fix deploy
1 parent eb59099 commit 22a78d5

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

linux/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ target_include_directories(${PLUGIN_NAME} INTERFACE
4141
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
4242
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
4343

44+
# add runpath, shared libs of a release bundle is in lib dir, plugin must add $ORIGIN to runpath to find libmdk
45+
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\\$ORIGIN")
46+
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\\$ORIGIN")
4447

4548
set(MDK_SDK_URL "https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-linux.tar.xz")
4649
set(MDK_SDK_SAVE ${CMAKE_CURRENT_SOURCE_DIR}/mdk-sdk-linux.tar.xz)
@@ -65,9 +68,10 @@ target_link_libraries(${PLUGIN_NAME} PRIVATE mdk)
6568
# List of absolute paths to libraries that should be bundled with the plugin.
6669
# This list could contain prebuilt libraries, or libraries created by an
6770
# external build triggered from this build file.
68-
get_filename_component(MDK_LIB_DIR ${MDK_LIBRARIES} DIRECTORY)
71+
get_filename_component(MDK_LIB_DIR ${MDK_LIBRARY} DIRECTORY)
6972
set(fvp_bundled_libraries
70-
${MDK_LIBRARIES}
73+
${MDK_LIBRARY}.0
7174
${MDK_LIB_DIR}/libffmpeg.so.6
75+
${MDK_LIB_DIR}/libc++.so.1
7276
PARENT_SCOPE
7377
)

windows/CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,16 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/mdk-sdk/lib/cmake/FindMDK.cmake)
8585
message(FATAL_ERROR "Failed to extract mdk-sdk. You can download manually from ${MDK_SDK_URL} and extract to ${CMAKE_CURRENT_SOURCE_DIR}")
8686
endif()
8787
endif()
88+
include(mdk-sdk/lib/cmake/FindMDK.cmake)
89+
target_link_libraries(${PLUGIN_NAME} PRIVATE mdk)
90+
8891
# List of absolute paths to libraries that should be bundled with the plugin.
8992
# This list could contain prebuilt libraries, or libraries created by an
9093
# external build triggered from this build file.
94+
get_filename_component(MDK_LIB_DIR ${MDK_LIBRARY} DIRECTORY)
95+
string(REPLACE "/lib/" "/bin/" MDK_BIN_DIR ${MDK_LIB_DIR})
9196
set(fvp_bundled_libraries
92-
${CMAKE_CURRENT_SOURCE_DIR}/mdk-sdk/bin/x64/mdk.dll
93-
${CMAKE_CURRENT_SOURCE_DIR}/mdk-sdk/bin/x64/ffmpeg-6.dll
97+
${MDK_BIN_DIR}/mdk.dll
98+
${MDK_BIN_DIR}/ffmpeg-6.dll
9499
PARENT_SCOPE
95100
)
96-
97-
include(mdk-sdk/lib/cmake/FindMDK.cmake)
98-
target_link_libraries(${PLUGIN_NAME} PRIVATE mdk)

0 commit comments

Comments
 (0)