From fe7ba81633feafa9232546be4fef18cf37766b1f Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Tue, 11 Aug 2020 11:47:59 +0200 Subject: Build the "user version" of the code. This is how upstream recommends downstream users build the library. --- debian/rules | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) (limited to 'debian/rules') diff --git a/debian/rules b/debian/rules index 9c170d2e..c49e7c50 100755 --- a/debian/rules +++ b/debian/rules @@ -37,26 +37,34 @@ endif %: # The --buildirectory=build is there so that we can easily get a hold # of documentation and examples, which are not installed by upstream. - dh $@ $(DHFLAGS) --with=python3 --builddirectory=build + dh $@ $(DHFLAGS) --with=python3 --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh $@ $(DHFLAGS) --with=python3 --builddirectory=build$$py3ver ; \ + dh $@ $(DHFLAGS) --with=python3 --builddirectory=build-py$$py3ver/userversion ; \ + done + +execute_before_dh_auto_configure: + dh_auto_configure $(DHFLAGS) --builddirectory=build -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DPython_ADDITIONAL_VERSIONS=$(DEFAULT_PY3VER) -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein + make -C build user_version + for py3ver in $(REMAINING_PY3VERS) ; do \ + dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein ; \ + make -C build-py$$py3ver user_version ; \ done override_dh_auto_configure: - dh_auto_configure $(DHFLAGS) -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DPython_ADDITIONAL_VERSIONS=$(DEFAULT_PY3VER) -DUSER_VERSION_DIR=gudhi -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein + dh_auto_configure $(DHFLAGS) --builddirectory=build/userversion -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DPython_ADDITIONAL_VERSIONS=$(DEFAULT_PY3VER) -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_configure $(DHFLAGS) --builddirectory=build$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein ; \ + dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein ; \ done override_dh_auto_build-arch: - dh_auto_build $(DHFLAGS) --builddirectory=build + dh_auto_build $(DHFLAGS) --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_build $(DHFLAGS) --builddirectory=build$$py3ver ; \ + dh_auto_build $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion ; \ done override_dh_auto_build-indep: make -C build doxygen - dh_auto_build $(DHFLAGS) --builddirectory=build + dh_auto_build $(DHFLAGS) --builddirectory=build/userversion override_dh_auto_test-indep: @@ -64,9 +72,9 @@ override_dh_auto_test-arch: # I believe this should be handled automatically by dh_auto_test, # but see #901678. ifeq (, $(filter nocheck,$(DEB_BUILD_MAINT_OPTIONS))) - dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build + dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build$$py3ver ; \ + dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build-py$$py3ver/userversion ; \ done else @echo "Skipping tests due to nocheck flag." @@ -75,14 +83,14 @@ endif override_dh_auto_install: find src -type f -path '*/example/*' \( -name '*.cpp' -o \( -name '*.txt' -a ! -iname 'cmake*' \) \) -exec sh -c 'name=$$(echo $$0 | sed s/src\\/// | sed s/example\\///); install -D -m 644 $$0 debian/tmp/usr/share/doc/libgudhi-examples/$$name' {} \; - dh_auto_install $(DHFLAGS) --builddirectory=build + dh_auto_install $(DHFLAGS) --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_install $(DHFLAGS) --builddirectory=build$$py3ver ; \ + dh_auto_install $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion ; \ done # Remove installed information about Miniball header. - rm -f build/gudhi/include/gudhi/Miniball.COPYRIGHT - rm -f build/gudhi/include/gudhi/Miniball.README + rm build/userversion/include/gudhi/Miniball.COPYRIGHT + rm build/userversion/include/gudhi/Miniball.README mv $(TMPBIN)/Nerve \ $(TMPBIN)/gudhi-nerve -- cgit v1.2.3