Gimp/app/tests/Makefile.am
Jehan b1fc539f6c tests: build the test icon theme for all platforms.
In particular, we were not building these for win32, which has no
symbolic link concept. So let's use $(LN_S) defined by autoconf for this
purpose, as it will copy files for platforms without ln support.
Moreover this way, we don't create one such folder for each and every
test run and fill up the tmp directory with countless directories, that
we never clean up.
On Win32, this fixes 3 tests which were failing because of the missing
icons.
2014-08-15 21:21:41 +00:00

150 lines
5.1 KiB
Makefile

SUBDIRS = \
files \
gimpdir \
gimpdir-empty
# Don't mess with user's gimpdir. Pass in the abs top srcdir to the
# tests through an environment variable so they can set the gimpdir
# they want to use
TESTS_ENVIRONMENT = \
GIMP_TESTING_ABS_TOP_SRCDIR=@abs_top_srcdir@ \
GIMP_TESTING_ABS_TOP_BUILDDIR=@abs_top_builddir@ \
GIMP_TESTING_PLUGINDIRS=@abs_top_builddir@/plug-ins/common \
GIMP_TESTING_PLUGINDIRS_BASENAME_IGNORES=mkgen.pl
# Run tests with xvfb-run if available
if HAVE_XVFB_RUN
TESTS_ENVIRONMENT += $(XVFB_RUN) --auto-servernum --server-args="-screen 0 1280x1024x24"
endif
TESTS = \
test-core \
test-gimpidtable \
test-save-and-export \
test-session-2-6-compatibility \
test-session-2-8-compatibility-multi-window \
test-session-2-8-compatibility-single-window \
test-single-window-mode \
test-tools \
test-ui \
test-xcf
EXTRA_PROGRAMS = $(TESTS)
CLEANFILES = $(EXTRA_PROGRAMS)
$(TESTS): gimpdir-output gimp-test-icon-theme
noinst_LIBRARIES = libgimpapptestutils.a
libgimpapptestutils_a_SOURCES = \
gimp-app-test-utils.c \
gimp-app-test-utils.h \
gimp-test-session-utils.c \
gimp-test-session-utils.h
libgimpbase = $(top_builddir)/libgimpbase/libgimpbase-$(GIMP_API_VERSION).la
libgimpconfig = $(top_builddir)/libgimpconfig/libgimpconfig-$(GIMP_API_VERSION).la
libgimpcolor = $(top_builddir)/libgimpcolor/libgimpcolor-$(GIMP_API_VERSION).la
libgimpmath = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la
libgimpmodule = $(top_builddir)/libgimpmodule/libgimpmodule-$(GIMP_API_VERSION).la
libgimpwidgets = $(top_builddir)/libgimpwidgets/libgimpwidgets-$(GIMP_API_VERSION).la
libgimpthumb = $(top_builddir)/libgimpthumb/libgimpthumb-$(GIMP_API_VERSION).la
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/app \
$(PANGOCAIRO_CFLAGS) \
$(GTK_CFLAGS) \
$(DBUS_GLIB_CFLAGS) \
$(GEGL_CFLAGS) \
-I$(includedir)
# We need this due to circular dependencies, see more detailed
# comments about it in app/Makefile.am
AM_LDFLAGS = \
-Wl,-u,$(SYMPREFIX)xcf_init \
-Wl,-u,$(SYMPREFIX)internal_procs_init \
-Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
-Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec \
-Wl,-u,$(SYMPREFIX)gui_init \
-Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \
-Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type \
-Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \
-Wl,-u,$(SYMPREFIX)actions_init \
-Wl,-u,$(SYMPREFIX)gimp_error_dialog_new \
-Wl,-u,$(SYMPREFIX)menus_save \
-Wl,-u,$(SYMPREFIX)gimp_tools_save \
-Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels \
-Wl,-u,$(SYMPREFIX)gimp_image_base_type \
-Wl,-u,$(SYMPREFIX)gimp_param_spec_duplicate \
-Wl,-u,$(SYMPREFIX)gimp_lebl_dialog
# Note that we have some duplicate entries here too to work around
# circular dependencies and systems on the same architectural layer as
# an alternative to LDFLAGS above
LDADD = \
$(top_builddir)/app/dialogs/preferences-dialog.o \
$(top_builddir)/app/gui/libappgui.a \
$(top_builddir)/app/tools/libapptools.a \
$(top_builddir)/app/dialogs/libappdialogs.a \
$(top_builddir)/app/menus/libappmenus.a \
$(top_builddir)/app/actions/libappactions.a \
$(top_builddir)/app/dialogs/libappdialogs.a \
$(top_builddir)/app/display/libappdisplay.a \
$(top_builddir)/app/widgets/libappwidgets.a \
$(top_builddir)/app/xcf/libappxcf.a \
$(top_builddir)/app/pdb/libappinternal-procs.a \
$(top_builddir)/app/pdb/libapppdb.a \
$(top_builddir)/app/plug-in/libappplug-in.a \
$(top_builddir)/app/vectors/libappvectors.a \
$(top_builddir)/app/core/libappcore.a \
$(top_builddir)/app/file/libappfile.a \
$(top_builddir)/app/text/libapptext.a \
$(top_builddir)/app/paint/libapppaint.a \
$(top_builddir)/app/config/libappconfig.a \
$(top_builddir)/app/libapp.a \
$(top_builddir)/app/gegl/libappgegl.a \
$(top_builddir)/app/operations/libappoperations.a \
libgimpapptestutils.a \
$(libgimpwidgets) \
$(libgimpconfig) \
$(libgimpmath) \
$(libgimpthumb) \
$(libgimpcolor) \
$(libgimpmodule) \
$(libgimpbase) \
$(GIMPICONRC) \
$(GTK_LIBS) \
$(DBUS_GLIB_LIBS) \
$(GDK_PIXBUF_LIBS) \
$(FREETYPE_LIBS) \
$(FONTCONFIG_LIBS) \
$(PANGOCAIRO_LIBS) \
$(HARFBUZZ_LIBS) \
$(CAIRO_LIBS) \
$(GEGL_LIBS) \
$(GIO_LIBS) \
$(GEXIV2_LIBS) \
$(LCMS_LIBS) \
$(INTLLIBS) \
$(RT_LIBS)
gimpdir-output:
mkdir -p gimpdir-output
mkdir -p gimpdir-output/brushes
mkdir -p gimpdir-output/patterns
mkdir -p gimpdir-output/gradients
gimp-test-icon-theme:
mkdir -p $$(echo $$(find ../../icons/ -name [0-9][0-9] -type d | sed 's@.*/\([0-9][0-9]\)$$@gimp-test-icon-theme/hicolor/\1x\1@'))
for dir in $$(echo $$(find ../../icons/ -name [0-9][0-9] -type d | sed 's@.*/\([0-9][0-9]\)$$@\1@')); do \
(cd gimp-test-icon-theme/hicolor/$${dir}x$${dir}/ && \
$(LN_S) ../../../../../icons/$${dir} apps); \
done
(cd gimp-test-icon-theme/hicolor && $(LN_S) ../../../../icons/index.theme index.theme)
clean-local:
rm -rf gimpdir-output
rm -fr gimp-test-icon-theme