CMakeLists.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. set(KIT CTKCommandLineModules)
  2. set(LIBRARY_NAME ${KIT})
  3. set(_test_srcs)
  4. set(_test_mocs)
  5. if(CTK_LIB_CommandLineModules/Frontend/QtGui)
  6. if(CTK_QT_VERSION VERSION_LESS "5")
  7. set(QT_USE_QTUITOOLS 1)
  8. include(${QT_USE_FILE})
  9. endif()
  10. if(CTK_LIB_CommandLineModules/Backend/LocalProcess)
  11. set(_test_cpp_files
  12. ctkCmdLineModuleFutureTest.cpp
  13. ctkCmdLineModuleProcessXmlOutputTest.cpp
  14. )
  15. list(APPEND _test_srcs ${_test_cpp_files})
  16. list(APPEND _test_mocs ${_test_cpp_files})
  17. endif()
  18. if(CTK_LIB_CommandLineModules/Backend/FunctionPointer)
  19. list(APPEND _test_srcs ctkCmdLineModuleQtCustomizationTest.cpp)
  20. list(APPEND _test_mocs ctkCmdLineModuleQtCustomizationTest.cpp)
  21. endif()
  22. endif()
  23. create_test_sourcelist(Tests ${KIT}CppTests.cpp ${_test_srcs})
  24. set(TestsToRun ${Tests})
  25. remove(TestsToRun ${KIT}CppTests.cpp)
  26. set(Tests_SRCS ${Tests_SRCS}
  27. ctkCmdLineModuleSignalTester.cpp
  28. )
  29. set(Tests_MOC_SRCS ${Tests_MOC_SRCS}
  30. ctkCmdLineModuleSignalTester.h
  31. )
  32. set(Tests_RESOURCES
  33. ctkCmdLineModuleTestResources.qrc
  34. )
  35. set(_base_src_include_dir ${CMAKE_SOURCE_DIR}/Libs/CommandLineModules)
  36. set(_base_bin_include_dir ${CMAKE_BINARY_DIR}/Libs/CommandLineModules)
  37. include_directories(
  38. ${CMAKE_SOURCE_DIR}/Libs/Testing
  39. ${CMAKE_CURRENT_BINARY_DIR}
  40. ${_base_src_include_dir}/Core
  41. ${_base_bin_include_dir}/Core
  42. )
  43. set(_additional_link_libraries)
  44. if(CTK_LIB_CommandLineModules/Backend/LocalProcess)
  45. include_directories(${_base_src_include_dir}/Backend/LocalProcess
  46. ${_base_bin_include_dir}/Backend/LocalProcess)
  47. list(APPEND _additional_link_libraries CTKCommandLineModulesBackendLocalProcess)
  48. endif()
  49. if(CTK_LIB_CommandLineModules/Backend/FunctionPointer)
  50. include_directories(${_base_src_include_dir}/Backend/FunctionPointer
  51. ${_base_bin_include_dir}/Backend/FunctionPointer)
  52. list(APPEND _additional_link_libraries CTKCommandLineModulesBackendFunctionPointer)
  53. endif()
  54. if(CTK_LIB_CommandLineModules/Frontend/QtGui)
  55. include_directories(${_base_src_include_dir}/Frontend/QtGui
  56. ${_base_bin_include_dir}/Frontend/QtGui)
  57. list(APPEND _additional_link_libraries CTKCommandLineModulesFrontendQtGui)
  58. endif()
  59. set(Tests_MOC_CPP)
  60. set(Tests_UI_CPP)
  61. set(Tests_RESOURCES_SRCS)
  62. if (CTK_QT_VERSION VERSION_GREATER "4")
  63. QT5_WRAP_CPP(Tests_MOC_CPP ${Tests_MOC_SRCS})
  64. if(_test_mocs)
  65. QT5_GENERATE_MOCS(${_test_mocs})
  66. endif()
  67. if(TEST_UI_FORMS)
  68. QT5_WRAP_UI(Tests_UI_CPP ${Tests_UI_FORMS})
  69. endif()
  70. QT5_ADD_RESOURCES(Tests_RESOURCES_SRCS ${Tests_RESOURCES})
  71. else()
  72. QT4_WRAP_CPP(Tests_MOC_CPP ${Tests_MOC_SRCS})
  73. if(_test_mocs)
  74. QT4_GENERATE_MOCS(${_test_mocs})
  75. endif()
  76. if(TEST_UI_FORMS)
  77. QT4_WRAP_UI(Tests_UI_CPP ${Tests_UI_FORMS})
  78. endif()
  79. QT4_ADD_RESOURCES(Tests_RESOURCES_SRCS ${Tests_RESOURCES})
  80. endif()
  81. add_executable(${KIT}CppTests ${Tests} ${Tests_SRCS} ${Tests_MOC_CPP} ${Tests_UI_CPP} ${Tests_RESOURCES_SRCS})
  82. target_link_libraries(${KIT}CppTests ${_additional_link_libraries})
  83. add_dependencies(${KIT}CppTests ctkCmdLineTestModules)
  84. if(CTK_QT_VERSION VERSION_GREATER "4")
  85. target_link_libraries(${KIT}CppTests Qt5::Gui Qt5::Test)
  86. endif()
  87. if(TARGET CTKCommandLineModulesCoreCppTests)
  88. add_dependencies(${KIT}CppTests CTKCommandLineModulesCoreCppTests)
  89. endif()
  90. if(TARGET CTKCommandLineModulesFrontendQtGuiCppTests)
  91. add_dependencies(${KIT}CppTests CTKCommandLineModulesFrontendQtGuiCppTests)
  92. endif()
  93. #
  94. # Add Tests
  95. #
  96. foreach(_src ${_test_srcs})
  97. get_filename_component(_test_name ${_src} NAME_WE)
  98. SIMPLE_TEST(${_test_name})
  99. endforeach()