CMakeLists.txt 5.1 KB

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