File: rules

package info (click to toggle)
seqan3 3.0.2%2Bds-9
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 16,052 kB
  • sloc: cpp: 144,641; makefile: 1,288; ansic: 294; sh: 228; xml: 217; javascript: 50; python: 27; php: 25
file content (97 lines) | stat: -rwxr-xr-x 4,641 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
#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

export DH_BUILD_MAINT_OPTIONS = hardening=+all
include /usr/share/dpkg/default.mk
export HOME=$(CURDIR)/fakehome
export SEQAN3_NO_VERSION_CHECK=1


# Updating any build flags? Check debian/tests/run-tests as well

# Use the gold linker where we can
ifeq (,$(filter $(DEB_HOST_ARCH),hppa ia64 m68k riscv64 sh4))
export LD=ld.gold
DEB_CFLAGS_MAINT_APPEND+=-fuse-ld=gold
DEB_CXXFLAGS_MAINT_APPEND+=-fuse-ld=gold
endif

export DEB_CFLAGS_MAINT_APPEND+=-O3
export DEB_CXXFLAGS_MAINT_APPEND+=-DNDEBUG -O3

pkgdev=libseqan3-dev

%:
	dh $@

override_dh_auto_configure:
ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES)))
	dh_auto_configure --builddirectory=build_unit --sourcedirectory=test/unit --buildsystem=cmake+ninja -- -DCCACHE_PROGRAM:FILEPATH=
	dh_auto_configure --builddirectory=build_header --sourcedirectory=test/header --buildsystem=cmake+ninja -- -DCCACHE_PROGRAM:FILEPATH=
	dh_auto_configure --builddirectory=build_snippet --sourcedirectory=test/snippet --buildsystem=cmake+ninja -- -DCCACHE_PROGRAM:FILEPATH=
	dh_auto_configure --builddirectory=build_performance --sourcedirectory=test/performance --buildsystem=cmake+ninja -- -DCCACHE_PROGRAM:FILEPATH=
endif
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_configure --builddirectory=build_documentation --sourcedirectory=test/documentation --buildsystem=cmake+ninja -- -DCCACHE_PROGRAM:FILEPATH=
endif

override_dh_auto_build:
ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES)))
	dh_auto_build --builddirectory=build_unit --sourcedirectory=test/unit --buildsystem=cmake+ninja
	#dh_auto_build --builddirectory=build_header --sourcedirectory=test/header --buildsystem=cmake+ninja
	# not on g++-9 https://github.com/seqan/seqan3/issues/1317#issuecomment-721066568
	dh_auto_build --builddirectory=build_snippet --sourcedirectory=test/snippet --buildsystem=cmake+ninja
	dh_auto_build --builddirectory=build_performance --sourcedirectory=test/performance --buildsystem=cmake+ninja
endif
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_build --builddirectory=build_documentation --sourcedirectory=test/documentation --buildsystem=cmake+ninja
endif

override_dh_auto_clean:
	dh_auto_clean --builddirectory=build_unit --sourcedirectory=test/unit --buildsystem=cmake+ninja || /bin/true
	dh_auto_clean --builddirectory=build_header --sourcedirectory=test/header --buildsystem=cmake+ninja || /bin/true
	dh_auto_clean --builddirectory=build_snippet --sourcedirectory=test/snippet --buildsystem=cmake+ninja || /bin/true
	dh_auto_clean --builddirectory=build_performance --sourcedirectory=test/performance --buildsystem=cmake+ninja || /bin/true
	dh_auto_clean --builddirectory=build_documentation --sourcedirectory=test/documentation --buildsystem=cmake+ninja || /bin/true

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES)))
	cd build_unit && /usr/bin/cmake -E cmake_echo_color --switch= --cyan "Running tests..." \
		&& /usr/bin/ctest --force-new-ctest-process --output-on-failure -E version_check_
	#dh_auto_test --builddirectory=build_header --sourcedirectory=test/header --buildsystem=cmake+ninja
	# not on g++-9 https://github.com/seqan/seqan3/issues/1317#issuecomment-721066568
	dh_auto_test --builddirectory=build_snippet --sourcedirectory=test/snippet --buildsystem=cmake+ninja
	dh_auto_test --builddirectory=build_performance --sourcedirectory=test/performance --buildsystem=cmake+ninja
endif
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	#dh_auto_test --builddirectory=build_documentation --sourcedirectory=test/documentation --buildsystem=cmake+ninja
	# not working with doxygen 1.8.20
endif
endif

override_dh_auto_install:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	rm -Rf $(CURDIR)/debian/$(pkgdev)/usr/share/doc/seqan
endif

override_dh_installdocs:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_installdocs  --doc-main-package libseqan3-dev -pseqan3-doc
	dh_installdocs  --doc-main-package libseqan3-dev -plibseqan3-dev
	dh_doxygen
else
	dh_installdocs
endif
	# Remove log file which embeds timestamps
	rm -f $(CURDIR)/debian/seqan3-doc/usr/share/doc/libseqan3-dev/html/_formulas.log

override_dh_install:
	dh_install
	if [ -d $(CURDIR)/debian/$(pkgdev) ] ; then \
	    find $(CURDIR)/debian/$(pkgdev) -type f -name LICENSE -delete ; \
	    find $(CURDIR)/debian/$(pkgdev) -type f -name license.txt -delete ; \
	    find $(CURDIR)/debian/$(pkgdev) -type f -name .gitignore -delete ; \
	fi