cmake/debian/rules
Kyle Edwards 297094e070 Set --docdir to actual destination
CMake 3.19 adds a link to the CMake reference manual in the help
menu, which attempts to open the local file if it exists, and falls
back to the internet if it does not. It searches for this local file
based on CMAKE_DOC_DIR. However, CMAKE_DOC_DIR was not being set to
the actual destination. Change CMAKE_DOC_DIR to reflect the actual
destination so that the CMake GUI can find it.
2020-10-13 17:36:00 -04:00

81 lines
2.9 KiB
Makefile
Executable File

#!/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")
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-data --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)
override_dh_missing:
dh_missing --fail-missing
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
override_dh_sphinxdoc:
dh_sphinxdoc -pcmake-doc
override_dh_strip:
dh_strip --dbgsym-migration='cmake-dbg (<< 3.5.0-1~)'
%:
dh $@ --with=sphinxdoc --builddirectory=Build
.PHONY: override_dh_auto_configure override_dh_auto_clean