diff --git a/CMakeLists.txt b/CMakeLists.txt index 70c2b7d0..918e2f1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,8 +71,7 @@ if(TARGET Qt6::QuickControls2 AND TARGET Qt6::QuickControls2Private) endif() endif() -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wextra") -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wextra") if (CMAKE_BUILD_TYPE STREQUAL "Debug") # 加上 ASAN 检查后可能会导致 DEBUG 应用启动后退出。可以加上 ASAN_OPTIONS 环境变量来防止应用退出 # ASAN_OPTIONS="halt_on_error=0" ASAN_OPTIONS="new_delete_type_mismatch=0" diff --git a/qt6/src/CMakeLists.txt b/qt6/src/CMakeLists.txt index 6c16e971..39ecd29b 100644 --- a/qt6/src/CMakeLists.txt +++ b/qt6/src/CMakeLists.txt @@ -70,6 +70,12 @@ target_link_libraries(${PLUGIN_NAME} PRIVATE ${LIB_NAME} ) +# 禁用此插件的 RPATH/RUNPATH,因为依赖库在标准系统路径中 +set_target_properties(${PLUGIN_NAME} PROPERTIES + INSTALL_RPATH "" + BUILD_WITH_INSTALL_RPATH TRUE +) + # Install library install(TARGETS ${LIB_NAME} EXPORT Dtk${DTK_VERSION_MAJOR}DeclarativeTargets DESTINATION "${LIB_INSTALL_DIR}") # Install export targets diff --git a/qt6/src/qml/private/CMakeLists.txt b/qt6/src/qml/private/CMakeLists.txt index 5cd782b6..4e427570 100644 --- a/qt6/src/qml/private/CMakeLists.txt +++ b/qt6/src/qml/private/CMakeLists.txt @@ -26,5 +26,11 @@ PRIVATE Qt${QT_VERSION_MAJOR}::Quick ) +# 禁用此插件的 RPATH/RUNPATH,因为依赖库在标准系统路径中 +set_target_properties(dtkdeclarativeprivatesplugin PROPERTIES + INSTALL_RPATH "" + BUILD_WITH_INSTALL_RPATH TRUE +) + install(TARGETS dtkdeclarativeprivatesplugin DESTINATION "${QML_INSTALL_DIR}/${URI_PATH}/private") install(DIRECTORY "${PLUGIN_OUTPUT_DIR}/${URI_PATH}/private/" DESTINATION "${QML_INSTALL_DIR}/${URI_PATH}/private") diff --git a/qt6/src/qml/settings/CMakeLists.txt b/qt6/src/qml/settings/CMakeLists.txt index b4c78865..b412e328 100644 --- a/qt6/src/qml/settings/CMakeLists.txt +++ b/qt6/src/qml/settings/CMakeLists.txt @@ -35,5 +35,11 @@ PRIVATE ${LIB_NAME} ) +# 禁用此插件的 RPATH/RUNPATH,因为依赖库在标准系统路径中 +set_target_properties(dtkdeclarativesettingsplugin PROPERTIES + INSTALL_RPATH "" + BUILD_WITH_INSTALL_RPATH TRUE +) + install(TARGETS dtkdeclarativesettingsplugin DESTINATION "${QML_INSTALL_DIR}/${URI_PATH}/settings") install(DIRECTORY "${PLUGIN_OUTPUT_DIR}/${URI_PATH}/settings/" DESTINATION "${QML_INSTALL_DIR}/${URI_PATH}/settings")