CMakeLists.txt 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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. vtkCommonCore
  93. vtkCommonDataModel
  94. vtkCommonMath
  95. vtkCommonSystem
  96. vtkFiltersSources
  97. vtkIOImage
  98. vtkImagingGeneral
  99. vtkImagingStatistics
  100. vtkInteractionStyle
  101. vtkInteractionWidgets
  102. vtkRenderingAnnotation
  103. vtkRenderingContext2D
  104. vtkRenderingCore
  105. vtkRenderingFreeTypeFontConfig
  106. vtkRenderingFreeTypeOpenGL
  107. vtkRenderingOpenGL
  108. vtkViewsContext2D
  109. vtkWrappingPythonCore
  110. vtkGUISupportQt
  111. )
  112. else()
  113. set(VTK_LIBRARIES
  114. QVTK
  115. )
  116. endif()
  117. if(CTK_LIB_Visualization/VTK/Widgets_USE_TRANSFER_FUNCTION_CHARTS)
  118. set(CTK_USE_CHARTS 1)
  119. endif()
  120. IF (${CTK_USE_CHARTS})
  121. set(KIT_SRCS
  122. ctkVTKChartView.cpp
  123. ctkVTKChartView.h
  124. ctkVTKVolumePropertyWidget.cpp
  125. ctkVTKVolumePropertyWidget.h
  126. ctkVTKScalarsToColorsView.cpp
  127. ctkVTKScalarsToColorsView.h
  128. ctkVTKScalarsToColorsWidget.cpp
  129. ctkVTKScalarsToColorsWidget.h
  130. ${KIT_SRCS})
  131. set(KIT_MOC_SRCS
  132. ctkVTKChartView.h
  133. ctkVTKVolumePropertyWidget.h
  134. ctkVTKScalarsToColorsView.h
  135. ctkVTKScalarsToColorsWidget.h
  136. ${KIT_MOC_SRCS})
  137. set(KIT_UI_FORMS
  138. Resources/UI/ctkVTKVolumePropertyWidget.ui
  139. Resources/UI/ctkVTKScalarsToColorsWidget.ui
  140. ${KIT_UI_FORMS})
  141. if(${VTK_VERSION_MAJOR} GREATER 5)
  142. set(VTK_LIBRARIES
  143. vtkChartsCore
  144. ${VTK_LIBRARIES})
  145. else()
  146. set(VTK_LIBRARIES
  147. vtkCharts
  148. ${VTK_LIBRARIES})
  149. endif()
  150. add_definitions(-DCTK_USE_CHARTS)
  151. endif()
  152. # Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
  153. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  154. ctkFunctionGetTargetLibraries(KIT_target_libraries)
  155. # If we use QtTessting, we add all the dependencies
  156. if(CTK_USE_QTTESTING)
  157. list(APPEND KIT_SRCS
  158. ctkVTKRenderViewEventPlayer.cpp
  159. ctkVTKRenderViewEventPlayer.h
  160. ctkVTKRenderViewEventTranslator.cpp
  161. ctkVTKRenderViewEventTranslator.h
  162. )
  163. list(APPEND KIT_MOC_SRCS
  164. ctkVTKRenderViewEventPlayer.h
  165. ctkVTKRenderViewEventTranslator.h
  166. )
  167. list(APPEND KIT_target_libraries QtTesting)
  168. endif()
  169. ctkMacroBuildLib(
  170. NAME ${PROJECT_NAME}
  171. EXPORT_DIRECTIVE ${KIT_export_directive}
  172. SRCS ${KIT_SRCS}
  173. MOC_SRCS ${KIT_MOC_SRCS}
  174. UI_FORMS ${KIT_UI_FORMS}
  175. TARGET_LIBRARIES ${KIT_target_libraries}
  176. RESOURCES ${KIT_resources}
  177. LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  178. )
  179. if(CTK_WRAP_PYTHONQT_FULL OR CTK_WRAP_PYTHONQT_LIGHT)
  180. ctkMacroBuildLibWrapper(
  181. TARGET ${PROJECT_NAME}
  182. SRCS ${KIT_SRCS}
  183. WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  184. )
  185. endif()
  186. # Plugins
  187. if(CTK_BUILD_QTDESIGNER_PLUGINS)
  188. add_subdirectory(Plugins)
  189. endif()
  190. # Testing
  191. if(BUILD_TESTING)
  192. add_subdirectory(Testing)
  193. endif()