mirror of
https://git.pwmt.org/pwmt/zathura.git
synced 2024-11-10 16:53:46 +01:00
Convert to meson based build system
This commit is contained in:
parent
49e1bd1b8c
commit
85458ef87e
279
Makefile
279
Makefile
@ -1,279 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
include config.mk
|
|
||||||
include colors.mk
|
|
||||||
include common.mk
|
|
||||||
|
|
||||||
# source files
|
|
||||||
OSOURCE = $(sort $(wildcard ${PROJECT}/*.c) \
|
|
||||||
${PROJECT}/resources.c)
|
|
||||||
SOURCE_FILTER =
|
|
||||||
|
|
||||||
ifneq (${WITH_SQLITE},0)
|
|
||||||
CPPFLAGS += -DWITH_SQLITE
|
|
||||||
else
|
|
||||||
SOURCE_FILTER += ${PROJECT}/database-sqlite.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(WITH_MAGIC),0)
|
|
||||||
CPPFLAGS += -DWITH_MAGIC
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(WITH_SYNCTEX),0)
|
|
||||||
CPPFLAGS += -DWITH_SYNCTEX
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(wildcard ${VALGRIND_SUPPRESSION_FILE}),)
|
|
||||||
VALGRIND_ARGUMENTS += --suppressions=${VALGRIND_SUPPRESSION_FILE}
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq (,$(findstring -DZATHURA_PLUGINDIR,${CPPFLAGS}))
|
|
||||||
CPPFLAGS += -DZATHURA_PLUGINDIR=\"${PLUGINDIR}\"
|
|
||||||
endif
|
|
||||||
ifeq (,$(findstring -DGETTEXT_PACKAGE,${CPPFLAGS}))
|
|
||||||
CPPFLAGS += -DGETTEXT_PACKAGE=\"${PROJECT}\"
|
|
||||||
endif
|
|
||||||
ifeq (,$(findstring -DLOCALEDIR,${CPPFLAGS}))
|
|
||||||
CPPFLAGS += -DLOCALEDIR=\"${LOCALEDIR}\"
|
|
||||||
endif
|
|
||||||
|
|
||||||
SOURCE = $(filter-out $(SOURCE_FILTER),$(OSOURCE))
|
|
||||||
OBJECTS = $(addprefix ${BUILDDIR_RELEASE}/,${SOURCE:.c=.o})
|
|
||||||
OBJECTS_DEBUG = $(addprefix ${BUILDDIR_DEBUG}/,${SOURCE:.c=.o})
|
|
||||||
OBJECTS_GCOV = $(addprefix ${BUILDDIR_GCOV}/,${SOURCE:.c=.o})
|
|
||||||
HEADERINST = $(addprefix ${PROJECT}/,version.h document.h macros.h page.h types.h plugin-api.h links.h)
|
|
||||||
|
|
||||||
all: options ${PROJECT} po build-manpages
|
|
||||||
|
|
||||||
# pkg-config based version checks
|
|
||||||
.version-checks/%: config.mk
|
|
||||||
$(QUIET)test $($(*)_VERSION_CHECK) -eq 0 || \
|
|
||||||
${PKG_CONFIG} --atleast-version $($(*)_MIN_VERSION) $($(*)_PKG_CONFIG_NAME) || ( \
|
|
||||||
echo "The minimum required version of $(*) is $($(*)_MIN_VERSION)" && \
|
|
||||||
false \
|
|
||||||
)
|
|
||||||
@mkdir -p .version-checks
|
|
||||||
$(QUIET)touch $@
|
|
||||||
|
|
||||||
options:
|
|
||||||
@echo ${PROJECT} build options:
|
|
||||||
@echo "CFLAGS = ${CFLAGS}"
|
|
||||||
@echo "LIBS = ${LIBS}"
|
|
||||||
@echo "DFLAGS = ${DFLAGS}"
|
|
||||||
@echo "CC = ${CC}"
|
|
||||||
|
|
||||||
# generated files
|
|
||||||
|
|
||||||
${PROJECT}/version.h: ${PROJECT}/version.h.in config.mk
|
|
||||||
$(QUIET)sed -e 's/ZVMAJOR/${ZATHURA_VERSION_MAJOR}/' \
|
|
||||||
-e 's/ZVMINOR/${ZATHURA_VERSION_MINOR}/' \
|
|
||||||
-e 's/ZVREV/${ZATHURA_VERSION_REV}/' \
|
|
||||||
-e 's/ZVAPI/${ZATHURA_API_VERSION}/' \
|
|
||||||
-e 's/ZVABI/${ZATHURA_ABI_VERSION}/' ${PROJECT}/version.h.in > ${PROJECT}/version.h.tmp
|
|
||||||
$(QUIET)mv ${PROJECT}/version.h.tmp ${PROJECT}/version.h
|
|
||||||
|
|
||||||
${PROJECT}/resources.%: data/zathura.gresource.xml config.mk
|
|
||||||
$(call colorecho,GEN,$@)
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $@)
|
|
||||||
$(QUIET)$(GLIB_COMPILE_RESOURCES) --generate --c-name=zathura_resources --internal \
|
|
||||||
--dependency-file=$(DEPENDDIR)/$@.dep \
|
|
||||||
--sourcedir=data --target=$@ data/zathura.gresource.xml
|
|
||||||
|
|
||||||
# common dependencies
|
|
||||||
|
|
||||||
${OBJECTS} ${OBJECTS_DEBUG} ${OBJECTS_GCOV}: config.mk \
|
|
||||||
.version-checks/GIRARA \
|
|
||||||
.version-checks/GLIB \
|
|
||||||
.version-checks/GTK \
|
|
||||||
${PROJECT}/version.h \
|
|
||||||
${PROJECT}/resources.h
|
|
||||||
|
|
||||||
# rlease build
|
|
||||||
|
|
||||||
${BUILDDIR_RELEASE}/%.o: %.c
|
|
||||||
$(call colorecho,CC,$<)
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $@)
|
|
||||||
@mkdir -p $(dir $(abspath $@))
|
|
||||||
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} -o $@ $< -MMD -MF ${DEPENDDIR}/$@.dep
|
|
||||||
|
|
||||||
${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}: ${OBJECTS}
|
|
||||||
$(call colorecho,CC,$@)
|
|
||||||
@mkdir -p ${BUILDDIR_RELEASE}/${BINDIR}
|
|
||||||
$(QUIET)${CC} ${SFLAGS} ${LDFLAGS} \
|
|
||||||
-o ${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT} ${OBJECTS} ${LIBS}
|
|
||||||
|
|
||||||
${PROJECT}: ${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
release: ${PROJECT}
|
|
||||||
|
|
||||||
run: release
|
|
||||||
$(QUIET)./${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
# debug build
|
|
||||||
|
|
||||||
${BUILDDIR_DEBUG}/%.o: %.c
|
|
||||||
$(call colorecho,CC,$<)
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $@)
|
|
||||||
@mkdir -p $(dir $(abspath $@))
|
|
||||||
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} ${DFLAGS} \
|
|
||||||
-o $@ $< -MMD -MF ${DEPENDDIR}/$@.dep
|
|
||||||
|
|
||||||
${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}: ${OBJECTS_DEBUG}
|
|
||||||
$(call colorecho,CC,$@)
|
|
||||||
@mkdir -p ${BUILDDIR_DEBUG}/${BINDIR}
|
|
||||||
$(QUIET)${CC} ${LDFLAGS} \
|
|
||||||
-o ${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT} ${OBJECTS_DEBUG} ${LIBS}
|
|
||||||
|
|
||||||
debug: ${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
run-debug: debug
|
|
||||||
$(QUIET)./${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
# gcov build
|
|
||||||
|
|
||||||
${BUILDDIR_GCOV}/%.o: %.c
|
|
||||||
$(call colorecho,CC,$<)
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $@)
|
|
||||||
@mkdir -p $(dir $(abspath $@))
|
|
||||||
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} ${GCOV_CFLAGS} \
|
|
||||||
-o $@ $< -MMD -MF ${DEPENDDIR}/$@.dep
|
|
||||||
|
|
||||||
${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}: ${OBJECTS_GCOV}
|
|
||||||
$(call colorecho,CC,$@)
|
|
||||||
@mkdir -p ${BUILDDIR_GCOV}/${BINDIR}
|
|
||||||
$(QUIET)${CC} ${LDFLAGS} ${GCOV_CFLAGS} ${GCOV_LDFLAGS} \
|
|
||||||
-o ${BUILDDIR_GCOV}/${BINDIR}/${PROJECT} ${OBJECTS_GCOV} ${LIBS}
|
|
||||||
|
|
||||||
gcov: options ${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}
|
|
||||||
$(QUIET)${MAKE} -C tests run-gcov
|
|
||||||
$(call colorecho,LCOV,"Analyse data")
|
|
||||||
$(QUIET)${LCOV_EXEC} ${LCOV_FLAGS}
|
|
||||||
$(call colorecho,LCOV,"Generate report")
|
|
||||||
$(QUIET)${GENHTML_EXEC} ${GENHTML_FLAGS}
|
|
||||||
|
|
||||||
run-gcov: ${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}
|
|
||||||
$(QUIET)./${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
# clean
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(QUIET)rm -rf \
|
|
||||||
${BUILDDIR} \
|
|
||||||
${DEPENDDIR} \
|
|
||||||
${TARFILE} \
|
|
||||||
${TARDIR} \
|
|
||||||
${PROJECT}.pc \
|
|
||||||
${PROJECT}/version.h \
|
|
||||||
${PROJECT}/version.h.tmp \
|
|
||||||
${PROJECT}/resources.c \
|
|
||||||
${PROJECT}/resources.h \
|
|
||||||
$(PROJECT).info \
|
|
||||||
gcov \
|
|
||||||
.version-checks
|
|
||||||
$(QUIET)$(MAKE) -C tests clean
|
|
||||||
$(QUIET)$(MAKE) -C po clean
|
|
||||||
$(QUIET)$(MAKE) -C doc clean
|
|
||||||
|
|
||||||
${PROJECT}.pc: ${PROJECT}.pc.in config.mk
|
|
||||||
$(QUIET)echo project=${PROJECT} > ${PROJECT}.pc
|
|
||||||
$(QUIET)echo version=${VERSION} >> ${PROJECT}.pc
|
|
||||||
$(QUIET)echo apiversion=${ZATHURA_API_VERSION} >> ${PROJECT}.pc
|
|
||||||
$(QUIET)echo abiversion=${ZATHURA_ABI_VERSION} >> ${PROJECT}.pc
|
|
||||||
$(QUIET)echo includedir=${INCLUDEDIR} >> ${PROJECT}.pc
|
|
||||||
$(QUIET)echo plugindir=${PLUGINDIR} >> ${PROJECT}.pc
|
|
||||||
$(QUIET)echo GTK_VERSION=3 >> ${PROJECT}.pc
|
|
||||||
$(QUIET)cat ${PROJECT}.pc.in >> ${PROJECT}.pc
|
|
||||||
|
|
||||||
valgrind: debug
|
|
||||||
$(QUIET)G_SLICE=always-malloc G_DEBUG=gc-friendly ${VALGRIND} ${VALGRIND_ARGUMENTS} \
|
|
||||||
${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
gdb: debug
|
|
||||||
$(QUIET)cgdb ${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
test: ${OBJECTS}
|
|
||||||
$(QUIET)$(MAKE) -C tests run
|
|
||||||
|
|
||||||
dist: clean build-manpages
|
|
||||||
$(QUIET)tar -czf $(TARFILE) --exclude=.gitignore \
|
|
||||||
--transform 's,^,zathura-$(VERSION)/,' \
|
|
||||||
`git ls-files` \
|
|
||||||
doc/_build/$(PROJECT).1 doc/_build/$(PROJECT)rc.5
|
|
||||||
|
|
||||||
doc:
|
|
||||||
$(QUIET)$(MAKE) -C doc
|
|
||||||
|
|
||||||
po:
|
|
||||||
$(QUIET)${MAKE} -C po
|
|
||||||
|
|
||||||
update-po:
|
|
||||||
$(QUIET)${MAKE} -C po update-po
|
|
||||||
|
|
||||||
build-manpages:
|
|
||||||
$(QUIET)${MAKE} -C doc man
|
|
||||||
|
|
||||||
install-manpages: build-manpages
|
|
||||||
$(call colorecho,INSTALL,"man pages")
|
|
||||||
$(QUIET)mkdir -m 755 -p ${DESTDIR}${MANPREFIX}/man1 ${DESTDIR}${MANPREFIX}/man5
|
|
||||||
ifneq "$(wildcard doc/_build/${PROJECT}.1)" ""
|
|
||||||
$(QUIET)install -m 644 doc/_build/${PROJECT}.1 ${DESTDIR}${MANPREFIX}/man1
|
|
||||||
endif
|
|
||||||
ifneq "$(wildcard doc/_build/${PROJECT}rc.5)" ""
|
|
||||||
$(QUIET)install -m 644 doc/_build/${PROJECT}rc.5 ${DESTDIR}${MANPREFIX}/man5
|
|
||||||
endif
|
|
||||||
|
|
||||||
install-headers: ${PROJECT}.pc
|
|
||||||
$(call colorecho,INSTALL,"header files")
|
|
||||||
$(QUIET)mkdir -m 755 -p ${DESTDIR}${INCLUDEDIR}/${PROJECT}
|
|
||||||
$(QUIET)install -m 644 ${HEADERINST} ${DESTDIR}${INCLUDEDIR}/${PROJECT}
|
|
||||||
|
|
||||||
$(call colorecho,INSTALL,"pkgconfig file")
|
|
||||||
$(QUIET)mkdir -m 755 -p ${DESTDIR}${LIBDIR}/pkgconfig
|
|
||||||
$(QUIET)install -m 644 ${PROJECT}.pc ${DESTDIR}${LIBDIR}/pkgconfig
|
|
||||||
|
|
||||||
install-dbus:
|
|
||||||
$(call colorecho,INSTALL,"D-Bus interface definitions")
|
|
||||||
$(QUIET)mkdir -m 755 -p $(DESTDIR)$(DBUSINTERFACEDIR)
|
|
||||||
$(QUIET)install -m 644 data/org.pwmt.zathura.xml $(DESTDIR)$(DBUSINTERFACEDIR)
|
|
||||||
|
|
||||||
install-appdata:
|
|
||||||
$(call colorecho,INSTALL,"AppData file")
|
|
||||||
$(QUIET)mkdir -m 755 -p $(DESTDIR)$(APPDATAPREFIX)
|
|
||||||
$(QUIET)install -m 644 data/$(PROJECT).appdata.xml $(DESTDIR)$(APPDATAPREFIX)
|
|
||||||
|
|
||||||
install: all install-headers install-manpages install-dbus install-appdata
|
|
||||||
$(call colorecho,INSTALL,"executeable file")
|
|
||||||
$(QUIET)mkdir -m 755 -p ${DESTDIR}${PREFIX}/bin
|
|
||||||
$(QUIET)install -m 755 ${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT} ${DESTDIR}${PREFIX}/bin
|
|
||||||
$(QUIET)mkdir -m 755 -p ${DESTDIR}${DESKTOPPREFIX}
|
|
||||||
$(call colorecho,INSTALL,"desktop file")
|
|
||||||
$(QUIET)install -m 644 ${PROJECT}.desktop ${DESTDIR}${DESKTOPPREFIX}
|
|
||||||
$(MAKE) -C po install
|
|
||||||
|
|
||||||
uninstall-headers:
|
|
||||||
$(call colorecho,UNINSTALL,"header files")
|
|
||||||
$(QUIET)rm -rf ${DESTDIR}${INCLUDEDIR}/${PROJECT}
|
|
||||||
$(call colorecho,UNINSTALL,"pkgconfig file")
|
|
||||||
$(QUIET)rm -f ${DESTDIR}${LIBDIR}/pkgconfig/${PROJECT}.pc
|
|
||||||
|
|
||||||
uninstall: uninstall-headers
|
|
||||||
$(ECHO) removing executable file
|
|
||||||
$(call colorecho,UNINSTALL,"executeable")
|
|
||||||
$(QUIET)rm -f ${DESTDIR}${PREFIX}/bin/${PROJECT}
|
|
||||||
$(call colorecho,UNINSTALL,"man pages")
|
|
||||||
$(QUIET)rm -f ${DESTDIR}${MANPREFIX}/man1/${PROJECT}.1
|
|
||||||
$(QUIET)rm -f ${DESTDIR}${MANPREFIX}/man5/${PROJECT}rc.5
|
|
||||||
$(call colorecho,UNINSTALL,"desktop file")
|
|
||||||
$(QUIET)rm -f ${DESTDIR}${DESKTOPPREFIX}/${PROJECT}.desktop
|
|
||||||
$(call colorecho,UNINSTALL,"D-Bus interface definitions")
|
|
||||||
$(QUIET)rm -f $(DESTDIR)$(DBUSINTERFACEDIR)/org.pwmt.zathura.xml
|
|
||||||
$(call colorecho,UNINSTALL,"AppData file")
|
|
||||||
$(QUIET)rm -f $(DESTDIR)$(APPDATAPREFIX)/$(PROJECT).appdata.xml
|
|
||||||
$(MAKE) -C po uninstall
|
|
||||||
|
|
||||||
DEPENDS = ${DEPENDDIRS:^=${DEPENDDIR}/}$(addprefix ${DEPENDDIR}/,${OBJECTS:.o=.o.dep})
|
|
||||||
-include ${DEPENDS}
|
|
||||||
|
|
||||||
.PHONY: all options clean doc debug valgrind gdb dist doc install uninstall \
|
|
||||||
test po install-headers uninstall-headers update-po install-manpages \
|
|
||||||
build-manpages install-dbus
|
|
31
colors.mk
31
colors.mk
@ -1,31 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
ifeq ($(COLOR),1)
|
|
||||||
# GCC diagnostics colors
|
|
||||||
DIAGNOSTICS_COLOR_AVAILABLE ?= $(shell ($(CC) -fdiagnostics-color=always -E - </dev/null >/dev/null 2>/dev/null && echo 1) || echo 0)
|
|
||||||
ifeq ($(DIAGNOSTICS_COLOR_AVAILABLE),1)
|
|
||||||
CPPFLAGS += -fdiagnostics-color=always
|
|
||||||
endif
|
|
||||||
|
|
||||||
# colorful output
|
|
||||||
TPUT ?= /usr/bin/tput
|
|
||||||
TPUT_AVAILABLE ?= $(shell ${TPUT} -V 2>/dev/null)
|
|
||||||
|
|
||||||
ifdef TPUT_AVAILABLE
|
|
||||||
COLOR_NORMAL = `$(TPUT) sgr0`
|
|
||||||
COLOR_ACTION = `$(TPUT) bold``$(TPUT) setaf 3`
|
|
||||||
COLOR_COMMENT = `$(TPUT) bold``$(TPUT) setaf 2`
|
|
||||||
COLOR_BRACKET = `$(TPUT) setaf 4`
|
|
||||||
define colorecho
|
|
||||||
@echo $(COLOR_BRACKET)" ["$(COLOR_ACTION)$1$(COLOR_BRACKET)"] "$(COLOR_COMMENT)$2$(COLOR_BRACKET) $(COLOR_NORMAL)
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define colorecho
|
|
||||||
@echo " [$1]" $2
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
define colorecho
|
|
||||||
@echo " [$1]" $2
|
|
||||||
endef
|
|
||||||
endif
|
|
@ -1,9 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
ifeq "$(VERBOSE)" "0"
|
|
||||||
ECHO=@echo
|
|
||||||
QUIET=@
|
|
||||||
else
|
|
||||||
ECHO=@\#
|
|
||||||
QUIET=
|
|
||||||
endif
|
|
173
config.mk
173
config.mk
@ -1,173 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
# zathura make config
|
|
||||||
|
|
||||||
# project
|
|
||||||
PROJECT = zathura
|
|
||||||
|
|
||||||
ZATHURA_VERSION_MAJOR = 0
|
|
||||||
ZATHURA_VERSION_MINOR = 3
|
|
||||||
ZATHURA_VERSION_REV = 8
|
|
||||||
# If the API changes, the API version and the ABI version have to be bumped.
|
|
||||||
ZATHURA_API_VERSION = 2
|
|
||||||
# If the ABI breaks for any reason, this has to be bumped.
|
|
||||||
ZATHURA_ABI_VERSION = 3
|
|
||||||
VERSION = ${ZATHURA_VERSION_MAJOR}.${ZATHURA_VERSION_MINOR}.${ZATHURA_VERSION_REV}
|
|
||||||
|
|
||||||
# version checks
|
|
||||||
# If you want to disable any of the checks, set *_VERSION_CHECK to 0.
|
|
||||||
|
|
||||||
# girara
|
|
||||||
GIRARA_VERSION_CHECK ?= 1
|
|
||||||
GIRARA_MIN_VERSION = 0.2.8
|
|
||||||
GIRARA_PKG_CONFIG_NAME = girara-gtk3
|
|
||||||
# glib
|
|
||||||
GLIB_VERSION_CHECK ?= 1
|
|
||||||
GLIB_MIN_VERSION = 2.50
|
|
||||||
GLIB_PKG_CONFIG_NAME = glib-2.0
|
|
||||||
# GTK
|
|
||||||
GTK_VERSION_CHECK ?= 1
|
|
||||||
GTK_MIN_VERSION = 3.10
|
|
||||||
GTK_PKG_CONFIG_NAME = gtk+-3.0
|
|
||||||
|
|
||||||
# pkg-config binary
|
|
||||||
PKG_CONFIG ?= pkg-config
|
|
||||||
|
|
||||||
# glib-compile-resources
|
|
||||||
GLIB_COMPILE_RESOURCES ?= glib-compile-resources
|
|
||||||
|
|
||||||
# database
|
|
||||||
# To disable support for the sqlite backend set WITH_SQLITE to 0.
|
|
||||||
WITH_SQLITE ?= $(shell (${PKG_CONFIG} --atleast-version=3.5.9 sqlite3 && echo 1) || echo 0)
|
|
||||||
|
|
||||||
# synctex
|
|
||||||
# To disable support for synctex with libsynctex set WITH_SYNCTEX to 0.
|
|
||||||
WITH_SYNCTEX ?= $(shell (${PKG_CONFIG} synctex && echo 1) || echo 0)
|
|
||||||
|
|
||||||
# mimetype detection
|
|
||||||
# To disable support for mimetype detction with libmagic set WITH_MAGIC to 0.
|
|
||||||
WITH_MAGIC ?= 1
|
|
||||||
|
|
||||||
# paths
|
|
||||||
PREFIX ?= /usr
|
|
||||||
MANPREFIX ?= ${PREFIX}/share/man
|
|
||||||
DESKTOPPREFIX ?= ${PREFIX}/share/applications
|
|
||||||
APPDATAPREFIX ?= ${PREFIX}/share/metainfo
|
|
||||||
LIBDIR ?= ${PREFIX}/lib
|
|
||||||
INCLUDEDIR ?= ${PREFIX}/include
|
|
||||||
DBUSINTERFACEDIR ?= ${PREFIX}/share/dbus-1/interfaces
|
|
||||||
VIMFTPLUGINDIR ?= ${PREFIX}/share/vim/addons/ftplugin
|
|
||||||
DEPENDDIR ?= .depend
|
|
||||||
BUILDDIR ?= build
|
|
||||||
BUILDDIR_RELEASE ?= ${BUILDDIR}/release
|
|
||||||
BUILDDIR_DEBUG ?= ${BUILDDIR}/debug
|
|
||||||
BUILDDIR_GCOV ?= ${BUILDDIR}/gcov
|
|
||||||
BINDIR ?= bin
|
|
||||||
|
|
||||||
# plugin directory
|
|
||||||
PLUGINDIR ?= ${LIBDIR}/zathura
|
|
||||||
# locale directory
|
|
||||||
LOCALEDIR ?= ${PREFIX}/share/locale
|
|
||||||
|
|
||||||
# libs
|
|
||||||
ifeq (${GTK_INC}-${GTK_LIB},-)
|
|
||||||
PKG_CONFIG_LIBS += gtk+-3.0
|
|
||||||
else
|
|
||||||
INCS += ${GTK_INC}
|
|
||||||
LIBS += ${GTK_LIB}
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq (${GLIB_INC}-${GLIB_LIB},-)
|
|
||||||
PKG_CONFIG_LIBS += gthread-2.0 gmodule-no-export-2.0 glib-2.0
|
|
||||||
else
|
|
||||||
INCS += ${GLIB_INC}
|
|
||||||
LIBS += ${GLIB_LIB}
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq (${GIRARA_INC}-${GIRARA_LIB},-)
|
|
||||||
PKG_CONFIG_LIBS += girara-gtk3
|
|
||||||
else
|
|
||||||
INCS += ${GIRARA_INC}
|
|
||||||
LIBS += ${GIRARA_LIB}
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (${WITH_SQLITE},0)
|
|
||||||
ifeq (${SQLITE_INC}-${SQLITE_LIB},-)
|
|
||||||
PKG_CONFIG_LIBS += sqlite3
|
|
||||||
else
|
|
||||||
INCS += ${SQLITE_INC}
|
|
||||||
LIBS += ${SQLITE_LIB}
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (${WITH_MAGIC},0)
|
|
||||||
MAGIC_INC ?=
|
|
||||||
MAGIC_LIB ?= -lmagic
|
|
||||||
|
|
||||||
INCS += ${MAGIC_INC}
|
|
||||||
LIBS += ${MAGIC_LIB}
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(WITH_SYNCTEX),0)
|
|
||||||
ifeq (${SYNCTEX_INC}-${SYNCTEX_LIB},-)
|
|
||||||
PKG_CONFIG_LIBS += synctex
|
|
||||||
else
|
|
||||||
INCS += ${SYNCTEX_INC}
|
|
||||||
LIBS += ${SYNCTEX_LIB}
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (${PKG_CONFIG_LIBS},)
|
|
||||||
INCS += $(shell ${PKG_CONFIG} --cflags ${PKG_CONFIG_LIBS})
|
|
||||||
LIBS += $(shell ${PKG_CONFIG} --libs ${PKG_CONFIG_LIBS})
|
|
||||||
endif
|
|
||||||
LIBS += -lpthread -lm
|
|
||||||
|
|
||||||
# pre-processor flags
|
|
||||||
CPPFLAGS += -D_FILE_OFFSET_BITS=64
|
|
||||||
|
|
||||||
# compiler flags
|
|
||||||
CFLAGS += -std=c11 -pedantic -Wall -Wno-format-zero-length -Wextra $(INCS)
|
|
||||||
|
|
||||||
# debug
|
|
||||||
DFLAGS ?= -g
|
|
||||||
|
|
||||||
# linker flags
|
|
||||||
LDFLAGS += -rdynamic
|
|
||||||
|
|
||||||
# compiler
|
|
||||||
CC ?= gcc
|
|
||||||
|
|
||||||
# strip
|
|
||||||
SFLAGS ?= -s
|
|
||||||
|
|
||||||
# msgfmt
|
|
||||||
MSGFMT ?= msgfmt
|
|
||||||
|
|
||||||
# gcov & lcov
|
|
||||||
GCOV_CFLAGS=-fprofile-arcs -ftest-coverage
|
|
||||||
GCOV_LDFLAGS=-fprofile-arcs
|
|
||||||
LCOV_OUTPUT=gcov
|
|
||||||
LCOV_EXEC=lcov
|
|
||||||
LCOV_FLAGS=--base-directory . --directory ${BUILDDIR_GCOV} --capture --rc \
|
|
||||||
lcov_branch_coverage=1 --output-file ${BUILDDIR_GCOV}/$(PROJECT).info
|
|
||||||
GENHTML_EXEC=genhtml
|
|
||||||
GENHTML_FLAGS=--rc lcov_branch_coverage=1 --output-directory ${LCOV_OUTPUT} ${BUILDDIR_GCOV}/$(PROJECT).info
|
|
||||||
|
|
||||||
# valgrind
|
|
||||||
VALGRIND = valgrind
|
|
||||||
VALGRIND_ARGUMENTS = --tool=memcheck --leak-check=yes --leak-resolution=high \
|
|
||||||
--show-reachable=yes --log-file=zathura-valgrind.log
|
|
||||||
VALGRIND_SUPPRESSION_FILE = zathura.suppression
|
|
||||||
|
|
||||||
# set to something != 0 if you want verbose build output
|
|
||||||
VERBOSE ?= 0
|
|
||||||
|
|
||||||
# gettext package name
|
|
||||||
GETTEXT_PACKAGE ?= ${PROJECT}
|
|
||||||
|
|
||||||
# colors
|
|
||||||
COLOR ?= 1
|
|
||||||
|
|
||||||
# dist
|
|
||||||
TARFILE = ${PROJECT}-${VERSION}.tar.gz
|
|
||||||
TARDIR = ${PROJECT}-${VERSION}
|
|
10
data/meson.build
Normal file
10
data/meson.build
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
gnome = import('gnome')
|
||||||
|
zathura_resources = gnome.compile_resources(
|
||||||
|
'resources',
|
||||||
|
'zathura.gresource.xml',
|
||||||
|
c_name: 'zathura_resources',
|
||||||
|
dependencies: files('zathura.css_t', 'org.pwmt.zathura.xml')
|
||||||
|
)
|
||||||
|
|
||||||
|
install_data('zathura.appdata.xml', install_dir: metainfodir)
|
||||||
|
install_data('org.pwmt.zathura.xml', install_dir: dbusinterfacesdir)
|
55
doc/Makefile
55
doc/Makefile
@ -1,55 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
#
|
|
||||||
include ../config.mk
|
|
||||||
include ../common.mk
|
|
||||||
include ../colors.mk
|
|
||||||
include config.mk
|
|
||||||
|
|
||||||
MAN_SOURCES=$(wildcard man/*.rst) $(wildcard man/*.txt) man/conf.py
|
|
||||||
DOXYGEN_SOURCES=$(wildcard ../zathura/*.h) Doxyfile
|
|
||||||
HTML_SOURCES=$(wildcard *.rst api/*.rst configuration/*.rst installation/*.rst usage/*.rst) conf.py
|
|
||||||
|
|
||||||
SPHINX_OPTS+=-d $(SPHINX_BUILDDIR)/doctrees
|
|
||||||
|
|
||||||
all: man html
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(call colorecho,RM,doc/$(SPHINX_BUILDDIR))
|
|
||||||
$(QUIET)rm -rf $(SPHINX_BUILDDIR)/
|
|
||||||
|
|
||||||
$(SPHINX_BUILDDIR)/html/index.html: $(HTML_SOURCES) $(SPHINX_BUILDDIR)/doxygen/xml/index.xml
|
|
||||||
$(QUIET)mkdir -p $(SPHINX_BUILDDIR)/html
|
|
||||||
$(call colorecho,DOC,"Build HTML documentation")
|
|
||||||
$(QUIET)$(SPHINX_BIN) -b html $(SPHINX_OPTS) . $(SPHINX_BUILDDIR)/html
|
|
||||||
|
|
||||||
$(SPHINX_BUILDDIR)/zathura.1: $(MAN_SOURCES)
|
|
||||||
$(QUIET)mkdir -p $(SPHINX_BUILDDIR)
|
|
||||||
$(call colorecho,DOC,"Build man pages")
|
|
||||||
$(QUIET)$(SPHINX_BIN) -b man $(SPHINX_OPTS) man $(SPHINX_BUILDDIR)
|
|
||||||
|
|
||||||
$(SPHINX_BUILDDIR)/zathurarc.5: $(SPHINX_BUILDDIR)/zathura.1
|
|
||||||
@if test -f $@; then :; else \
|
|
||||||
rm -f $(SPHINX_BUILDDIR)/zathura.1; \
|
|
||||||
$(MAKE) $(SPHINX_BUILDDIR)/zathura.1; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
$(SPHINX_BUILDDIR)/doxygen/xml/index.xml: $(DOXYGEN_SOURCES)
|
|
||||||
$(QUIET)mkdir -p $(SPHINX_BUILDDIR)/doxygen/xml
|
|
||||||
$(call colorecho,DOC,"Run doxygen")
|
|
||||||
$(QUIET)$(DOXYGEN_BIN) Doxyfile
|
|
||||||
|
|
||||||
ifeq ($(shell which $(SPHINX_BIN) >/dev/null 2>&1; echo $$?), 1)
|
|
||||||
man:
|
|
||||||
html:
|
|
||||||
else
|
|
||||||
man: $(SPHINX_BUILDDIR)/zathura.1 $(SPHINX_BUILDDIR)/zathurarc.5
|
|
||||||
|
|
||||||
# TODO: Make a better test for breathe and sphinx_rtd_theme
|
|
||||||
ifeq ($(shell which $(DOXYGEN_BIN) >/dev/null 2>&1 && $(PYTHON_BIN) -c "import breathe; import sphinx_rtd_theme" >/dev/null 2>&1; echo $$?), 0)
|
|
||||||
html: $(SPHINX_BUILDDIR)/html/index.html
|
|
||||||
else
|
|
||||||
html:
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: clean html man all
|
|
@ -1,8 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
SPHINX_BIN ?= sphinx-build
|
|
||||||
SPHINX_BUILDDIR = _build
|
|
||||||
SPHINX_OPTS ?=
|
|
||||||
DOXYGEN_BIN ?= doxygen
|
|
||||||
# This needs to be the same python interpreter as used by sphinx-build
|
|
||||||
PYTHON_BIN ?= python
|
|
23
doc/meson.build
Normal file
23
doc/meson.build
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
sphinx = find_program('sphinx-build')
|
||||||
|
custom_target('man pages',
|
||||||
|
command: [sphinx, '-b', 'man', join_paths(meson.current_source_dir(), 'man'), meson.current_build_dir()],
|
||||||
|
output: ['zathura.1', 'zathurarc.5'],
|
||||||
|
input: [
|
||||||
|
'man/conf.py',
|
||||||
|
'man/_bindings.txt',
|
||||||
|
'man/_commands.txt',
|
||||||
|
'man/_options.txt',
|
||||||
|
'man/_synopsis.txt',
|
||||||
|
'man/zathurarc.5.rst',
|
||||||
|
'man/_bugs.txt',
|
||||||
|
'man/_configuration.txt',
|
||||||
|
'man/_description.txt',
|
||||||
|
'man/_synctex.txt',
|
||||||
|
'man/zathura.1.rst'
|
||||||
|
],
|
||||||
|
build_by_default: true
|
||||||
|
)
|
||||||
|
install_man(
|
||||||
|
join_paths(meson.current_build_dir(), 'zathura.1'),
|
||||||
|
join_paths(meson.current_build_dir(), 'zathurarc.5')
|
||||||
|
)
|
190
meson.build
Normal file
190
meson.build
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
project('zathura', 'c',
|
||||||
|
version: '0.3.8',
|
||||||
|
meson_version: '>=0.43',
|
||||||
|
default_options: 'c_std=c11',
|
||||||
|
)
|
||||||
|
|
||||||
|
version = meson.project_version()
|
||||||
|
version_array = version.split('.')
|
||||||
|
|
||||||
|
# Rules for so_major and so_minor:
|
||||||
|
# Before a release perform the following checks against the last release:
|
||||||
|
# * If a function has been removed or the paramaters of a function have changed
|
||||||
|
# bump SOMAJOR and set SOMINOR to 0.
|
||||||
|
# * If any of the exported datastructures have changed in a incompatible way
|
||||||
|
# bump SOMAJOR and set SOMINOR to 0.
|
||||||
|
# * If a function has been added bump SOMINOR.
|
||||||
|
plugin_api_version = '2'
|
||||||
|
plugin_abi_version = '3'
|
||||||
|
|
||||||
|
conf_data = configuration_data()
|
||||||
|
conf_data.set('ZVMAJOR', version_array[0])
|
||||||
|
conf_data.set('ZVMINOR', version_array[1])
|
||||||
|
conf_data.set('ZVREV', version_array[2])
|
||||||
|
conf_data.set('ZVAPI', plugin_api_version)
|
||||||
|
conf_data.set('ZVABI', plugin_abi_version)
|
||||||
|
conf_data.set('version', version)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c', required: false)
|
||||||
|
|
||||||
|
prefix = get_option('prefix')
|
||||||
|
localedir = get_option('localedir')
|
||||||
|
datadir = get_option('datadir')
|
||||||
|
metainfodir = join_paths(datadir, 'metainfo')
|
||||||
|
desktopdir = join_paths(datadir, 'applications')
|
||||||
|
dbusinterfacesdir = join_paths(datadir, 'dbus-1', 'interfaces')
|
||||||
|
plugindir = join_paths(get_option('libdir'), 'zathura')
|
||||||
|
|
||||||
|
# required dependencies
|
||||||
|
libm = cc.find_library('libm')
|
||||||
|
girara = dependency('girara-gtk3', version: '>=0.2.8')
|
||||||
|
glib = dependency('glib-2.0', version: '>=2.50')
|
||||||
|
gthread = dependency('gthread-2.0', version: '>=2.50')
|
||||||
|
gmodule = dependency('gmodule-no-export-2.0', version: '>=2.50')
|
||||||
|
gtk3 = dependency('gtk+-3.0', version: '>=3.10')
|
||||||
|
|
||||||
|
build_dependencies = [libm, girara, glib, gthread, gmodule, gtk3]
|
||||||
|
|
||||||
|
# defines
|
||||||
|
defines = [
|
||||||
|
'-DGETTEXT_PACKAGE="zathura"',
|
||||||
|
'-DLOCALEDIR="@0@"'.format(join_paths(prefix, localedir)),
|
||||||
|
'-DZATHURA_PLUGINDIR="@0@"'.format(join_paths(prefix, plugindir)),
|
||||||
|
'-D_DEFAULT_SOURCE',
|
||||||
|
]
|
||||||
|
|
||||||
|
# compile flags
|
||||||
|
flags = [
|
||||||
|
'-Wall',
|
||||||
|
'-Wextra',
|
||||||
|
'-pedantic',
|
||||||
|
'-Werror=implicit-function-declaration'
|
||||||
|
]
|
||||||
|
flags = cc.get_supported_arguments(flags)
|
||||||
|
|
||||||
|
# linker flags
|
||||||
|
linker_flags = [
|
||||||
|
'-rdynamic'
|
||||||
|
]
|
||||||
|
linker_flags = cc.get_supported_arguments(linker_flags)
|
||||||
|
|
||||||
|
# optional dependencies
|
||||||
|
additional_sources = []
|
||||||
|
sqlite = dependency('sqlite3', version: '>=3.5.9', required: false)
|
||||||
|
synctex = dependency('synctex', required: false)
|
||||||
|
magic = cc.find_library('magic', required: false)
|
||||||
|
|
||||||
|
if get_option('enable-sqlite') and sqlite.found()
|
||||||
|
build_dependencies += sqlite
|
||||||
|
defines += '-DWITH_SQLITE'
|
||||||
|
additional_sources = files('zathura/database-sqlite.c')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if get_option('enable-synctex') and synctex.found()
|
||||||
|
build_dependencies += synctex
|
||||||
|
defines += '-DWITH_SYNCTEX'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if get_option('enable-magic') and magic.found()
|
||||||
|
build_dependencies += magic
|
||||||
|
defines += '-DWITH_MAGIC'
|
||||||
|
endif
|
||||||
|
|
||||||
|
# generate version header file
|
||||||
|
version_header = configure_file(
|
||||||
|
input: 'zathura/version.h.in',
|
||||||
|
output: 'version.h',
|
||||||
|
configuration: conf_data
|
||||||
|
)
|
||||||
|
include_directories = [
|
||||||
|
include_directories('.')
|
||||||
|
]
|
||||||
|
|
||||||
|
subdir('data')
|
||||||
|
subdir('po')
|
||||||
|
|
||||||
|
# source files
|
||||||
|
sources = files(
|
||||||
|
'zathura/adjustment.c',
|
||||||
|
'zathura/bookmarks.c',
|
||||||
|
'zathura/callbacks.c',
|
||||||
|
'zathura/checked-integer-arithmetic.c',
|
||||||
|
'zathura/commands.c',
|
||||||
|
'zathura/completion.c',
|
||||||
|
'zathura/config.c',
|
||||||
|
'zathura/content-type.c',
|
||||||
|
'zathura/database.c',
|
||||||
|
'zathura/database-plain.c',
|
||||||
|
'zathura/dbus-interface.c',
|
||||||
|
'zathura/document.c',
|
||||||
|
'zathura/file-monitor.c',
|
||||||
|
'zathura/file-monitor-glib.c',
|
||||||
|
'zathura/file-monitor-signal.c',
|
||||||
|
'zathura/jumplist.c',
|
||||||
|
'zathura/links.c',
|
||||||
|
'zathura/marks.c',
|
||||||
|
'zathura/page.c',
|
||||||
|
'zathura/page-widget.c',
|
||||||
|
'zathura/plugin.c',
|
||||||
|
'zathura/print.c',
|
||||||
|
'zathura/render.c',
|
||||||
|
'zathura/shortcuts.c',
|
||||||
|
'zathura/synctex.c',
|
||||||
|
'zathura/types.c',
|
||||||
|
'zathura/utils.c',
|
||||||
|
'zathura/zathura.c',
|
||||||
|
)
|
||||||
|
sources += zathura_resources
|
||||||
|
sources += additional_sources
|
||||||
|
|
||||||
|
# header fiels to install
|
||||||
|
headers = files(
|
||||||
|
'zathura/document.h',
|
||||||
|
'zathura/links.h',
|
||||||
|
'zathura/macros.h',
|
||||||
|
'zathura/page.h',
|
||||||
|
'zathura/plugin-api.h',
|
||||||
|
'zathura/types.h',
|
||||||
|
)
|
||||||
|
headers += version_header
|
||||||
|
|
||||||
|
# zathura helper library
|
||||||
|
libzathura = static_library('zathura',
|
||||||
|
sources,
|
||||||
|
dependencies: build_dependencies,
|
||||||
|
include_directories: include_directories,
|
||||||
|
c_args: defines + flags
|
||||||
|
)
|
||||||
|
|
||||||
|
# zathura executable
|
||||||
|
zathura = executable(
|
||||||
|
'zathura',
|
||||||
|
files('zathura/main.c'),
|
||||||
|
dependencies: build_dependencies + [declare_dependency(link_with: libzathura)],
|
||||||
|
install: true,
|
||||||
|
include_directories: include_directories,
|
||||||
|
c_args: defines + flags,
|
||||||
|
link_args: linker_flags, # replace with export_dynamic: true once we have meson >= 0.45
|
||||||
|
gui_app: true
|
||||||
|
)
|
||||||
|
install_headers(headers, subdir: 'zathura')
|
||||||
|
|
||||||
|
# pkg-config file
|
||||||
|
pkg = import('pkgconfig')
|
||||||
|
pkg.generate(
|
||||||
|
name: 'zathura',
|
||||||
|
description: 'document viewer - plugin API',
|
||||||
|
url: 'https://pwmt.org/projects/zathura',
|
||||||
|
version: version,
|
||||||
|
requires_private: ['girara-gtk3', 'cairo'],
|
||||||
|
variables: [
|
||||||
|
'apiversion=@0@'.format(plugin_api_version),
|
||||||
|
'abiversion=@0@'.format(plugin_abi_version),
|
||||||
|
'plugindir=${libdir}/zathura'
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
install_data('zathura.desktop', install_dir: desktopdir)
|
||||||
|
|
||||||
|
subdir('doc')
|
||||||
|
subdir('tests')
|
15
meson_options.txt
Normal file
15
meson_options.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
option('enable-sqlite',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Enable sqlite support if available.'
|
||||||
|
)
|
||||||
|
option('enable-synctex',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Enable synctex support if available.'
|
||||||
|
)
|
||||||
|
option('enable-magic',
|
||||||
|
type: 'boolean',
|
||||||
|
value: true,
|
||||||
|
description: 'Enable magic support if available.'
|
||||||
|
)
|
21
po/LINGUAS
Normal file
21
po/LINGUAS
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
ca
|
||||||
|
cs
|
||||||
|
de
|
||||||
|
el
|
||||||
|
eo
|
||||||
|
es_CL
|
||||||
|
es
|
||||||
|
et
|
||||||
|
fr
|
||||||
|
he
|
||||||
|
hr
|
||||||
|
id_ID
|
||||||
|
it
|
||||||
|
lt
|
||||||
|
no
|
||||||
|
pl
|
||||||
|
pt_BR
|
||||||
|
ru
|
||||||
|
ta_IN
|
||||||
|
tr
|
||||||
|
uk_UA
|
58
po/Makefile
58
po/Makefile
@ -1,58 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
include ../config.mk
|
|
||||||
include ../common.mk
|
|
||||||
include ../colors.mk
|
|
||||||
|
|
||||||
PROJECT = zathura
|
|
||||||
CATALOGS = $(sort $(wildcard *.po))
|
|
||||||
LINGUAS ?= $(patsubst %.po, %, $(CATALOGS))
|
|
||||||
ifeq ($(LINGUAS),)
|
|
||||||
ALINGUAS =
|
|
||||||
else
|
|
||||||
ALINGUAS = $(shell find $(patsubst %, %.po, $(LINGUAS)) 2>/dev/null)
|
|
||||||
endif
|
|
||||||
MOS = $(patsubst %, %/LC_MESSAGES/${GETTEXT_PACKAGE}.mo, $(patsubst %.po, %, $(ALINGUAS)))
|
|
||||||
|
|
||||||
all: ${MOS}
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(QUIET)rm -rf POTFILES.in POTFILES.in.tmp $(patsubst %.po, %, $(CATALOGS)) ${PROJECT}.pot
|
|
||||||
|
|
||||||
POTFILES.in: $(sort $(wildcard ../zathura/*.c))
|
|
||||||
$(QUIET) set -e && rm -f $@.tmp && touch $@.tmp && \
|
|
||||||
for f in $(^F) ; do \
|
|
||||||
echo zathura/$$f >> $@.tmp ; \
|
|
||||||
done && \
|
|
||||||
mv $@.tmp $@
|
|
||||||
|
|
||||||
${GETTEXT_PACKAGE}.pot: POTFILES.in
|
|
||||||
$(ECHO) regenerate $@
|
|
||||||
$(QUIET)intltool-update --pot --gettext-package=${GETTEXT_PACKAGE}
|
|
||||||
|
|
||||||
update-po: ${GETTEXT_PACKAGE}.pot
|
|
||||||
$(call colorecho,PO,"Updating po files ${CATALOGS}")
|
|
||||||
$(QUIET)set -e && for f in ${CATALOGS} ; do \
|
|
||||||
intltool-update --dist --gettext-package=${GETTEXT_PACKAGE} `echo $$f | sed 's/\.po//'` ; \
|
|
||||||
sed -i 's/Report-Msgid-Bugs-To: \\n/Report-Msgid-Bugs-To: http:\/\/bugs.pwmt.org\\n/' "$$f" ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
%/LC_MESSAGES/${GETTEXT_PACKAGE}.mo: %.po
|
|
||||||
@mkdir -p $(@D)
|
|
||||||
$(call colorecho,MSGFMT,$(shell echo $< | sed 's/\.po//'))
|
|
||||||
$(QUIET)${MSGFMT} ${MSGFMTFLAGS} -c $< -o $@
|
|
||||||
|
|
||||||
install: ${MOS}
|
|
||||||
$(call colorecho,INSTALL,"Install translations")
|
|
||||||
$(QUIET)set -e && for f in $^ ; do \
|
|
||||||
mkdir -p -m 755 $(DESTDIR)$(LOCALEDIR)/`dirname $$f`; \
|
|
||||||
install -m 644 $$f $(DESTDIR)$(LOCALEDIR)/`dirname $$f` ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
uninstall: ${MOS}
|
|
||||||
$(call colorecho,UNINSTALL,"Uninstall translations")
|
|
||||||
$(QUIET)set -e && for f in $^ ; do \
|
|
||||||
rm -f $(LOCALEDIR)/$$f; \
|
|
||||||
done
|
|
||||||
|
|
||||||
.PHONY: all clean install uninstall update-po
|
|
30
po/POTFILES
Normal file
30
po/POTFILES
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
zathura/adjustment.c
|
||||||
|
zathura/bookmarks.c
|
||||||
|
zathura/callbacks.c
|
||||||
|
zathura/checked-integer-arithmetic.c
|
||||||
|
zathura/commands.c
|
||||||
|
zathura/completion.c
|
||||||
|
zathura/config.c
|
||||||
|
zathura/content-type.c
|
||||||
|
zathura/database-plain.c
|
||||||
|
zathura/database-sqlite.c
|
||||||
|
zathura/database.c
|
||||||
|
zathura/dbus-interface.c
|
||||||
|
zathura/document.c
|
||||||
|
zathura/file-monitor-glib.c
|
||||||
|
zathura/file-monitor-signal.c
|
||||||
|
zathura/file-monitor.c
|
||||||
|
zathura/jumplist.c
|
||||||
|
zathura/links.c
|
||||||
|
zathura/main.c
|
||||||
|
zathura/marks.c
|
||||||
|
zathura/page-widget.c
|
||||||
|
zathura/page.c
|
||||||
|
zathura/plugin.c
|
||||||
|
zathura/print.c
|
||||||
|
zathura/render.c
|
||||||
|
zathura/shortcuts.c
|
||||||
|
zathura/synctex.c
|
||||||
|
zathura/types.c
|
||||||
|
zathura/utils.c
|
||||||
|
zathura/zathura.c
|
4
po/meson.build
Normal file
4
po/meson.build
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
i18n = import('i18n')
|
||||||
|
i18n.gettext('zathura',
|
||||||
|
preset: 'glib'
|
||||||
|
)
|
132
tests/Makefile
132
tests/Makefile
@ -1,132 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
include ../config.mk
|
|
||||||
include ../colors.mk
|
|
||||||
include ../common.mk
|
|
||||||
|
|
||||||
include config.mk
|
|
||||||
|
|
||||||
PROJECT = tests
|
|
||||||
SOURCE = tests.c $(wildcard test_*.c)
|
|
||||||
OBJECTS = $(addprefix ${BUILDDIR_RELEASE}/,${SOURCE:.c=.o})
|
|
||||||
OBJECTS_DEBUG = $(addprefix ${BUILDDIR_DEBUG}/,${SOURCE:.c=.o})
|
|
||||||
OBJECTS_GCOV = $(addprefix ${BUILDDIR_GCOV}/,${SOURCE:.c=.o})
|
|
||||||
|
|
||||||
FILTER = %/main.o
|
|
||||||
|
|
||||||
ifneq (${WITH_SQLITE},0)
|
|
||||||
CPPFLAGS += -DWITH_SQLITE
|
|
||||||
else
|
|
||||||
FILTER += %/database-sqlite.o
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(WITH_MAGIC),0)
|
|
||||||
CPPFLAGS += -DWITH_MAGIC
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(WITH_SYNCTEX),0)
|
|
||||||
CPPFLAGS += -DWITH_SYNCTEX
|
|
||||||
endif
|
|
||||||
|
|
||||||
ZATHURA_OBJECTS = \
|
|
||||||
$(filter-out $(FILTER), $(wildcard ../${BUILDDIR_RELEASE}/zathura/*.o))
|
|
||||||
ZATHURA_OBJECTS_DEBUG = \
|
|
||||||
$(filter-out $(FILTER), $(wildcard ../${BUILDDIR_DEBUG}/zathura/*.o))
|
|
||||||
ZATHURA_OBJECTS_GCOV= \
|
|
||||||
$(filter-out $(FILTER), $(wildcard ../${BUILDDIR_GCOV}/zathura/*.o))
|
|
||||||
|
|
||||||
ifneq ($(wildcard ${VALGRIND_SUPPRESSION_FILE}),)
|
|
||||||
VALGRIND_ARGUMENTS += --suppressions=${VALGRIND_SUPPRESSION_FILE}
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: release
|
|
||||||
|
|
||||||
# release
|
|
||||||
|
|
||||||
${OBJECTS}: config.mk ../config.mk ../zathura/version.h
|
|
||||||
|
|
||||||
${BUILDDIR_RELEASE}/%.o: %.c
|
|
||||||
$(call colorecho,CC,$<)
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $(abspath $@))
|
|
||||||
@mkdir -p $(dir $(abspath $@))
|
|
||||||
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} \
|
|
||||||
-o $@ $< -MMD -MF ${DEPENDDIR}/$(abspath $@).dep
|
|
||||||
|
|
||||||
${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}: ${OBJECTS}
|
|
||||||
$(QUIET)${MAKE} WITH_LIBFIU=1 -C .. ${BUILDDIR_RELEASE}/${BINDIR}/zathura
|
|
||||||
$(call colorecho,CC,$@)
|
|
||||||
@mkdir -p ${BUILDDIR_RELEASE}/${BINDIR}
|
|
||||||
$(QUIET)${CC} ${SFLAGS} ${LDFLAGS} \
|
|
||||||
-o ${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT} \
|
|
||||||
${OBJECTS} ${ZATHURA_OBJECTS} ${LIBS}
|
|
||||||
|
|
||||||
release: ${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
run: ${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}
|
|
||||||
$(QUIET)${FIU_EXEC} ./${BUILDDIR_RELEASE}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
# debug
|
|
||||||
|
|
||||||
${OBJECTS_DEBUG}: config.mk ../config.mk ../zathura/version.h
|
|
||||||
|
|
||||||
${BUILDDIR_DEBUG}/%.o: %.c
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $(abspath $@))
|
|
||||||
@mkdir -p $(dir $(abspath $@))
|
|
||||||
$(call colorecho,CC,$<)
|
|
||||||
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} ${DFLAGS} \
|
|
||||||
-o $@ $< -MMD -MF ${DEPENDDIR}/$(abspath $@).dep
|
|
||||||
|
|
||||||
${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}: ${OBJECTS_DEBUG}
|
|
||||||
$(QUIET)${MAKE} WITH_LIBFIU=1 -C .. ${BUILDDIR_DEBUG}/${BINDIR}/zathura
|
|
||||||
$(call colorecho,CC,$@)
|
|
||||||
@mkdir -p ${BUILDDIR_DEBUG}/${BINDIR}
|
|
||||||
$(QUIET)${CC} ${SFLAGS} ${LDFLAGS} \
|
|
||||||
-o ${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT} \
|
|
||||||
${OBJECTS} ${ZATHURA_OBJECTS_DEBUG} ${LIBS}
|
|
||||||
|
|
||||||
debug: ${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
run-debug: ${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
$(QUIET)${FIU_EXEC} ./${BUILDDIR_DEBUG}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
# gcov
|
|
||||||
|
|
||||||
${OBJECTS_GCOV}: config.mk ../config.mk ../zathura/version.h
|
|
||||||
|
|
||||||
${BUILDDIR_GCOV}/%.o: %.c
|
|
||||||
@mkdir -p ${DEPENDDIR}/$(dir $(abspath $@))
|
|
||||||
@mkdir -p $(dir $(abspath $@))
|
|
||||||
$(call colorecho,CC,$<)
|
|
||||||
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} ${GCOV_CFLAGS} ${DFLAGS} ${GCOV_DFLAGS} \
|
|
||||||
-o $@ $< -MMD -MF ${DEPENDDIR}/$(abspath $@).dep
|
|
||||||
|
|
||||||
${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}: ${OBJECTS_GCOV}
|
|
||||||
$(QUIET)${MAKE} WITH_LIBFIU=1 -C .. ${BUILDDIR_GCOV}/${BINDIR}/zathura
|
|
||||||
$(call colorecho,CC,$@)
|
|
||||||
@mkdir -p ${BUILDDIR_GCOV}/${BINDIR}
|
|
||||||
$(QUIET)${CC} ${SFLAGS} ${LDFLAGS} ${GCOV_CFLAGS} ${GCOV_LDFLAGS} \
|
|
||||||
-o ${BUILDDIR_GCOV}/${BINDIR}/${PROJECT} \
|
|
||||||
${OBJECTS} ${ZATHURA_OBJECTS_GCOV} ${LIBS}
|
|
||||||
|
|
||||||
gcov: ${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
run-gcov: gcov
|
|
||||||
$(QUIET)${FIU_EXEC} ./${BUILDDIR_GCOV}/${BINDIR}/${PROJECT}
|
|
||||||
|
|
||||||
../zathura/version.h:
|
|
||||||
$(MAKE) -C .. zathura/version.h
|
|
||||||
|
|
||||||
valgrind: ${PROJECT}-debug
|
|
||||||
$(QUIET)G_SLICE=always-malloc G_DEBUG=gc-friendly ${FIU_EXEC} ${VALGRIND} ${VALGRIND_ARGUMENTS} ./${PROJECT}-debug
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(call colorecho,RM, "Clean test files")
|
|
||||||
$(QUIET)rm -rf ${PROJECT}
|
|
||||||
$(QUIET)rm -rf ${PROJECT}-debug
|
|
||||||
$(QUIET)rm -rf ${PROJECT}-gcov
|
|
||||||
$(QUIET)rm -rf ${BUILDDIR}
|
|
||||||
$(QUIET)rm -rf ${DEPENDDIR}
|
|
||||||
|
|
||||||
.PHONY: all clean debug run
|
|
||||||
|
|
||||||
-include $(wildcard ${DEPENDDIR}/*.dep)
|
|
@ -1,17 +0,0 @@
|
|||||||
# See LICENSE file for license and copyright information
|
|
||||||
|
|
||||||
CHECK_INC ?= $(shell pkg-config --cflags check)
|
|
||||||
CHECK_LIB ?= $(shell pkg-config --libs check)
|
|
||||||
|
|
||||||
INCS += ${CHECK_INC} ${FIU_INC} -I../zathura
|
|
||||||
LIBS += ${CHECK_LIB} ${FIU_LIB}
|
|
||||||
|
|
||||||
ZATHURA_RELEASE=../${BUILDDIR_RELEASE}/${BINDIR}/zathura
|
|
||||||
ZATHURA_DEBUG=../${BUILDDIR_DEBUG}/${BINDIR}/zathura
|
|
||||||
ZATHURA_GCOV=../${BUILDDIR_GCOV}/${BINDIR}/zathura
|
|
||||||
|
|
||||||
# valgrind
|
|
||||||
VALGRIND = valgrind
|
|
||||||
VALGRIND_ARGUMENTS = --tool=memcheck --leak-check=yes --leak-resolution=high \
|
|
||||||
--show-reachable=yes --log-file=zathura-valgrind.log
|
|
||||||
VALGRIND_SUPPRESSION_FILE = zathura.suppression
|
|
24
tests/meson.build
Normal file
24
tests/meson.build
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
check = dependency('check', required: false)
|
||||||
|
if check.found()
|
||||||
|
test_dependencies = [
|
||||||
|
declare_dependency(link_with: libzathura),
|
||||||
|
check
|
||||||
|
]
|
||||||
|
|
||||||
|
include_directories += [ include_directories('../zathura') ]
|
||||||
|
|
||||||
|
test_sources = [
|
||||||
|
'tests.c',
|
||||||
|
'test_document.c',
|
||||||
|
'test_session.c',
|
||||||
|
'test_utils.c'
|
||||||
|
]
|
||||||
|
|
||||||
|
tests = executable('tests', test_sources,
|
||||||
|
dependencies: build_dependencies + test_dependencies,
|
||||||
|
include_directories: include_directories,
|
||||||
|
c_args: defines + flags
|
||||||
|
)
|
||||||
|
|
||||||
|
test('tests', tests)
|
||||||
|
endif
|
@ -1,9 +0,0 @@
|
|||||||
|
|
||||||
INC_PATH=-I${includedir}
|
|
||||||
|
|
||||||
Name: ${project}
|
|
||||||
Description: document viewer
|
|
||||||
Version: ${version}
|
|
||||||
URL: http://pwmt.org/projects/zathura
|
|
||||||
Cflags: ${INC_PATH}
|
|
||||||
Requires.private: girara-gtk${GTK_VERSION} cairo
|
|
@ -3,11 +3,11 @@
|
|||||||
#ifndef ZATHURA_VERSION_H
|
#ifndef ZATHURA_VERSION_H
|
||||||
#define ZATHURA_VERSION_H
|
#define ZATHURA_VERSION_H
|
||||||
|
|
||||||
#define ZATHURA_VERSION_MAJOR ZVMAJOR
|
#define ZATHURA_VERSION_MAJOR @ZVMAJOR@
|
||||||
#define ZATHURA_VERSION_MINOR ZVMINOR
|
#define ZATHURA_VERSION_MINOR @ZVMINOR@
|
||||||
#define ZATHURA_VERSION_REV ZVREV
|
#define ZATHURA_VERSION_REV @ZVREV@
|
||||||
#define ZATHURA_VERSION "ZVMAJOR.ZVMINOR.ZVREV"
|
#define ZATHURA_VERSION "@version@"
|
||||||
#define ZATHURA_API_VERSION ZVAPI
|
#define ZATHURA_API_VERSION @ZVAPI@
|
||||||
#define ZATHURA_ABI_VERSION ZVABI
|
#define ZATHURA_ABI_VERSION @ZVABI@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user