# Skin — 主题插件(共享库 / DLL) add_library(SkinPlugin SHARED src/skin.cpp src/SkinThemePlugin.cpp src/ThemeManager.cpp inc/skin.h inc/SkinThemePlugin.h inc/ThemeManager.h IThemePlugin.h images.qrc ) target_include_directories(SkinPlugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/inc ${CMAKE_SOURCE_DIR}/Plugins ${CMAKE_SOURCE_DIR}/PluginSDK ) target_link_libraries(SkinPlugin PUBLIC PluginSDK Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Widgets) target_compile_definitions(SkinPlugin PRIVATE SKIN_LIBRARY QtSkin) set_target_properties(SkinPlugin PROPERTIES PREFIX "" SUFFIX ".dll" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/plugins/Skin" WINDOWS_EXPORT_ALL_SYMBOLS ON LINK_FLAGS "-Wl,--export-all-symbols") add_custom_command(TARGET SkinPlugin POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/plugin.json" "${CMAKE_BINARY_DIR}/bin/plugins/Skin/plugin.json" )