VTK.cmake 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. INSTALL_COMMAND ""
  24. CMAKE_GENERATOR ${gen}
  25. CMAKE_ARGS
  26. ${ep_common_args}
  27. ${additional_vtk_cmakevars}
  28. -DVTK_WRAP_TCL:BOOL=OFF
  29. -DVTK_WRAP_PYTHON:BOOL=OFF
  30. -DVTK_WRAP_JAVA:BOOL=OFF
  31. -DBUILD_SHARED_LIBS:BOOL=ON
  32. -DDESIRED_QT_VERSION:STRING=4
  33. -DVTK_USE_GUISUPPORT:BOOL=ON
  34. -DVTK_USE_QVTK_QTOPENGL:BOOL=ON
  35. -DVTK_USE_QT:BOOL=ON
  36. -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
  37. DEPENDS
  38. ${proj_DEPENDENCIES}
  39. )
  40. SET(VTK_DIR ${ep_build_dir}/${proj})
  41. # Since the link directories associated with VTK is used, it makes sens to
  42. # update CTK_EXTERNAL_LIBRARY_DIRS with its associated library output directory
  43. LIST(APPEND CTK_EXTERNAL_LIBRARY_DIRS ${VTK_DIR}/bin)
  44. ELSE()
  45. ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
  46. ENDIF()
  47. SET(${VTK_enabling_variable}_INCLUDE_DIRS VTK_INCLUDE_DIRS)
  48. SET(${VTK_enabling_variable}_FIND_PACKAGE_CMD VTK)
  49. ENDIF()