CMakeLists: Try to fix output problem.

This commit is contained in:
Mentalflow 2024-04-02 08:33:53 +08:00
parent 95ddf6da9a
commit 79a17c3fb1
Signed by: Mentalflow
GPG Key ID: 5AE68D4401A2EE71
2 changed files with 26 additions and 8 deletions

View File

@ -10,16 +10,15 @@ option(RIBBONUI_BUILD_EXAMPLES "Build RibbonUI APP." ON)
option(RIBBONUI_BUILD_FRAMELESSHEPLER "Build FramelessHelper." ON)
option(RIBBONUI_BUILD_STATIC_LIB "Build RibbonUI static library." OFF)
add_subdirectory(lib_source)
if(NOT RIBBONUI_QML_PLUGIN_DIRECTORY)
set(RIBBONUI_QML_PLUGIN_DIRECTORY ${QT_SDK_DIR}/qml/RibbonUI CACHE PATH "RibbonUI Plugin Path")
endif()
if (RIBBONUI_BUILD_EXAMPLES)
add_subdirectory(example)
endif()
if(NOT RIBBONUI_QML_PLUGIN_DIRECTORY)
set(RIBBONUI_QML_PLUGIN_DIRECTORY ${QT_SDK_DIR}/qml/RibbonUI CACHE PATH "RibbonUI Plugin Path")
endif()
add_subdirectory(lib_source)
message("---------------------------- RibbonUI ----------------------------")
message("Build RibbonUI APP: ${RIBBONUI_BUILD_EXAMPLES}")
message("Build RibbonUI static library: ${RIBBONUI_BUILD_STATIC_LIB}")

View File

@ -46,7 +46,7 @@ if (WIN32)
${app_icon_resource_windows}
)
file(TO_CMAKE_PATH "/" PATH_SEPARATOR)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
if(MSVC)
set(DLLPATH ${CMAKE_SOURCE_DIR}/3rdparty/msvc/*.dll)
else()
set(DLLPATH ${CMAKE_SOURCE_DIR}/3rdparty/mingw/*.dll)
@ -75,11 +75,11 @@ elseif(APPLE)
${sources_files}
${App_ICON}
)
else ()
else()
qt_add_executable(${PROJECT_NAME}
${sources_files}
)
endif ()
endif()
qt_add_qml_module(${PROJECT_NAME}
URI ${PROJECT_NAME}
@ -103,6 +103,25 @@ if(RIBBONUI_BUILD_STATIC_LIB)
target_compile_definitions(${PROJECT_NAME} PRIVATE
RIBBONUI_BUILD_STATIC_LIB
)
else()
if(WIN32)
if (MINGW)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${RIBBONUI_QML_PLUGIN_DIRECTORY}/RibbonUI.dll"
${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
else()
if (NOT RIBBONUI_BUILD_STATIC_LIB)
if (CMAKE_BUILD_TYPE MATCHES "Debug")
set(DEBUG_POSTFIX "d")
endif()
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${RIBBONUI_QML_PLUGIN_DIRECTORY}/RibbonUI${DEBUG_POSTFIX}.dll"
${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endif()
endif()
endif()
endif()
target_link_libraries(${PROJECT_NAME} PRIVATE