forked from Kitware/VTK
/
CMakeLists.txt
99 lines (85 loc) · 2.77 KB
/
CMakeLists.txt
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()