Advertisement
KebabJoy

Untitled

Jan 23rd, 2022
1,751
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 2.56 KB | None | 0 0
  1. cmake_minimum_required(VERSION 3.5)
  2.  
  3. project(karta VERSION 0.1 LANGUAGES CXX)
  4.  
  5. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  6.  
  7. set(CMAKE_AUTOUIC ON)
  8. set(CMAKE_AUTOMOC ON)
  9. set(CMAKE_AUTORCC ON)
  10.  
  11. set(CMAKE_CXX_STANDARD 11)
  12. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  13.  
  14.  
  15. find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
  16. find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
  17. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Quick Sql)
  18.  
  19.  
  20. set(PROJECT_SOURCES
  21.       main.cpp
  22.       mainwindow.cpp
  23.       mainwindow.h
  24.       mainwindow.ui
  25.       maintable.cpp
  26.       maintable.h
  27.       maintable.ui
  28.       hirurg.cpp
  29.       hirurg.h
  30.       hirurg.ui
  31.       stomatolog.cpp
  32.       stomatolog.h
  33.       stomatolog.ui
  34.       terapevt.cpp
  35.       terapevt.h
  36.       terapevt.ui
  37.       pediatr.cpp
  38.       pediatr.h
  39.       pediatr.ui
  40.       kardiolog.cpp
  41.       kardiolog.h
  42.       kardiolog.ui
  43.       nevrolog.cpp
  44.       nevrolog.h
  45.       nevrolog.ui
  46. )
  47.  
  48. file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/test.db
  49.      DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
  50.  
  51. if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
  52.     qt_add_executable(karta
  53.         MANUAL_FINALIZATION
  54.         ${PROJECT_SOURCES}
  55.     )
  56. else()
  57.     add_executable(karta
  58.         ${PROJECT_SOURCES}
  59.     )
  60. endif()
  61.  
  62. target_link_libraries(karta PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::Sql)
  63.  
  64. set_target_properties(karta PROPERTIES
  65.     MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
  66.     MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  67.     MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  68. )
  69.  
  70. install(TARGETS
  71.             karta
  72.         DESTINATION
  73.             .
  74. )
  75.  
  76. get_property(QT_CORE_INCLUDE_DIRS TARGET Qt${QT_VERSION_MAJOR}::Core PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
  77. list(GET QT_CORE_INCLUDE_DIRS 0 QT_CORE_MAIN_INCLUDE_DIR)
  78. get_filename_component(QT_MAIN_DIR ${QT_CORE_MAIN_INCLUDE_DIR}/../.. ABSOLUTE)
  79.  
  80. install(FILES $<TARGET_FILE:Qt${QT_VERSION_MAJOR}::Core>
  81.               $<TARGET_FILE:Qt${QT_VERSION_MAJOR}::Gui>
  82.               $<TARGET_FILE:Qt${QT_VERSION_MAJOR}::Widgets>
  83.               $<TARGET_FILE:Qt${QT_VERSION_MAJOR}::Sql>
  84.               DESTINATION .)
  85.  
  86. install(DIRECTORY ${QT_MAIN_DIR}/plugins/platforms/
  87.                   DESTINATION ./platforms USE_SOURCE_PERMISSIONS)
  88.  
  89. install(DIRECTORY
  90.     ${QT_MAIN_DIR}/plugins/sqldrivers/
  91.         DESTINATION ./sqldrivers USE_SOURCE_PERMISSIONS)
  92.  
  93. install(FILES test.db DESTINATION .)
  94.  
  95. if(QT_VERSION_MAJOR EQUAL 6)
  96.     qt_finalize_executable(karta)
  97. endif()
  98.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement