CMakeLists.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. include(CMakeParseArguments)
  2. find_package(Qt5Test REQUIRED)
  3. include_directories(
  4. ${CMake_SOURCE_DIR}/Source
  5. ${CMake_SOURCE_DIR}/Source/QtDialog
  6. ${CMake_BINARY_DIR}/Source/QtDialog
  7. )
  8. set(MOC_SRCS)
  9. qt5_wrap_cpp(MOC_SRCS
  10. CatchShow.h
  11. )
  12. add_library(CMakeGUITestLib STATIC ${MOC_SRCS}
  13. CatchShow.cxx
  14. CatchShow.h
  15. )
  16. target_link_libraries(CMakeGUITestLib Qt5::Core Qt5::Gui Qt5::Widgets)
  17. set(MOC_SRCS)
  18. qt5_wrap_cpp(MOC_SRCS
  19. CMakeGUITest.h
  20. )
  21. add_executable(CMakeGUITest CMakeGUITest.cxx ${MOC_SRCS})
  22. target_link_libraries(CMakeGUITest CMakeGUIMainLib CMakeGUITestLib Qt5::Core Qt5::Test Qt5::Widgets)
  23. target_compile_definitions(CMakeGUITest PRIVATE
  24. "CMakeGUITest_SOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}\""
  25. "CMakeGUITest_BINARY_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\""
  26. "CMAKE_GENERATOR=\"${CMAKE_GENERATOR}\""
  27. )
  28. add_test(NAME CMakeGUI COMMAND ${CMAKE_CMAKE_COMMAND}
  29. "-DCMakeGUITest_COMMAND=$<TARGET_FILE:CMakeGUITest>"
  30. "-DCMakeGUITest_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
  31. "-DCMakeGUITest_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}"
  32. "-DCMakeGUITest_GENERATOR=${CMAKE_GENERATOR}"
  33. -P "${CMAKE_CURRENT_LIST_DIR}/CMakeGUITest.cmake"
  34. )
  35. function(add_cmake_gui_lib_test name)
  36. cmake_parse_arguments(_t "" "" "SOURCES;MOC_SOURCES" ${ARGN})
  37. set(MOC_SRCS)
  38. qt5_wrap_cpp(MOC_SRCS
  39. ${_t_MOC_SOURCES}
  40. )
  41. add_executable(${name} ${_t_SOURCES} ${MOC_SRCS})
  42. target_link_libraries(${name} CMakeGUILib CMakeGUITestLib Qt5::Core Qt5::Test Qt5::Widgets)
  43. add_test(NAME "CMakeGUILib.${name}" COMMAND ${name})
  44. endfunction()
  45. add_cmake_gui_lib_test(CatchShow
  46. SOURCES
  47. CatchShowTest.cxx
  48. CatchShowTest.h
  49. MOC_SOURCES
  50. CatchShowTest.h
  51. )
  52. add_cmake_gui_lib_test(EnvironmentDialog
  53. SOURCES
  54. EnvironmentDialogTest.cxx
  55. EnvironmentDialogTest.h
  56. MOC_SOURCES
  57. EnvironmentDialogTest.h
  58. )
  59. add_cmake_gui_lib_test(QCMakeCacheModel
  60. SOURCES
  61. QCMakeCacheModelTest.cxx
  62. QCMakeCacheModelTest.h
  63. MOC_SOURCES
  64. QCMakeCacheModelTest.h
  65. )
  66. add_cmake_gui_lib_test(QCMakePreset
  67. SOURCES
  68. QCMakePresetTest.cxx
  69. QCMakePresetTest.h
  70. MOC_SOURCES
  71. QCMakePresetTest.h
  72. )
  73. add_cmake_gui_lib_test(QCMakePresetItemModel
  74. SOURCES
  75. QCMakePresetItemModelTest.cxx
  76. QCMakePresetItemModelTest.h
  77. MOC_SOURCES
  78. QCMakePresetItemModelTest.h
  79. )
  80. add_cmake_gui_lib_test(QCMakePresetComboBox
  81. SOURCES
  82. QCMakePresetComboBoxTest.cxx
  83. QCMakePresetComboBoxTest.h
  84. MOC_SOURCES
  85. QCMakePresetComboBoxTest.h
  86. )