Files
libgphoto2/tests/Makefile.am
2022-05-19 17:11:24 +02:00

248 lines
8.5 KiB
Makefile

########################################################################
# Housekeeping
########################################################################
EXTRA_PROGRAMS =
check_PROGRAMS =
TESTS =
INSTALL_TESTS =
noinst_PROGRAMS =
########################################################################
# Set up test environment
########################################################################
# Now that we build all the camlibs in one directory, we can run our checks
# with CAMLIBS set to the camlib build directory.
TESTS_ENVIRONMENT = env \
CAMLIBS="$(top_builddir)/camlibs"
# After installation, this will be CAMLIBS = $(DESTDIR)$(camlibdir)
INSTALL_TESTS_ENVIRONMENT = env \
CAMLIBS="$(DESTDIR)$(camlibdir)" \
LD_LIBRARY_PATH="$(DESTDIR)$(libdir)$${LD_LIBRARY_PATH+:$${LD_LIBRARY_PATH}}"
########################################################################
# Define test programs
########################################################################
# Default CPPFLAGS to use
AM_CPPFLAGS += -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/libgphoto2_port
# Test i18n
check_PROGRAMS += test-i18n
test_i18n_SOURCES = test-i18n.c
test_i18n_CPPFLAGS = $(AM_CPPFLAGS)
test_i18n_CFLAGS = $(AM_CFLAGS)
test_i18n_LDADD = $(INTLLIBS)
# Test endianness conversions
TESTS += test-endian
check_PROGRAMS += test-endian
test_endian_SOURCES = test-endian.c
test_endian_LDADD = \
$(top_builddir)/libgphoto2/libgphoto2.la \
$(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la \
$(LIBLTDL) \
$(LIBEXIF_LIBS) \
$(INTLLIBS)
# Print the libgphoto2 version information for this libgphoto2 build
noinst_PROGRAMS += print-libgphoto2-version
print_libgphoto2_version_SOURCES = print-libgphoto2-version.c
print_libgphoto2_version_LDADD =
print_libgphoto2_version_LDADD += $(top_builddir)/libgphoto2/libgphoto2.la
print_libgphoto2_version_LDADD += $(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la
print_libgphoto2_version_LDADD += $(LIBLTDL)
print_libgphoto2_version_LDADD += $(LIBEXIF_LIBS)
print_libgphoto2_version_LDADD += $(INTLLIBS)
# Test basic libgphoto2 functionality
noinst_PROGRAMS += test-gphoto2
test_gphoto2_SOURCES = test-gphoto2.c
test_gphoto2_LDADD = \
$(top_builddir)/libgphoto2/libgphoto2.la \
$(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la \
$(LIBLTDL) \
$(LIBEXIF_LIBS) \
$(INTLLIBS)
# Test gp_filesystem_* functions
noinst_PROGRAMS += test-filesys
test_filesys_SOURCES = test-filesys.c
test_filesys_LDADD = \
$(top_builddir)/libgphoto2/libgphoto2.la \
$(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la \
$(LIBLTDL) \
$(LIBEXIF_LIBS) \
$(INTLLIBS)
# Print a list of all cameras supported by this build of libgphoto2
TESTS += test-camera-list
INSTALL_TESTS += test-camera-list
check_PROGRAMS += test-camera-list
test_camera_list_SOURCES = test-camera-list.c
test_camera_list_LDADD = \
$(top_builddir)/libgphoto2/libgphoto2.la \
$(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la \
$(LIBLTDL) \
$(LIBEXIF_LIBS) \
$(INTLLIBS)
TESTS += test-init-localedir
check_PROGRAMS += test-init-localedir
test_init_localedir_LDADD =
test_init_localedir_LDADD += $(top_builddir)/libgphoto2/libgphoto2.la
test_init_localedir_LDADD += $(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la
test_init_localedir_LDADD += $(LIBLTDL)
test_init_localedir_LDADD += $(LIBEXIF_LIBS)
test_init_localedir_LDADD += $(INTLLIBS)
########################################################################
# Test pedantic compilation for multiple language standard
########################################################################
generic_pedantic_cppflags =
generic_pedantic_cppflags += -I$(top_srcdir)/libgphoto2_port
generic_pedantic_cppflags += -I$(top_srcdir)
generic_pedantic_cflags =
generic_pedantic_cxxflags =
if GP_HAVE_PEDANTIC_FLAGS_C90
TESTS += test-pedantic-c90
check_PROGRAMS += test-pedantic-c90
endif
EXTRA_PROGRAMS += test-pedantic-c90
test_pedantic_c90_SOURCES = test-pedantic-compilation.c
test_pedantic_c90_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_c90_CFLAGS = $(GP_PEDANTIC_CFLAGS_C90)
test_pedantic_c90_CFLAGS += $(generic_pedantic_cflags)
test_pedantic_c90_LDADD =
test_pedantic_c90_LDFLAGS =
if GP_HAVE_PEDANTIC_FLAGS_C99
TESTS += test-pedantic-c99
check_PROGRAMS += test-pedantic-c99
endif
EXTRA_PROGRAMS += test-pedantic-c99
test_pedantic_c99_SOURCES = test-pedantic-compilation.c
test_pedantic_c99_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_c99_CFLAGS = $(GP_PEDANTIC_CFLAGS_C99)
test_pedantic_c99_CFLAGS += $(generic_pedantic_cflags)
test_pedantic_c99_LDADD =
test_pedantic_c99_LDFLAGS =
if GP_HAVE_PEDANTIC_FLAGS_C11
TESTS += test-pedantic-c11
check_PROGRAMS += test-pedantic-c11
endif
EXTRA_PROGRAMS += test-pedantic-c11
test_pedantic_c11_SOURCES = test-pedantic-compilation.c
test_pedantic_c11_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_c11_CFLAGS = $(GP_PEDANTIC_CFLAGS_C11)
test_pedantic_c11_CFLAGS += $(generic_pedantic_cflags)
test_pedantic_c11_LDADD =
test_pedantic_c11_LDFLAGS =
if GP_HAVE_PEDANTIC_FLAGS_C2X
TESTS += test-pedantic-c2x
check_PROGRAMS += test-pedantic-c2x
endif
EXTRA_PROGRAMS += test-pedantic-c2x
test_pedantic_c2x_SOURCES = test-pedantic-compilation.c
test_pedantic_c2x_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_c2x_CFLAGS = $(GP_PEDANTIC_CFLAGS_C2X)
test_pedantic_c2x_CFLAGS += $(generic_pedantic_cflags)
test_pedantic_c2x_LDADD =
test_pedantic_c2x_LDFLAGS =
if HAVE_CXX
if GP_HAVE_PEDANTIC_FLAGS_CXX98
TESTS += test-pedantic-cxx98
check_PROGRAMS += test-pedantic-cxx98
endif
endif
EXTRA_PROGRAMS += test-pedantic-cxx98
test_pedantic_cxx98_SOURCES = test-pedantic-compilation.cxx
test_pedantic_cxx98_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_cxx98_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX98)
test_pedantic_cxx98_CXXFLAGS += $(generic_pedantic_cxxflags)
test_pedantic_cxx98_LDADD =
test_pedantic_cxx98_LDFLAGS =
if HAVE_CXX
if GP_HAVE_PEDANTIC_FLAGS_CXX11
TESTS += test-pedantic-cxx11
check_PROGRAMS += test-pedantic-cxx11
endif
endif
EXTRA_PROGRAMS += test-pedantic-cxx11
test_pedantic_cxx11_SOURCES = test-pedantic-compilation.cxx
test_pedantic_cxx11_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_cxx11_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX11)
test_pedantic_cxx11_CXXFLAGS += $(generic_pedantic_cxxflags)
test_pedantic_cxx11_LDADD =
test_pedantic_cxx11_LDFLAGS =
if HAVE_CXX
if GP_HAVE_PEDANTIC_FLAGS_CXX14
TESTS += test-pedantic-cxx14
check_PROGRAMS += test-pedantic-cxx14
endif
endif
EXTRA_PROGRAMS += test-pedantic-cxx14
test_pedantic_cxx14_SOURCES = test-pedantic-compilation.cxx
test_pedantic_cxx14_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_cxx14_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX14)
test_pedantic_cxx14_CXXFLAGS += $(generic_pedantic_cxxflags)
test_pedantic_cxx14_LDADD =
test_pedantic_cxx14_LDFLAGS =
if HAVE_CXX
if GP_HAVE_PEDANTIC_FLAGS_CXX17
TESTS += test-pedantic-cxx17
check_PROGRAMS += test-pedantic-cxx17
endif
endif
EXTRA_PROGRAMS += test-pedantic-cxx17
test_pedantic_cxx17_SOURCES = test-pedantic-compilation.cxx
test_pedantic_cxx17_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_cxx17_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX17)
test_pedantic_cxx17_CXXFLAGS += $(generic_pedantic_cxxflags)
test_pedantic_cxx17_LDADD =
test_pedantic_cxx17_LDFLAGS =
if HAVE_CXX
if GP_HAVE_PEDANTIC_FLAGS_CXX20
TESTS += test-pedantic-cxx20
check_PROGRAMS += test-pedantic-cxx20
endif
endif
EXTRA_PROGRAMS += test-pedantic-cxx20
test_pedantic_cxx20_SOURCES = test-pedantic-compilation.cxx
test_pedantic_cxx20_CPPFLAGS = $(generic_pedantic_cppflags)
test_pedantic_cxx20_CXXFLAGS = $(GP_PEDANTIC_CXXFLAGS_CXX20)
test_pedantic_cxx20_CXXFLAGS += $(generic_pedantic_cxxflags)
test_pedantic_cxx20_LDADD =
test_pedantic_cxx20_LDFLAGS =
########################################################################
# Implement the checks for the installed library
########################################################################
include $(top_srcdir)/installcheck.mk