CMakeLists.txt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. #
  2. # Wrapping
  3. #
  4. PROJECT (Wrapping)
  5. #
  6. # Lib and exe path
  7. #
  8. SET (LIBRARY_OUTPUT_PATH
  9. ${Wrapping_BINARY_DIR}/bin/ CACHE PATH
  10. "Single output directory for building all libraries.")
  11. SET (EXECUTABLE_OUTPUT_PATH
  12. ${Wrapping_BINARY_DIR}/bin/ CACHE PATH
  13. "Single output directory for building all executables.")
  14. #
  15. # Where will executable tests be written ?
  16. #
  17. IF (EXECUTABLE_OUTPUT_PATH)
  18. SET (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
  19. ELSE (EXECUTABLE_OUTPUT_PATH)
  20. SET (CXX_TEST_PATH .)
  21. ENDIF (EXECUTABLE_OUTPUT_PATH)
  22. #
  23. # Add exe
  24. #
  25. ADD_EXECUTABLE (wrapping wrapping.cxx)
  26. #
  27. # Test VTK wrappers
  28. #
  29. SET (SRCS
  30. vtkExcluded
  31. vtkIncluded
  32. )
  33. WRAP_EXCLUDE_FILES (
  34. vtkExcluded
  35. )
  36. #
  37. # Specify (empty) VTK hint files
  38. #
  39. FIND_FILE(VTK_WRAP_HINTS hints ${Wrapping_SOURCE_DIR})
  40. #
  41. # Wrap VTK -> Tcl
  42. #
  43. SET (VTK_WRAP_TCL "On")
  44. SET (VTK_WRAP_TCL_EXE "echo")
  45. VTK_WRAP_TCL (wraplibTCL TCL_SRCS SRCS)
  46. ADD_CUSTOM_TARGET(wraplibTCL ALL
  47. ${CMAKE_COMMAND} -E echo "dummy target"
  48. )
  49. #
  50. # Wrap VTK -> Python
  51. #
  52. SET (VTK_WRAP_PYTHON "On")
  53. SET (VTK_WRAP_PYTHON_EXE "echo")
  54. VTK_WRAP_PYTHON (wraplibPython Python_SRCS SRCS)
  55. ADD_CUSTOM_TARGET(wraplibPython ALL
  56. ${CMAKE_COMMAND} -E echo "dummy target"
  57. )
  58. #
  59. # Wrap VTK -> Java
  60. #
  61. # VTK_WRAP_JAVA puts dependencie between wraplibJavaJavaClasses (in ALL)
  62. # and each Java wrapped class (here, vtkIncluded, so let's create a dummy one
  63. # so that the build succeeds.
  64. #
  65. SET (VTK_WRAP_JAVA "On")
  66. SET (VTK_WRAP_JAVA_EXE "echo")
  67. SET (VTK_PARSE_JAVA_EXE "echo")
  68. SET (VTK_JAVA_HOME "${Wrapping_BINARY_DIR}/java")
  69. VTK_WRAP_JAVA (wraplibJava Java_SRCS SRCS)
  70. CONFIGURE_FILE(
  71. ${Wrapping_SOURCE_DIR}/dummy
  72. ${VTK_JAVA_HOME}/vtkIncluded.java
  73. COPYONLY IMMEDIATE)
  74. ADD_CUSTOM_TARGET(wraplibJava ALL
  75. ${CMAKE_COMMAND} -E echo "dummy target"
  76. )
  77. #
  78. # QT Wrappers
  79. #
  80. SET (QT_WRAP_CPP "On")
  81. SET (QT_MOC_EXE "echo")
  82. INCLUDE( ${CMAKE_ROOT}/Modules/FindQt.cmake )
  83. IF (QT_FOUND)
  84. ADD_EXECUTABLE (qtwrapping qtwrappingmain.cxx QTUI_S_SRCS)
  85. INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
  86. INCLUDE_DIRECTORIES( ./ )
  87. LINK_LIBRARIES( ${QT_LIBRARIES} )
  88. QT_WRAP_CPP (wraplibQT QT_SRCS SRCS)
  89. SET (QT_WRAP_UI "On")
  90. SET (QT_UIC_EXE "echo")
  91. SET (QTUI_SRCS
  92. qtwrapping.ui
  93. )
  94. QT_WRAP_UI (qtwrapping QTUI_H_SRCS QTUI_S_SRCS QTUI_SRCS)
  95. ENDIF (QT_FOUND)
  96. #
  97. # FLTK Wrappers
  98. #
  99. # Since FLTK_FLUID_EXE is supposed to create a .cxx/.h from a .fl/.fld,
  100. # create an empty one so that the dependencies can be met.
  101. #
  102. SET (FLTK_SRCS
  103. fltk1.fl
  104. )
  105. SET (FLTK_WRAP_UI "On")
  106. SET (FLTK_FLUID_EXECUTABLE "echo")
  107. FLTK_WRAP_UI (wraplibFLTK FLTK_SRCS)
  108. ADD_LIBRARY (wraplibFLTK)
  109. CONFIGURE_FILE(
  110. ${Wrapping_SOURCE_DIR}/fltk1.fl
  111. ${Wrapping_BINARY_DIR}/fltk1.cxx
  112. COPYONLY)
  113. #
  114. # Mangled Mesa
  115. #
  116. CONFIGURE_FILE(
  117. ${Wrapping_SOURCE_DIR}/dummy
  118. ${Wrapping_BINARY_DIR}/gl.h
  119. COPYONLY IMMEDIATE)
  120. USE_MANGLED_MESA (${Wrapping_BINARY_DIR} ${Wrapping_BINARY_DIR}/mangled_mesa)
  121. #
  122. # Instantiator
  123. #
  124. VTK_MAKE_INSTANTIATOR(vtkWraplibInstantiator
  125. Instantiator_SRCS
  126. SRCS
  127. EXPORT_MACRO VTK_WRAPLIB_EXPORT
  128. HEADER_LOCATION ${Wrapping_BINARY_DIR}
  129. GROUP_SIZE 5)
  130. #
  131. # ITK Tcl Wrapping
  132. #
  133. SET(CABLE "echo")
  134. SET(CABLE_INCLUDE_DIR ${Wrapping_SOURCE_DIR})
  135. ADD_LIBRARY(wrapITK)
  136. ITK_WRAP_TCL(wrapITK itkWrapperConfig.cxx)
  137. CONFIGURE_FILE(${Wrapping_SOURCE_DIR}/itkWrapperConfig.cxx
  138. ${Wrapping_BINARY_DIR}/itkWrapperConfig_tcl.cxx
  139. COPYONLY IMMEDIATE)