diff --git a/CMakeLists.txt b/CMakeLists.txt index f7e53eb2..97d03be3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,11 @@ list(APPEND X_TOOLS_QT_COMPONENTS LinguistTools) find_package(QT NAMES Qt5 Qt6 REQUIRED COMPONENTS ${X_TOOLS_QT_COMPONENTS}) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS ${X_TOOLS_QT_COMPONENTS}) +# Qt 6.8.0 or later is recommended, or output a warning message +if(QT_VERSION VERSION_LESS "6.8.0") + message(WARNING "Qt 6.8.0 or later is recommended") +endif() + # -------------------------------------------------------------------------------------------------- # Don't change X_TOOLS_STATIC_VC_RUNTIME_LIBRARY option unless you know what you are doing. # QT_TARGET_TYPE is SHARED_LIBRARY or STATIC_LIBRARY @@ -272,7 +277,7 @@ if(CMAKE_HOST_APPLE) set_source_files_properties(${xTools_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") endif() -qt_add_executable(xTools ${xTools_ICON} ${X_TOOLS_SOURCE} xTools.rc xTools.qrc) +x_tools_add_executable(xTools ${xTools_ICON} ${X_TOOLS_SOURCE} xTools.rc xTools.qrc) x_tools_generate_translations(xTools) x_tools_deploy_qt(xTools) x_tools_deploy_qss(xTools) @@ -282,14 +287,6 @@ x_tools_install_qmdns(xTools) x_tools_install_qrencode(xTools) x_tools_install_hidapi(xTools) -set(macos_version ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}) -set(android_dir ${CMAKE_CURRENT_SOURCE_DIR}/android) -set_target_properties(xTools PROPERTIES MACOSX_BUNDLE TRUE WIN32_EXECUTABLE TRUE) -set_target_properties(xTools PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER xtools.xtools) -set_target_properties(xTools PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}) -set_target_properties(xTools PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING ${macos_version}) -set_target_properties(xTools PROPERTIES QT_ANDROID_PACKAGE_SOURCE_DIR ${android_dir}) - # -------------------------------------------------------------------------------------------------- # Link libraries target_link_libraries( diff --git a/cmake/xtools.cmake b/cmake/xtools.cmake index d12bd6eb..f2b7e461 100644 --- a/cmake/xtools.cmake +++ b/cmake/xtools.cmake @@ -1,15 +1,8 @@ # -------------------------------------------------------------------------------------------------- # Add executable. It can be used by Qt5 and Qt6. function(x_tools_add_executable target) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${target}") if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(${target} MANUAL_FINALIZATION) - if(${target} STREQUAL "xTools") - set_property( - TARGET ${target} - APPEND - PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android) - endif() else() if(ANDROID) add_library(${target} SHARED ${ARGS}) @@ -18,27 +11,13 @@ function(x_tools_add_executable target) endif() endif() - set(INDEX 0) - while(INDEX LESS ${ARGC}) - math(EXPR INDEX "${INDEX} + 1") - target_sources(${target} PRIVATE ${ARGV${INDEX}}) - endwhile() - - if(ANDROID) - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "$" - "${CMAKE_BINARY_DIR}/android-build/libs/${ANDROID_ABI}/$") - endif() - - set_target_properties( - ${target} - PROPERTIES # MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appuntitled3 - MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} - MACOSX_BUNDLE TRUE - WIN32_EXECUTABLE TRUE) + set(macos_version ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}) + set(android_dir ${CMAKE_CURRENT_SOURCE_DIR}/res/android/6.8) + set_target_properties(xTools PROPERTIES MACOSX_BUNDLE TRUE WIN32_EXECUTABLE TRUE) + set_target_properties(xTools PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER xtools.xtools) + set_target_properties(xTools PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}) + set_target_properties(xTools PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING ${macos_version}) + set_target_properties(xTools PROPERTIES QT_ANDROID_PACKAGE_SOURCE_DIR ${android_dir}) endfunction() # --------------------------------------------------------------------------------------------------