CMakeLists.txt 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. project(CTKVisualizationVTKWidgets)
  2. #
  3. # See CTK/CMake/ctkMacroBuildLib.cmake for details
  4. #
  5. set(KIT_export_directive "CTK_VISUALIZATION_VTK_WIDGETS_EXPORT")
  6. #
  7. # Add the libraries QtTesting
  8. #
  9. if(CTK_USE_QTTESTING)
  10. find_package(QtTesting REQUIRED)
  11. include_directories(
  12. ${QtTesting_INCLUDE_DIRS}
  13. ${CMAKE_BINARY_DIR} # For ctkConfig.h
  14. )
  15. endif()
  16. # Source files
  17. set(KIT_SRCS
  18. ctkVTKAbstractMatrixWidget.cpp
  19. ctkVTKAbstractMatrixWidget.h
  20. ctkVTKAbstractMatrixWidget_p.h
  21. ctkVTKAbstractView.cpp
  22. ctkVTKAbstractView.h
  23. ctkVTKAbstractView_p.h
  24. ctkVTKDataSetModel.cpp
  25. ctkVTKDataSetModel.h
  26. ctkVTKDataSetArrayComboBox.cpp
  27. ctkVTKDataSetArrayComboBox.h
  28. ctkVTKMagnifyView.cpp
  29. ctkVTKMagnifyView.h
  30. ctkVTKMagnifyView_p.h
  31. ctkVTKMatrixWidget.cpp
  32. ctkVTKMatrixWidget.h
  33. ctkVTKPropertyWidget.cpp
  34. ctkVTKPropertyWidget.h
  35. ctkVTKRenderView.cpp
  36. ctkVTKRenderView.h
  37. ctkVTKRenderView_p.h
  38. ctkVTKScalarBarWidget.cpp
  39. ctkVTKScalarBarWidget.h
  40. ctkVTKScalarsToColorsUtils.cpp
  41. ctkVTKScalarsToColorsUtils.h
  42. ctkVTKSliceView.cpp
  43. ctkVTKSliceView.h
  44. ctkVTKSliceView_p.h
  45. ctkVTKSurfaceMaterialPropertyWidget.cpp
  46. ctkVTKSurfaceMaterialPropertyWidget.h
  47. ctkVTKTextPropertyWidget.cpp
  48. ctkVTKTextPropertyWidget.h
  49. ctkVTKThresholdWidget.cpp
  50. ctkVTKThresholdWidget.h
  51. ctkVTKThumbnailView.cpp
  52. ctkVTKThumbnailView.h
  53. ctkVTKWidgetsUtils.cpp
  54. ctkVTKWidgetsUtils.h
  55. )
  56. # Headers that should run through moc
  57. set(KIT_MOC_SRCS
  58. ctkVTKAbstractMatrixWidget_p.h
  59. ctkVTKAbstractView.h
  60. ctkVTKAbstractView_p.h
  61. ctkVTKDataSetArrayComboBox.h
  62. ctkVTKDataSetModel.h
  63. ctkVTKMagnifyView.h
  64. ctkVTKMagnifyView_p.h
  65. ctkVTKMatrixWidget.h
  66. ctkVTKPropertyWidget.h
  67. ctkVTKRenderView.h
  68. ctkVTKRenderView_p.h
  69. ctkVTKScalarBarWidget.h
  70. ctkVTKSliceView.h
  71. ctkVTKSliceView_p.h
  72. ctkVTKSurfaceMaterialPropertyWidget.h
  73. ctkVTKTextPropertyWidget.h
  74. ctkVTKThresholdWidget.h
  75. ctkVTKThumbnailView.h
  76. )
  77. # UI files
  78. set(KIT_UI_FORMS
  79. Resources/UI/ctkVTKScalarBarWidget.ui
  80. Resources/UI/ctkVTKTextPropertyWidget.ui
  81. Resources/UI/ctkVTKPropertyWidget.ui
  82. Resources/UI/ctkVTKThresholdWidget.ui
  83. )
  84. # Resources
  85. set(KIT_resources
  86. Resources/ctkVTKWidgets.qrc
  87. )
  88. # Set VTK_LIBRARIES variable
  89. if(${VTK_VERSION_MAJOR} GREATER 5)
  90. set(VTK_LIBRARIES
  91. vtkChartsCore
  92. vtkCommonMath
  93. vtkFiltersSources
  94. vtkImagingGeneral
  95. vtkImagingStatistics
  96. vtkInteractionWidgets
  97. vtkRenderingContext2D
  98. vtkViewsContext2D
  99. vtkWrappingPythonCore
  100. vtkGUISupportQt
  101. )
  102. else()
  103. set(VTK_LIBRARIES
  104. QVTK
  105. )
  106. endif()
  107. if(CTK_LIB_Visualization/VTK/Widgets_USE_TRANSFER_FUNCTION_CHARTS)
  108. set(CTK_USE_CHARTS 1)
  109. endif()
  110. IF (${CTK_USE_CHARTS})
  111. set(KIT_SRCS
  112. ctkVTKChartView.cpp
  113. ctkVTKChartView.h
  114. ctkVTKVolumePropertyWidget.cpp
  115. ctkVTKVolumePropertyWidget.h
  116. ctkVTKScalarsToColorsView.cpp
  117. ctkVTKScalarsToColorsView.h
  118. ctkVTKScalarsToColorsWidget.cpp
  119. ctkVTKScalarsToColorsWidget.h
  120. ${KIT_SRCS})
  121. set(KIT_MOC_SRCS
  122. ctkVTKChartView.h
  123. ctkVTKVolumePropertyWidget.h
  124. ctkVTKScalarsToColorsView.h
  125. ctkVTKScalarsToColorsWidget.h
  126. ${KIT_MOC_SRCS})
  127. set(KIT_UI_FORMS
  128. Resources/UI/ctkVTKVolumePropertyWidget.ui
  129. Resources/UI/ctkVTKScalarsToColorsWidget.ui
  130. ${KIT_UI_FORMS})
  131. if(${VTK_VERSION_MAJOR} GREATER 5)
  132. set(VTK_LIBRARIES
  133. vtkChartsCore
  134. ${VTK_LIBRARIES})
  135. else()
  136. set(VTK_LIBRARIES
  137. vtkCharts
  138. ${VTK_LIBRARIES})
  139. endif()
  140. add_definitions(-DCTK_USE_CHARTS)
  141. endif()
  142. # Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
  143. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  144. ctkFunctionGetTargetLibraries(KIT_target_libraries)
  145. # If we use QtTessting, we add all the dependencies
  146. if(CTK_USE_QTTESTING)
  147. list(APPEND KIT_SRCS
  148. ctkVTKRenderViewEventPlayer.cpp
  149. ctkVTKRenderViewEventPlayer.h
  150. ctkVTKRenderViewEventTranslator.cpp
  151. ctkVTKRenderViewEventTranslator.h
  152. )
  153. list(APPEND KIT_MOC_SRCS
  154. ctkVTKRenderViewEventPlayer.h
  155. ctkVTKRenderViewEventTranslator.h
  156. )
  157. list(APPEND KIT_target_libraries QtTesting)
  158. endif()
  159. ctkMacroBuildLib(
  160. NAME ${PROJECT_NAME}
  161. EXPORT_DIRECTIVE ${KIT_export_directive}
  162. SRCS ${KIT_SRCS}
  163. MOC_SRCS ${KIT_MOC_SRCS}
  164. UI_FORMS ${KIT_UI_FORMS}
  165. TARGET_LIBRARIES ${KIT_target_libraries}
  166. RESOURCES ${KIT_resources}
  167. LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  168. )
  169. if(CTK_WRAP_PYTHONQT_LIGHT)
  170. ctkMacroBuildLibWrapper(
  171. TARGET ${PROJECT_NAME}
  172. SRCS ${KIT_SRCS}
  173. WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  174. )
  175. endif()
  176. # Plugins
  177. if(CTK_BUILD_QTDESIGNER_PLUGINS)
  178. add_subdirectory(Plugins)
  179. endif()
  180. # Testing
  181. if(BUILD_TESTING)
  182. add_subdirectory(Testing)
  183. endif()