From d325b6b85ca496226fa6837f0bfe7d98bfed759e Mon Sep 17 00:00:00 2001 From: "BBL\\chuan.he" Date: Tue, 16 Jul 2024 11:29:34 +0800 Subject: [PATCH] fix:cannot open shared object file on linux Change-Id: Ica66500506cfe8932eac3ae0a58fb7ff30d1da9b jira:none (cherry picked from commit febd1aeb4d453bc96571fa5e5727e9e10046cb80) (cherry picked from commit 5ad579f929154779abd84b01438fd235c647dbf5) --- CMakeLists.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb7fda82c0..7b81541982 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -289,6 +289,8 @@ if (APPLE) SET(CMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.orcaslicer.OrcaSlicer") message(STATUS "Orca: IS_CROSS_COMPILE: ${IS_CROSS_COMPILE}") +elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(CMAKE_INSTALL_RPATH "$ORIGIN") endif () # Proposal for C++ unit tests and sandboxes @@ -1100,23 +1102,31 @@ function(bambustudio_copy_sos target config postfix output_sos) file(COPY ${CMAKE_PREFIX_PATH}/lib/libavcodec.so ${CMAKE_PREFIX_PATH}/lib/libavcodec.so.61 + ${CMAKE_PREFIX_PATH}/lib/libavcodec.so.61.10.100 ${CMAKE_PREFIX_PATH}/lib/libavutil.so ${CMAKE_PREFIX_PATH}/lib/libavutil.so.59 + ${CMAKE_PREFIX_PATH}/lib/libavutil.so.59.28.100 ${CMAKE_PREFIX_PATH}/lib/libswscale.so ${CMAKE_PREFIX_PATH}/lib/libswscale.so.8 + ${CMAKE_PREFIX_PATH}/lib/libswscale.so.8.2.100 ${CMAKE_PREFIX_PATH}/lib/libswresample.so ${CMAKE_PREFIX_PATH}/lib/libswresample.so.5 + ${CMAKE_PREFIX_PATH}/lib/libswresample.so.5.2.100 DESTINATION ${_out_dir}) set(${output_dlls} ${_out_dir}/libavcodec.so ${_out_dir}/libavcodec.so.61 + ${_out_dir}/libavcodec.so.61.10.100 ${_out_dir}/libavutil.so ${_out_dir}/libavutil.so.59 + ${_out_dir}/libavutil.so.59.28.100 ${_out_dir}/libswscale.so ${_out_dir}/libswscale.so.8 + ${_out_dir}/libswscale.so.8.2.100 ${_out_dir}/libswresample.so ${_out_dir}/libswresample.so.5 + ${_out_dir}/libswresample.so.5.2.100 PARENT_SCOPE ) endfunction() @@ -1178,6 +1188,20 @@ else () endif() endif () +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(LIBRARY_FILES + ${LIBDIR_BIN}/libavcodec.so.61 + ${LIBDIR_BIN}/libavcodec.so.61.10.100 + ${LIBDIR_BIN}/libavutil.so.59 + ${LIBDIR_BIN}/libavutil.so.59.28.100 + ${LIBDIR_BIN}/libswresample.so.5 + ${LIBDIR_BIN}/libswresample.so.5.2.100 + ${LIBDIR_BIN}/libswscale.so.8 + ${LIBDIR_BIN}/libswscale.so.8.2.100 + ) + install(FILES ${LIBRARY_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") +endif () + install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ".") configure_file(${LIBDIR}/dev-utils/platform/unix/fhs.hpp.in ${LIBDIR_BIN}/dev-utils/platform/unix/fhs.hpp)