Guest User

Untitled

a guest
Dec 26th, 2023
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. cmake_minimum_required(VERSION 3.14)
  2.  
  3. project(DR VERSION 0.1 LANGUAGES CXX)
  4.  
  5. set(CMAKE_AUTOUIC ON)
  6. set(CMAKE_AUTOMOC ON)
  7. set(CMAKE_AUTORCC ON)
  8.  
  9. SET(QT_USE_QTGUI TRUE)
  10. SET(QT_USE_QTPLUGIN TRUE)
  11.  
  12. set(CMAKE_CXX_STANDARD 17)
  13. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  14.  
  15. find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Quick Qml)
  16. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Quick Qml Multimedia QmlImportScanner QuickControls2 REQUIRED)
  17.  
  18. set(PROJECT_SOURCES
  19. main.cpp
  20. qml.qrc
  21. logic.cpp
  22. )
  23.  
  24. if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
  25. qt_add_executable(DR
  26. MANUAL_FINALIZATION
  27. ${PROJECT_SOURCES}
  28. )
  29. else()
  30. if(ANDROID)
  31. add_library(DR SHARED
  32. ${PROJECT_SOURCES}
  33. )
  34. else()
  35. add_executable(DR
  36. ${PROJECT_SOURCES}
  37. logic.h logic.cpp
  38. )
  39. endif()
  40. endif()
  41.  
  42. target_link_libraries(DR
  43. PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::Multimedia Qt${QT_VERSION_MAJOR}::Qml)
  44.  
  45.  
  46. # Set properties before calling qt_import_qml_plugins
  47. set_target_properties(DR PROPERTIES
  48. MACOSX_BUNDLE TRUE
  49. WIN32_EXECUTABLE TRUE
  50. )
  51.  
  52. # Call qt_import_qml_plugins only for static library target
  53. get_target_property(QT_TARGET_TYPE Qt${QT_VERSION_MAJOR}::Core TYPE)
  54. if(${QT_TARGET_TYPE} STREQUAL "STATIC_LIBRARY")
  55. qt_import_qml_plugins(DR)
  56. endif()
  57.  
  58. # Set remaining properties after qt_import_qml_plugins
  59. set_target_properties(DR PROPERTIES
  60. MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  61. MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  62. )
  63.  
  64. include(GNUInstallDirs)
  65. install(TARGETS DR
  66. BUNDLE DESTINATION .
  67. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
  68.  
  69. if(QT_VERSION_MAJOR EQUAL 6)
  70. qt_finalize_executable(DR)
  71. endif()
  72.  
Advertisement
Add Comment
Please, Sign In to add comment