File: vtkWrapping.cmake

package info (click to toggle)
vtk7 7.1.1%2Bdfsg1-12
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 125,776 kB
  • sloc: cpp: 1,539,582; ansic: 106,521; python: 78,038; tcl: 47,013; xml: 8,142; yacc: 5,040; java: 4,439; perl: 3,132; lex: 1,926; sh: 1,500; makefile: 122; objc: 83
file content (71 lines) | stat: -rw-r--r-- 2,758 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# This file ensures that any module that should be wrapped has the
# vtkWrapHierarchy command executed on it, and also dispatches to the language
# specific wrapping for each module.

# First, ensure we include the correct CMake code so that we can wrap.
if(VTK_WRAP_PYTHON)
#  include(vtkPythonWrapping)
endif()
if(VTK_WRAP_TCL)
  include(vtkTclWrapping)
endif()
if(VTK_WRAP_JAVA)
  include(vtkJavaWrapping)
endif()

include(vtkWrapHierarchy)

if(${CMAKE_VERSION} VERSION_GREATER 2.8.7.20120314)
  set(CMAKE_HAS_TARGET_INCLUDES TRUE)
endif()

# This is the main function, always called from the vtk_module_library function
# when a new module library is added.
function(vtk_add_wrapping module_name module_srcs module_hdrs)
  if(NOT ${module_name}_EXCLUDE_FROM_WRAPPING)
    set(_wrap_module FALSE)
    if(VTK_WRAP_PYTHON OR VTK_WRAP_TCL OR VTK_WRAP_JAVA)
      set(_wrap_module TRUE)
    endif()

    if(_wrap_module)
      # The list of include dirs to pass to wrapper tool command lines
      set(VTK_WRAP_INCLUDE_DIRS)
      if(${vtk-module}_DEPENDS_INCLUDE_DIRS)
        list(APPEND VTK_WRAP_INCLUDE_DIRS ${${vtk-module}_DEPENDS_INCLUDE_DIRS})
      endif()
      if(${vtk-module}_INCLUDE_DIRS)
        list(APPEND VTK_WRAP_INCLUDE_DIRS ${${vtk-module}_INCLUDE_DIRS})
      endif()
      if(${vtk-module}_SYSTEM_INCLUDE_DIRS)
        list(APPEND VTK_WRAP_INCLUDE_DIRS ${${vtk-module}_SYSTEM_INCLUDE_DIRS})
      endif()

      # The module is wrapped by at least one language - invoke wrap hierarchy.
      if(NOT ${module_name}_EXCLUDE_FROM_WRAP_HIERARCHY)
        set(_all_files ${module_srcs} ${modules_hdrs})
        vtk_wrap_hierarchy(${module_name} ${VTK_MODULES_DIR}
          "${_all_files}")
        set (${module_name}_WRAP_HIERARCHY_FILE
          "${VTK_MODULES_DIR}/${module_name}Hierarchy.txt"
          PARENT_SCOPE)
        set (${module_name}_WRAP_HIERARCHY_FILE
          "${VTK_MODULES_DIR}/${module_name}Hierarchy.txt")
      endif()

      # Now to wrap the languages that are on.
      if(VTK_WRAP_PYTHON AND NOT ${module_name}_EXCLUDE_FROM_PYTHON_WRAPPING)
        # Note that the module should be Python wrapped.
        set_property(GLOBAL APPEND PROPERTY VTK_PYTHON_WRAPPED ${module_name})
      endif()
      if(VTK_WRAP_TCL AND NOT ${module_name}_EXCLUDE_FROM_TCL_WRAPPING)
        set_property(GLOBAL APPEND PROPERTY VTK_TCL_WRAPPED ${module_name})
        vtk_add_tcl_wrapping(${module_name} "${module_srcs}" "${module_hdrs}")
      endif()
      if(VTK_WRAP_JAVA AND NOT ${module_name}_EXCLUDE_FROM_JAVA_WRAPPING)
        set_property(GLOBAL APPEND PROPERTY VTK_JAVA_WRAPPED ${module_name})
        vtk_add_java_wrapping(${module_name} "${module_srcs}" "${module_hdrs}")
      endif()
    endif()
  endif()
endfunction()