mirror of https://github.com/encounter/SDL.git
test: Add a `make install` target for the tests
This makes it more convenient to compile them alongside SDL, install them in an optional package and use them as smoke-tests or diagnostic tools. The default installation directory is taken from GNOME's installed-tests, which seems as good a convention as any other: https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
76a7b629bf
commit
38ef678990
|
@ -472,6 +472,7 @@ set(SDL_STATIC ${SDL_STATIC_ENABLED_BY_DEFAULT} CACHE BOOL "Build a static versi
|
||||||
|
|
||||||
dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" OFF "SDL_STATIC" OFF)
|
dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" OFF "SDL_STATIC" OFF)
|
||||||
set_option(SDL_TEST "Build the test directory" OFF)
|
set_option(SDL_TEST "Build the test directory" OFF)
|
||||||
|
set_option(SDL_INSTALL_TESTS "Install test-cases" OFF)
|
||||||
|
|
||||||
if(VITA)
|
if(VITA)
|
||||||
set_option(VIDEO_VITA_PIB "Build with PSVita piglet gles2 support" OFF)
|
set_option(VIDEO_VITA_PIB "Build with PSVita piglet gles2 support" OFF)
|
||||||
|
|
|
@ -2,6 +2,10 @@ cmake_minimum_required(VERSION 3.0.0)
|
||||||
project(SDL2 C)
|
project(SDL2 C)
|
||||||
include(CTest)
|
include(CTest)
|
||||||
|
|
||||||
|
if(SDL_INSTALL_TESTS)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Global settings for all of the test targets
|
# Global settings for all of the test targets
|
||||||
# FIXME: is this wrong?
|
# FIXME: is this wrong?
|
||||||
remove_definitions(-DUSING_GENERATED_CONFIG_H)
|
remove_definitions(-DUSING_GENERATED_CONFIG_H)
|
||||||
|
@ -136,6 +140,77 @@ add_executable(controllermap controllermap.c testutils.c)
|
||||||
add_executable(testvulkan testvulkan.c)
|
add_executable(testvulkan testvulkan.c)
|
||||||
add_executable(testoffscreen testoffscreen.c)
|
add_executable(testoffscreen testoffscreen.c)
|
||||||
|
|
||||||
|
SET(ALL_TESTS
|
||||||
|
checkkeys
|
||||||
|
checkkeysthreads
|
||||||
|
controllermap
|
||||||
|
loopwave
|
||||||
|
loopwavequeue
|
||||||
|
testatomic
|
||||||
|
testaudiocapture
|
||||||
|
testaudiohotplug
|
||||||
|
testaudioinfo
|
||||||
|
testautomation
|
||||||
|
testbounds
|
||||||
|
testcustomcursor
|
||||||
|
testdisplayinfo
|
||||||
|
testdraw2
|
||||||
|
testdrawchessboard
|
||||||
|
testdropfile
|
||||||
|
testerror
|
||||||
|
testfile
|
||||||
|
testfilesystem
|
||||||
|
testgamecontroller
|
||||||
|
testgeometry
|
||||||
|
testgesture
|
||||||
|
testgl2
|
||||||
|
testgles
|
||||||
|
testgles2
|
||||||
|
testhaptic
|
||||||
|
testhittesting
|
||||||
|
testhotplug
|
||||||
|
testiconv
|
||||||
|
testime
|
||||||
|
testintersections
|
||||||
|
testjoystick
|
||||||
|
testkeys
|
||||||
|
testloadso
|
||||||
|
testlocale
|
||||||
|
testlock
|
||||||
|
testmessage
|
||||||
|
testmouse
|
||||||
|
testmultiaudio
|
||||||
|
testnative
|
||||||
|
testoffscreen
|
||||||
|
testoverlay2
|
||||||
|
testplatform
|
||||||
|
testpower
|
||||||
|
testqsort
|
||||||
|
testrelative
|
||||||
|
testrendercopyex
|
||||||
|
testrendertarget
|
||||||
|
testresample
|
||||||
|
testrumble
|
||||||
|
testscale
|
||||||
|
testsem
|
||||||
|
testsensor
|
||||||
|
testshader
|
||||||
|
testshape
|
||||||
|
testsprite2
|
||||||
|
testspriteminimal
|
||||||
|
teststreaming
|
||||||
|
testsurround
|
||||||
|
testthread
|
||||||
|
testtimer
|
||||||
|
testurl
|
||||||
|
testver
|
||||||
|
testviewport
|
||||||
|
testvulkan
|
||||||
|
testwm2
|
||||||
|
testyuv
|
||||||
|
torturethread
|
||||||
|
)
|
||||||
|
|
||||||
set(NONINTERACTIVE
|
set(NONINTERACTIVE
|
||||||
testatomic
|
testatomic
|
||||||
testerror
|
testerror
|
||||||
|
@ -151,6 +226,7 @@ set(NONINTERACTIVE
|
||||||
)
|
)
|
||||||
|
|
||||||
if(LINUX)
|
if(LINUX)
|
||||||
|
list(APPEND ALL_TESTS testevdev)
|
||||||
list(APPEND NONINTERACTIVE testevdev)
|
list(APPEND NONINTERACTIVE testevdev)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -354,3 +430,14 @@ foreach(TESTCASE ${NONINTERACTIVE} ${NEEDS_AUDIO} ${NEEDS_DISPLAY})
|
||||||
PROPERTIES ENVIRONMENT "${TESTS_ENVIRONMENT}"
|
PROPERTIES ENVIRONMENT "${TESTS_ENVIRONMENT}"
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
if(SDL_INSTALL_TESTS)
|
||||||
|
install(
|
||||||
|
TARGETS ${ALL_TESTS}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL2
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES ${RESOURCE_FILES}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL2
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
|
@ -2,6 +2,15 @@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
|
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
bindir = @bindir@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
includedir = @includedir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
datadir = @datadir@
|
||||||
|
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
EXE = @EXE@
|
EXE = @EXE@
|
||||||
CFLAGS = @CFLAGS@ -g
|
CFLAGS = @CFLAGS@ -g
|
||||||
|
@ -81,6 +90,12 @@ TARGETS = \
|
||||||
|
|
||||||
all: Makefile $(TARGETS) copydatafiles
|
all: Makefile $(TARGETS) copydatafiles
|
||||||
|
|
||||||
|
installedtestsdir = $(libexecdir)/installed-tests/SDL2
|
||||||
|
|
||||||
|
install: all
|
||||||
|
install -D -t $(DESTDIR)$(installedtestsdir) $(TARGETS)
|
||||||
|
install -m644 -D -t $(DESTDIR)$(installedtestsdir) $(DATA)
|
||||||
|
|
||||||
Makefile: $(srcdir)/Makefile.in
|
Makefile: $(srcdir)/Makefile.in
|
||||||
$(SHELL) config.status $@
|
$(SHELL) config.status $@
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,15 @@ AC_SUBST(ISWINDOWS)
|
||||||
AC_SUBST(ISUNIX)
|
AC_SUBST(ISUNIX)
|
||||||
AC_SUBST(ISOS2)
|
AC_SUBST(ISOS2)
|
||||||
|
|
||||||
|
AC_SUBST([prefix])
|
||||||
|
AC_SUBST([exec_prefix])
|
||||||
|
AC_SUBST([bindir])
|
||||||
|
AC_SUBST([libdir])
|
||||||
|
AC_SUBST([libexecdir])
|
||||||
|
AC_SUBST([includedir])
|
||||||
|
AC_SUBST([datarootdir])
|
||||||
|
AC_SUBST([datadir])
|
||||||
|
|
||||||
dnl Check for SDL
|
dnl Check for SDL
|
||||||
SDL_VERSION=2.0.18
|
SDL_VERSION=2.0.18
|
||||||
AM_PATH_SDL2($SDL_VERSION,
|
AM_PATH_SDL2($SDL_VERSION,
|
||||||
|
|
Loading…
Reference in New Issue