CMakeLists.txt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. cmake_minimum_required(VERSION 3.29)
  2. project(qt_ant_ui)
  3. set(CMAKE_CXX_STANDARD 20)
  4. set(CMAKE_AUTOMOC ON)
  5. set(CMAKE_AUTORCC ON)
  6. set(CMAKE_AUTOUIC ON)
  7. set(CMAKE_PREFIX_PATH "C:/Qt6/6.7.3/mingw_64")
  8. find_package(Qt6 COMPONENTS
  9. Core
  10. Gui
  11. Widgets
  12. REQUIRED)
  13. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/QAntButton/QAntAbstractButton
  14. ${CMAKE_CURRENT_SOURCE_DIR}/QAntButton/QAntPrimaryButton
  15. )
  16. add_executable(qt_ant_ui main.cpp
  17. QAntButton/QAntAbstractButton/QAntAbstractButton.cpp
  18. QAntButton/QAntAbstractButton/QAntAbstractButton.h
  19. QAntButton/QAntPrimaryButton/QAntPrimaryButton.cpp
  20. QAntButton/QAntPrimaryButton/QAntPrimaryButton.h
  21. )
  22. target_link_libraries(qt_ant_ui
  23. Qt::Core
  24. Qt::Gui
  25. Qt::Widgets
  26. )
  27. if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
  28. set(DEBUG_SUFFIX)
  29. if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug")
  30. set(DEBUG_SUFFIX "d")
  31. endif ()
  32. set(QT_INSTALL_PATH "${CMAKE_PREFIX_PATH}")
  33. if (NOT EXISTS "${QT_INSTALL_PATH}/bin")
  34. set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..")
  35. if (NOT EXISTS "${QT_INSTALL_PATH}/bin")
  36. set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..")
  37. endif ()
  38. endif ()
  39. if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll")
  40. add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
  41. COMMAND ${CMAKE_COMMAND} -E make_directory
  42. "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
  43. add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
  44. COMMAND ${CMAKE_COMMAND} -E copy
  45. "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll"
  46. "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
  47. endif ()
  48. foreach (QT_LIB Core Gui Widgets)
  49. add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
  50. COMMAND ${CMAKE_COMMAND} -E copy
  51. "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll"
  52. "$<TARGET_FILE_DIR:${PROJECT_NAME}>")
  53. endforeach (QT_LIB)
  54. endif ()