CMakeLists.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. project(CTKVisualizationVTKCore)
  2. #
  3. # 3rd party dependencies
  4. #
  5. include(${VTK_USE_FILE})
  6. if(CTK_LIB_Scripting/Python/Core AND CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
  7. find_package(PythonQt REQUIRED)
  8. endif()
  9. #
  10. # See CTK/CMake/ctkMacroBuildLib.cmake for details
  11. #
  12. set(KIT_export_directive "CTK_VISUALIZATION_VTK_CORE_EXPORT")
  13. # Source files
  14. set(KIT_SRCS
  15. ctkVTKConnection.cpp
  16. ctkVTKConnection.h
  17. ctkVTKErrorLogMessageHandler.cpp
  18. ctkVTKErrorLogMessageHandler.h
  19. ctkVTKObject.h
  20. ctkVTKObjectEventsObserver.cpp
  21. ctkVTKObjectEventsObserver.h
  22. vtkLightBoxRendererManager.cpp
  23. vtkLightBoxRendererManager.h
  24. )
  25. # Headers that should run through moc
  26. set(KIT_MOC_SRCS
  27. ctkVTKConnection.h
  28. ctkVTKObjectEventsObserver.h
  29. )
  30. # UI files
  31. set(KIT_UI_FORMS
  32. )
  33. # Resources
  34. set(KIT_resources
  35. )
  36. if(CTK_LIB_Scripting/Python/Core AND CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
  37. list(APPEND KIT_SRCS
  38. ctkVTKPythonQtWrapperFactory.cpp
  39. )
  40. endif()
  41. if(CTK_LIB_Scripting/Python/Core AND CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
  42. include_directories(
  43. ${PYTHON_INCLUDE_DIRS}
  44. ${PYTHONQT_INCLUDE_DIR}
  45. )
  46. endif()
  47. # Set VTK_LIBRARIES variable
  48. if(${VTK_VERSION_MAJOR} GREATER 5)
  49. set(VTK_LIBRARIES
  50. # a few of these have to be specified explicitly to workaround
  51. # underlinked libraries from the debian VTK package
  52. # see Debian bug #747436
  53. vtkCommonCore
  54. vtkCommonDataModel
  55. vtkCommonSystem
  56. vtkIOImage
  57. vtkInteractionStyle
  58. vtkRenderingAnnotation
  59. vtkRenderingCore
  60. vtkRenderingFreeTypeOpenGL
  61. vtkRenderingOpenGL
  62. )
  63. if(TARGET vtkIOMPIImage)
  64. list(APPEND VTK_LIBRARIES vtkIOMPIImage )
  65. endif()
  66. if(TARGET vtkRenderingMatplotlib)
  67. list(APPEND VTK_LIBRARIES vtkRenderingMatplotlib )
  68. endif()
  69. if(TARGET vtkTestingRendering)
  70. list(APPEND VTK_LIBRARIES vtkTestingRendering )
  71. endif()
  72. if (TARGET vtkRenderingFreeTypeFontConfig AND UNIX AND NOT APPLE)
  73. find_package(FontConfig QUIET)
  74. if (FONTCONFIG_FOUND)
  75. list(APPEND VTK_LIBRARIES
  76. vtkRenderingFreeTypeFontConfig
  77. )
  78. endif()
  79. endif()
  80. else()
  81. set(VTK_LIBRARIES
  82. vtkCommon
  83. vtkFiltering
  84. vtkRendering
  85. vtkHybrid
  86. )
  87. endif()
  88. if(CTK_LIB_Scripting/Python/Core AND CTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK)
  89. list(APPEND VTK_LIBRARIES ${PYTHON_LIBRARY} ${PYTHONQT_LIBRARIES})
  90. if(${VTK_VERSION_MAJOR} GREATER 5)
  91. list(APPEND VTK_LIBRARIES vtkWrappingPythonCore)
  92. elseif(${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR} VERSION_GREATER 5.6)
  93. list(APPEND VTK_LIBRARIES vtkPythonCore)
  94. else()
  95. list(APPEND VTK_LIBRARIES vtkCommonPythonD)
  96. endif()
  97. endif()
  98. if(Q_WS_X11)
  99. # If the faster 'gold' linker is used, to avoid complaints about undefined symbol
  100. # 'XGetWindowAttributes', 'XCreateWindow', ..., let's link against X11 libraries.
  101. find_package(X11)
  102. list(APPEND VTK_LIBRARIES ${X11_LIBRARIES})
  103. endif()
  104. # Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
  105. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  106. ctkFunctionGetTargetLibraries(KIT_target_libraries)
  107. ctkMacroBuildLib(
  108. NAME ${PROJECT_NAME}
  109. EXPORT_DIRECTIVE ${KIT_export_directive}
  110. SRCS ${KIT_SRCS}
  111. MOC_SRCS ${KIT_MOC_SRCS}
  112. UI_FORMS ${KIT_UI_FORMS}
  113. TARGET_LIBRARIES ${KIT_target_libraries}
  114. RESOURCES ${KIT_resources}
  115. LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  116. )
  117. if(CTK_WRAP_PYTHONQT_LIGHT)
  118. ctkMacroBuildLibWrapper(
  119. TARGET ${PROJECT_NAME}
  120. SRCS ${KIT_SRCS}
  121. WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  122. )
  123. endif()
  124. # Plugins
  125. #if(CTK_BUILD_QTDESIGNER_PLUGINS)
  126. # add_subdirectory(Plugins)
  127. #endif()
  128. # Testing
  129. if(BUILD_TESTING)
  130. add_subdirectory(Testing)
  131. endif()