VTK.cmake 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #
  2. # VTK
  3. #
  4. SET (VTK_DEPENDS)
  5. ctkMacroShouldAddExternalProject(VTK_LIBRARIES add_project)
  6. IF(${add_project})
  7. # Sanity checks
  8. IF(DEFINED VTK_DIR AND NOT EXISTS ${VTK_DIR})
  9. MESSAGE(FATAL_ERROR "VTK_DIR variable is defined but corresponds to non-existing directory")
  10. ENDIF()
  11. SET(VTK_enabling_variable VTK_LIBRARIES)
  12. SET(additional_vtk_cmakevars )
  13. IF(MINGW)
  14. SET(additional_vtk_cmakevars "-DCMAKE_USE_PTHREADS:BOOL=OFF")
  15. ENDIF()
  16. SET(proj VTK)
  17. SET(proj_DEPENDENCIES)
  18. SET(VTK_DEPENDS ${proj})
  19. IF(NOT DEFINED VTK_DIR)
  20. # MESSAGE(STATUS "Adding project:${proj}")
  21. ExternalProject_Add(${proj}
  22. GIT_REPOSITORY ${git_protocol}://vtk.org/VTK.git
  23. GIT_TAG "origin/master"
  24. INSTALL_COMMAND ""
  25. CMAKE_GENERATOR ${gen}
  26. CMAKE_ARGS
  27. ${ep_common_args}
  28. ${additional_vtk_cmakevars}
  29. -DVTK_WRAP_TCL:BOOL=OFF
  30. -DVTK_WRAP_PYTHON:BOOL=OFF
  31. -DVTK_WRAP_JAVA:BOOL=OFF
  32. -DBUILD_SHARED_LIBS:BOOL=ON
  33. -DDESIRED_QT_VERSION:STRING=4
  34. -DVTK_USE_GUISUPPORT:BOOL=ON
  35. -DVTK_USE_QVTK_QTOPENGL:BOOL=ON
  36. -DVTK_USE_QT:BOOL=ON
  37. -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
  38. DEPENDS
  39. ${proj_DEPENDENCIES}
  40. )
  41. SET(VTK_DIR ${ep_build_dir}/${proj})
  42. # Since the link directories associated with VTK is used, it makes sens to
  43. # update CTK_EXTERNAL_LIBRARY_DIRS with its associated library output directory
  44. LIST(APPEND CTK_EXTERNAL_LIBRARY_DIRS ${VTK_DIR}/bin)
  45. ELSE()
  46. ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
  47. ENDIF()
  48. SET(${VTK_enabling_variable}_INCLUDE_DIRS VTK_INCLUDE_DIRS)
  49. SET(${VTK_enabling_variable}_FIND_PACKAGE_CMD VTK)
  50. ENDIF()