| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 | project(CTKQtTesting)## 3rd party dependencies#find_package(QtTesting REQUIRED)## See CTK/CMake/ctkMacroBuildLib.cmake for details#set(KIT_export_directive "CTK_QTTESTING_EXPORT")set(CTK_LIBS_WIDGET_DIR)# TODO The following code used to create CTK_ENABLED_LIBNAMES list could be#      moved in the main CMakeLists.txtset(CTK_ENABLED_LIBNAMES)foreach(enabled_lib ${CTK_ENABLED_LIBS})  string(REPLACE "/" "" lib_name_no_slash ${enabled_lib})  list(APPEND CTK_ENABLED_LIBNAMES CTK${lib_name_no_slash})  string(REGEX MATCHALL "Widgets" CTK_LIB_WIDGET ${lib_name_no_slash})  if(CTK_LIB_WIDGET)    list(APPEND CTK_LIBS_WIDGET_DIR CTK${lib_name_no_slash})  endif()endforeach()# Recover All the event player/translator headersset(CTK_HEADERS_EVENT_PLAYERS)set(CTK_HEADERS_EVENT_TRANSLATORS)foreach(CTK_LIB_WIDGET_DIR ${CTK_LIBS_WIDGET_DIR})  file(GLOB HEADERS RELATIVE ${${CTK_LIB_WIDGET_DIR}_SOURCE_DIR} "${${CTK_LIB_WIDGET_DIR}_SOURCE_DIR}/*.h")  foreach(HEADER ${HEADERS})    string(REGEX MATCHALL "EventPlayer" HEADER_PLAYER ${HEADER})    string(REGEX MATCHALL "EventTranslator" HEADER_TRANSLATOR ${HEADER})    if(HEADER_PLAYER)      list(APPEND CTK_HEADERS_EVENT_PLAYERS ${HEADER})    endif()    if(HEADER_TRANSLATOR)      list(APPEND CTK_HEADERS_EVENT_TRANSLATORS ${HEADER})    endif()  endforeach()endforeach()if(CTK_HEADERS_EVENT_PLAYERS)  list(SORT CTK_HEADERS_EVENT_PLAYERS)endif()if(CTK_HEADERS_EVENT_TRANSLATORS)  list(SORT CTK_HEADERS_EVENT_TRANSLATORS)endif()# Define the C++ code for the file ctkQtTestingUtility# Define the headers# Define the methode addWidgetEventTranslator/Player()set(CTK_ADD_HEADER_EVENT_PLAYERS "// Event player includes\n")#set(CTK_ADD_WIDGET_EVENT_PLAYERS)foreach(CTK_HEADER_EVENT_PLAYERS ${CTK_HEADERS_EVENT_PLAYERS})  set(CTK_ADD_HEADER_EVENT_PLAYERS "${CTK_ADD_HEADER_EVENT_PLAYERS}#include <${CTK_HEADER_EVENT_PLAYERS}>\n")  get_filename_component(CTK_HEADER_EVENT_PLAYER_NAME ${CTK_HEADER_EVENT_PLAYERS} NAME_WE)  set(is_special_player FALSE)  string(COMPARE EQUAL "ctkVTKRenderViewEventPlayer" ${CTK_HEADER_EVENT_PLAYER_NAME} is_special_player)  if(is_special_player)    set(CTK_ADD_WIDGET_EVENT_PLAYERS "${CTK_ADD_WIDGET_EVENT_PLAYERS}  this->eventPlayer()->addWidgetEventPlayer(new ${CTK_HEADER_EVENT_PLAYER_NAME}(\"QVTKWidget\"));\n")  endif()  if(NOT is_special_player)    # Explicitly skip this player so that it could be added first in the list of players to register.    string(COMPARE EQUAL "ctkFileDialogEventPlayer" ${CTK_HEADER_EVENT_PLAYER_NAME} is_special_player)  endif()  if(NOT is_special_player)    set(CTK_ADD_WIDGET_EVENT_PLAYERS "${CTK_ADD_WIDGET_EVENT_PLAYERS}  this->eventPlayer()->addWidgetEventPlayer(new ${CTK_HEADER_EVENT_PLAYER_NAME}());\n")  endif()endforeach()if(CTK_LIB_Widgets)set(CTK_ADD_WIDGET_EVENT_PLAYERS "${CTK_ADD_WIDGET_EVENT_PLAYERS}  this->eventPlayer()->addWidgetEventPlayer(new ctkFileDialogEventPlayer(util));\n")endif()set(CTK_ADD_HEADER_EVENT_TRANSLATORS "// Event translator includes\n")#set(CTK_ADD_WIDGET_EVENT_TRANSLATORS)foreach(CTK_HEADER_EVENT_TRANSLATORS ${CTK_HEADERS_EVENT_TRANSLATORS})  set(CTK_ADD_HEADER_EVENT_TRANSLATORS "${CTK_ADD_HEADER_EVENT_TRANSLATORS}#include <${CTK_HEADER_EVENT_TRANSLATORS}>\n")  get_filename_component(CTK_HEADER_EVENT_TRANSLATOR_NAME ${CTK_HEADER_EVENT_TRANSLATORS} NAME_WE)  set(is_special_translator FALSE)  string(COMPARE EQUAL "ctkVTKRenderViewEventTranslator" ${CTK_HEADER_EVENT_TRANSLATOR_NAME} is_special_translator)  if(is_special_translator)    set(CTK_ADD_WIDGET_EVENT_TRANSLATORS "${CTK_ADD_WIDGET_EVENT_TRANSLATORS}  this->eventTranslator()->addWidgetEventTranslator(new ${CTK_HEADER_EVENT_TRANSLATOR_NAME}(\"QVTKWidget\"));\n")  endif()  if(NOT is_special_translator)    # Explicitly skip this translator so that it could be added first in the list of translators to register.    string(COMPARE EQUAL "ctkFileDialogEventTranslator" ${CTK_HEADER_EVENT_TRANSLATOR_NAME} is_special_translator)  endif()  if(NOT is_special_translator)    set(CTK_ADD_WIDGET_EVENT_TRANSLATORS "${CTK_ADD_WIDGET_EVENT_TRANSLATORS}  this->eventTranslator()->addWidgetEventTranslator(new ${CTK_HEADER_EVENT_TRANSLATOR_NAME}());\n")  endif()endforeach()if (CTK_LIB_Widgets)  set(CTK_ADD_WIDGET_EVENT_TRANSLATORS "${CTK_ADD_WIDGET_EVENT_TRANSLATORS}  this->eventTranslator()->addWidgetEventTranslator(new ctkFileDialogEventTranslator(util));\n")endif()set(KIT_INCLUDE_DIRECTORIES  ${QtTesting_INCLUDE_DIRS}  ${CTK_SUPERBUILD_BINARY_DIR} # For ctkConfig.h  )foreach(libname ${CTK_ENABLED_LIBNAMES})  list(APPEND KIT_INCLUDE_DIRECTORIES    ${${libname}_SOURCE_DIR}    ${${libname}_BINARY_DIR}    )endforeach()configure_file(  ctkQtTestingUtility.cpp.in  ${CMAKE_CURRENT_BINARY_DIR}/ctkQtTestingUtility.cpp  )# Source filesset(KIT_SRCS  ctkEventTranslatorPlayerWidget.cpp  ctkEventTranslatorPlayerWidget.h  ${CMAKE_CURRENT_BINARY_DIR}/ctkQtTestingUtility.cpp  ctkQtTestingUtility.h  ctkXMLEventObserver.cpp  ctkXMLEventObserver.h  ctkXMLEventSource.cpp  ctkXMLEventSource.h  )# Header that should run through mocset(KIT_MOC_SRCS  ctkEventTranslatorPlayerWidget.h  ctkQtTestingUtility.h  ctkXMLEventObserver.h  ctkXMLEventSource.h  )# UI filesset(KIT_UI_FORMS  Resources/UI/ctkEventTranslatorPlayerWidget.ui)# Resourcesset(KIT_resources  Resources/ctkQtTesting.qrc)# dependencie dynamic from all the libraries with Widgets + QtTestingset(KIT_target_libraries QtTesting)foreach(libname ${CTK_ENABLED_LIBNAMES})  if(${libname} MATCHES "Widgets$")    list(APPEND KIT_target_libraries ${libname})  endif()endforeach()#message("${KIT_target_libraries}")ctkMacroBuildLib(  NAME ${PROJECT_NAME}  EXPORT_DIRECTIVE ${KIT_export_directive}  SRCS ${KIT_SRCS}  MOC_SRCS ${KIT_MOC_SRCS}  UI_FORMS ${KIT_UI_FORMS}  INCLUDE_DIRECTORIES ${KIT_INCLUDE_DIRECTORIES}  TARGET_LIBRARIES ${KIT_target_libraries}  RESOURCES ${KIT_resources}  LIBRARY_TYPE ${CTK_LIBRARY_MODE}  )if(CTK_WRAP_PYTHONQT_FULL OR CTK_WRAP_PYTHONQT_LIGHT)  ctkMacroBuildLibWrapper(    TARGET ${PROJECT_NAME}    SRCS ${KIT_SRCS}    WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}    )endif()# Testing#if(BUILD_TESTING)#  add_subdirectory(Testing)#endif()
 |