File: rules

package info (click to toggle)
vtk9 9.5.2%2Bdfsg3-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 205,916 kB
  • sloc: cpp: 2,336,565; ansic: 327,116; python: 111,200; yacc: 4,104; java: 3,977; sh: 3,032; xml: 2,771; perl: 2,189; lex: 1,787; makefile: 178; javascript: 165; objc: 153; tcl: 59
file content (159 lines) | stat: -rwxr-xr-x 6,737 bytes parent folder | download
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#!/usr/bin/make -f
BUILDDIR = $(CURDIR)/debian/build

include /usr/share/dpkg/architecture.mk

UPSTREAM_VERSION = $(shell dpkg-parsechangelog | awk '/^Version:/ { sub("-[^-]*$$", "", $$2); print $$2}')
UPSTREAM_VERSION_ABI = $(shell echo $(UPSTREAM_VERSION) | sed -e 's/[\.\+]dfsg.*$$//' | awk 'BEGIN { FS="."}; {print $$1"."$$2 }')


nojava_archs=hppa
nojava_os=hurd
ifeq (,$(filter $(DEB_BUILD_ARCH), $(nojava_archs))$(filter $(DEB_BUILD_ARCH_OS), $(nojava_os)))
  export JAVA_HOME=/usr/lib/jvm/default-java
  extra_flags += -DVTK_WRAP_JAVA=ON
  # increase java version from 8 to 11 to remove many warnings
  extra_flags += -DVTK_JAVA_RELEASE_VERSION:STRING=11
endif

ifneq (,$(filter $(DEB_HOST_ARCH), armel m68k mips mipsel powerpc sh4))
  export DEB_CXXFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
  export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
endif

notbb_archs=
notbb_os=hurd
ifeq (,$(filter $(DEB_BUILD_ARCH), $(notbb_archs))$(filter $(DEB_BUILD_ARCH_OS), $(notbb_os)))
  extra_flags += -DVTK_SMP_IMPLEMENTATION_TYPE:STRING="TBB"
else
  extra_flags += -DVTK_SMP_IMPLEMENTATION_TYPE:STRING="OpenMP"
endif

# Work around FTBFS on Alpha (assembler error "No lda !gpdisp!")
ifneq (,$(filter $(DEB_HOST_ARCH),alpha))
  export DEB_CXXFLAGS_MAINT_APPEND += -O1
endif

%:
	dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR)

extra_flags +=  \
	-DBUILD_SHARED_LIBS=ON \
	-DHDF5_IS_PARALLEL=ON -DHDF5_PREFER_PARALLEL=YES \
	-DVTK_BUILD_EXAMPLES=OFF \
	-DVTK_BUILD_TESTING=OFF \
	-DVTK_EXTRA_COMPILER_WARNINGS=ON \
	-DVTK_GROUP_ENABLE_Imaging:STRING=YES \
	-DVTK_GROUP_ENABLE_MPI:STRING=YES \
	-DVTK_GROUP_ENABLE_Qt:STRING=YES \
	-DVTK_GROUP_ENABLE_Rendering:STRING=YES \
	-DVTK_GROUP_ENABLE_StandAlone:STRING=YES \
	-DVTK_GROUP_ENABLE_Views:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick:STRING=DONT_WANT \
	-DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL:STRING=NO \
	-DVTK_MODULE_ENABLE_VTK_InteractionImage:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_InteractionWidgets:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_IOGeoJSON:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_ParallelMPI:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2=YES \
	-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES \
	-DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_RenderingQt:STRING=YES \
	-DVTK_MODULE_ENABLE_VTK_utf8:STRING=YES \
	-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_eigen:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_expat:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_freetype:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_libproj:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_lz4:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_lzma:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_nlohmannjson:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_ogg:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_png:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_theora:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_tiff:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_utf8:BOOL=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_zlib:BOOL=ON \
	-DVTK_WRAP_PYTHON=ON \
	-DVTK_USE_MPI=ON \
	-DVTK_QT_VERSION=6

# modules required by default built of paraview 6
extra_flags +=  \
	-DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC=WANT \
	-DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib=WANT \
	-DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOGDAL=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOXdmf2=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOFFMPEG=WANT \
	-DVTK_MODULE_ENABLE_VTK_FiltersParallelDIY2=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOVPIC=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOAvmesh=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOH5part=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOH5Rage=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOOMF=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOParallelExodus=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOParallelLSDyna=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOPIO=WANT \
	-DVTK_MODULE_ENABLE_VTK_IOTRUCHAS=WANT \
	-DVTK_MODULE_ENABLE_VTK_FiltersParallelFlowPaths=WANT \
	-DVTK_MODULE_ENABLE_VTK_FiltersParallelStatistics=WANT \
	-DVTK_MODULE_ENABLE_VTK_cli11=WANT \
	-DVTK_MODULE_ENABLE_VTK_RenderingParallel=WANT \
	-DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR=WANT

# 32-bit architectures don't support all features
ifeq ($(DEB_HOST_ARCH_BITS),32)
  # ParaView::RemotingViews optionally uses VTK::vtkviskores
  # but (ThirdParty) viskores exhausts virtual memory on 32-bit architectures
  extra_flags += -DVTK_MODULE_ENABLE_VTK_vtkviskores=NO
else
  # paraview wants IOXdmf3 (configured here as IOParallelXdmf3)
  # and therefore it wants VTK:xdmf3,
  # but vtk's copy of xdmf3 fails to build on 32-bit arches, see Bug#1126484
  extra_flags += -DVTK_MODULE_ENABLE_VTK_IOParallelXdmf3=WANT

  # Adios2 is only available on 64-bit systems
  extra_flags += -DVTK_MODULE_ENABLE_VTK_IOADIOS2=WANT \
      -DCMAKE_PREFIX_PATH="$(CMAKE_PREFIX_PATH);/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/adios2/mpi"
endif

override_dh_auto_configure-indep:
	dh_auto_configure -- -DVTK_BUILD_DOCUMENTATION=ON $(extra_flags)

override_dh_auto_configure-arch:
	dh_auto_configure -- $(extra_flags)

execute_after_dh_auto_clean:
	rm -rf $(BUILDDIR)

execute_after_dh_auto_build-indep:
	cd $(BUILDDIR) && make DoxygenDoc
	find $(BUILDDIR)/Utilities/Doxygen/doc/html/ -name "*.md5" -delete

override_dh_auto_install:
	dh_auto_install -X.pyc -X.pyo
ifneq ($(JAVA_HOME),)
	mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/java/vtk.jar $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/java/vtk9.jar
endif
	sed -i -e "s/FATAL_ERROR/STATUS/g" $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/vtk-*/VTK-targets.cmake

execute_after_dh_install:
	rm -rf $(CURDIR)/debian/tmp/usr/share/licenses
	find $(CURDIR)/debian/libvtk9-dev/ -name "*Qt*" -delete || true
	find $(CURDIR)/debian/libvtk9-dev/usr/include/ -name "Q*" -delete || true
	find $(CURDIR)/debian/libvtk$(UPSTREAM_VERSION_ABI)/ -name "*Qt*" -delete || true
	find $(CURDIR)/debian/tmp/usr/share/doc/vtk-*/doxygen -name "_formulas.log" -delete || true
	find $(CURDIR)/debian/build/Utilities/Doxygen/doc/html -name "_formulas.log" -delete || true

# Fix privacy breach
execute_after_dh_installdocs-indep:
	find $(CURDIR)/debian/vtk9-doc/ -type f -print0 | xargs -0 sed -i 's/https:\/\/raw\.githubusercontent\.com//g'
	find $(CURDIR)/debian/vtk9-doc/ -type f -print0 | xargs -0 sed -i 's/https:\/\/cdn\.jsdelivr\.net\/npm\/mathjax@2/\/usr\/share\/javascript\/mathjax/g'