cmake/debian/rules

81 lines
2.9 KiB
Plaintext
Raw Normal View History

#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
export DEB_CXXFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
export DEB_CFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
BOOTSTRAP_PARALLEL = --parallel=$(NUMJOBS)
endif
BUILD_DATE = $(shell LC_ALL=C date -u "+%B %d, %Y" -d "@$(SOURCE_DATE_EPOCH)")
BUILD_FLAGS_FILE = build-flags.cmake
set_build_flag = echo 'set($(1) $(2) CACHE \
$(if $(filter $(2),YES ON TRUE NO OFF FALSE),BOOL,STRING) \
$(or $(3),"") FORCE)' >> $(BUILD_FLAGS_FILE)
verify_build_flag = @grep \
--include=CMakeLists.txt --include=*.cmake \
--exclude=$(BUILD_FLAGS_FILE) -rqs '\b$(1)\b' . || echo '$(1) flag is obsolete'
$(BUILD_FLAGS_FILE) verify-build-flags:
$(call $(flag_action),CMAKE_SKIP_RPATH,ON,"Skip rpath")
$(call $(flag_action),CMAKE_USE_RELATIVE_PATHS,ON,"Use relative paths")
$(call $(flag_action),CMAKE_VERBOSE_MAKEFILE,ON,"Verbose build")
$(call $(flag_action),CMAKE_C_FLAGS,"$(CFLAGS)","C flags")
$(call $(flag_action),CMAKE_CXX_FLAGS,"$(CXXFLAGS)","C++ flags")
$(call $(flag_action),CMAKE_SKIP_BOOTSTRAP_TEST,ON,"Skip BootstrapTest")
$(call $(flag_action),BUILD_CursesDialog,ON,"Build curses GUI")
2015-08-28 18:10:08 +02:00
ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
$(call $(flag_action),BUILD_QtDialog,ON,"Build Qt GUI")
endif
ifeq ($(DEB_HOST_ARCH_OS),hurd)
$(call $(flag_action),CMAKE_USE_LIBUV,0,"Do not use libuv")
endif
# $(call $(flag_action),BUILD_DOCUMENTATION,ON)
$(BUILD_FLAGS_FILE): flag_action := set_build_flag
verify-build-flags: flag_action := verify_build_flag
.PHONY: verify-build-flags
override_dh_auto_configure: $(BUILD_FLAGS_FILE)
rm -rf Build && mkdir -p Build
cd Build && ../bootstrap --prefix=/usr --docdir=/share/doc/cmake --mandir=/share/man \
--init=../$(BUILD_FLAGS_FILE) --system-libs \
--sphinx-man --sphinx-html --sphinx-flags="-D today=\"$(BUILD_DATE)\"" \
$(BOOTSTRAP_PARALLEL) --verbose
override_dh_auto_test:
# Pass -j1 to "make test" as a workaround, see https://gitlab.kitware.com/cmake/cmake/issues/17165
# The tests are still run in parallel as debhelper pass -jX as ARGS to ctest.
dh_auto_test --buildsystem=cmake -- -j1 ARGS="-E CTestTestUpload --timeout 5000"
override_dh_auto_clean:
dh_auto_clean
rm -f $(BUILD_FLAGS_FILE)
2019-11-12 20:09:30 +01:00
override_dh_missing:
2019-11-12 20:10:00 +01:00
dh_missing --fail-missing
2014-08-03 23:02:49 +02:00
override_dh_installdocs-arch:
# dh_installdocs --link-doc generates binNMU unsafe deps (Bug #747141)
dh_installdocs
override_dh_installdocs-indep:
dh_installdocs --link-doc=cmake-data
2014-08-03 23:20:39 +02:00
override_dh_sphinxdoc:
dh_sphinxdoc -pcmake-doc
2016-03-13 15:16:23 +01:00
override_dh_strip:
dh_strip --dbgsym-migration='cmake-dbg (<< 3.5.0-1~)'
%:
2018-02-16 18:06:50 +01:00
dh $@ --with=sphinxdoc --builddirectory=Build
.PHONY: override_dh_auto_configure override_dh_auto_clean