File: CMakeLists.txt

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 (99 lines) | stat: -rw-r--r-- 2,841 bytes parent folder | download | duplicates (7)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Allow the user to customize their build with some local options
include(${VTK_SOURCE_DIR}/Wrapping/Tools/LocalUserOptions.cmake OPTIONAL)

# vtkParse.tab.c has #line markers that break #include with double quotes.
include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${VTK_BINARY_DIR}/Common/Core
  ${VTK_SOURCE_DIR}/Common/Core
  ${VTK_BINARY_DIR}/Utilities/KWSys)

set(VTK_PARSE_SOURCES
  vtkParse.h
  vtkParseType.h
  vtkParse.tab.c
  vtkParseData.c
  vtkParseMain.c
  vtkParseExtras.c
  vtkParseMangle.c
  vtkParseMerge.c
  vtkParseString.c
  vtkParseHierarchy.c
  vtkParsePreprocess.c
  vtkWrap.c
  vtkWrapText.c
)

set_source_files_properties(
  vtkParse.h
  vtkParseType.h
  HEADER_FILE_ONLY
)

# get absolute path of each header for install rules
set(VTK_PARSE_HEADERS)
foreach(arg ${VTK_PARSE_SOURCES})
  get_filename_component(src "${arg}" ABSOLUTE)
  string(REGEX REPLACE "\\.c$" ".h" hdr "${src}")
  if("${hdr}" MATCHES "\\.h$" AND EXISTS "${hdr}")
    list(APPEND VTK_PARSE_HEADERS "${hdr}")
  endif()
endforeach()

# Create a module, but the wrapper tools module is atypical so a lot of
# customization is done here.
set(${vtk-module}_LIBRARIES ${vtk-module})
vtk_module_impl()

# Wrapper tools must be statically linked
vtk_add_library(${vtk-module} STATIC ${VTK_PARSE_SOURCES})
vtk_module_export_info()

if(NOT VTK_INSTALL_NO_DEVELOPMENT)
  install(FILES ${VTK_PARSE_HEADERS}
    DESTINATION ${VTK_INSTALL_INCLUDE_DIR}
    COMPONENT Development
    )
endif()

set_property(SOURCE vtkParseMain.c PROPERTY COMPILE_DEFINITIONS
  VTK_PARSE_VERSION="${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}")

if(NOT CMAKE_CROSSCOMPILING)

  add_executable(vtkWrapHierarchy vtkWrapHierarchy.c)
  target_link_libraries(vtkWrapHierarchy vtkWrappingTools)
  vtk_compile_tools_target(vtkWrapHierarchy)

  add_executable(vtkWrapTcl vtkWrapTcl.c)
  target_link_libraries(vtkWrapTcl vtkWrappingTools)
  add_executable(vtkWrapTclInit vtkWrapTclInit.c)
  vtk_compile_tools_target(vtkWrapTcl)
  vtk_compile_tools_target(vtkWrapTclInit)

  add_executable(vtkWrapPython
    vtkWrapPython.c
    vtkWrapPythonClass.c
    vtkWrapPythonConstant.c
    vtkWrapPythonEnum.c
    vtkWrapPythonMethod.c
    vtkWrapPythonMethodDef.c
    vtkWrapPythonNamespace.c
    vtkWrapPythonOverload.c
    vtkWrapPythonTemplate.c
    vtkWrapPythonType.c
  )
  target_link_libraries(vtkWrapPython vtkWrappingTools)
  add_executable(vtkWrapPythonInit vtkWrapPythonInit.c)
  vtk_compile_tools_target(vtkWrapPython)
  vtk_compile_tools_target(vtkWrapPythonInit)

  add_executable(vtkParseJava vtkParseJava.c)
  target_link_libraries(vtkParseJava vtkWrappingTools)
  add_executable(vtkWrapJava vtkWrapJava.c)
  target_link_libraries(vtkWrapJava vtkWrappingTools)
  vtk_compile_tools_target(vtkParseJava)
  vtk_compile_tools_target(vtkWrapJava)

endif()