mirror of https://github.com/encounter/SDL.git
CMake project files no longer force you to link against Wayland or Mir libs.
This commit is contained in:
parent
d8988ea842
commit
c1091f32fb
|
@ -274,7 +274,10 @@ set_option(CLOCK_GETTIME "Use clock_gettime() instead of gettimeofday()" O
|
||||||
set_option(INPUT_TSLIB "Use the Touchscreen library for input" ${UNIX_SYS})
|
set_option(INPUT_TSLIB "Use the Touchscreen library for input" ${UNIX_SYS})
|
||||||
set_option(VIDEO_X11 "Use X11 video driver" ${UNIX_SYS})
|
set_option(VIDEO_X11 "Use X11 video driver" ${UNIX_SYS})
|
||||||
set_option(VIDEO_WAYLAND "Use Wayland video driver" ${UNIX_SYS})
|
set_option(VIDEO_WAYLAND "Use Wayland video driver" ${UNIX_SYS})
|
||||||
|
dep_option(WAYLAND_SHARED "Dynamically load Wayland support" ON "VIDEO_WAYLAND" OFF)
|
||||||
|
dep_option(VIDEO_WAYLAND_QT_TOUCH "QtWayland server support for Wayland video driver" ON "VIDEO_WAYLAND" OFF)
|
||||||
set_option(VIDEO_MIR "Use Mir video driver" ${UNIX_SYS})
|
set_option(VIDEO_MIR "Use Mir video driver" ${UNIX_SYS})
|
||||||
|
dep_option(MIR_SHARED "Dynamically load Mir support" ON "VIDEO_MIR" OFF)
|
||||||
set_option(VIDEO_RPI "Use Raspberry Pi video driver" ${UNIX_SYS})
|
set_option(VIDEO_RPI "Use Raspberry Pi video driver" ${UNIX_SYS})
|
||||||
dep_option(X11_SHARED "Dynamically load X11 support" ON "VIDEO_X11" OFF)
|
dep_option(X11_SHARED "Dynamically load X11 support" ON "VIDEO_X11" OFF)
|
||||||
set(SDL_X11_OPTIONS Xcursor Xinerama XInput Xrandr Xscrnsaver XShape Xvm)
|
set(SDL_X11_OPTIONS Xcursor Xinerama XInput Xrandr Xscrnsaver XShape Xvm)
|
||||||
|
|
|
@ -505,8 +505,13 @@ macro(CheckX11)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
# Requires:
|
||||||
|
# - EGL
|
||||||
|
# - PkgCheckModules
|
||||||
|
# Optional:
|
||||||
|
# - MIR_SHARED opt
|
||||||
|
# - HAVE_DLOPEN opt
|
||||||
macro(CheckMir)
|
macro(CheckMir)
|
||||||
# !!! FIXME: hook up dynamic loading here.
|
|
||||||
if(VIDEO_MIR)
|
if(VIDEO_MIR)
|
||||||
find_library(MIR_LIB mirclient mircommon egl)
|
find_library(MIR_LIB mirclient mircommon egl)
|
||||||
pkg_check_modules(MIR_TOOLKIT mirclient mircommon)
|
pkg_check_modules(MIR_TOOLKIT mirclient mircommon)
|
||||||
|
@ -522,15 +527,31 @@ macro(CheckMir)
|
||||||
set(SDL_VIDEO_DRIVER_MIR 1)
|
set(SDL_VIDEO_DRIVER_MIR 1)
|
||||||
|
|
||||||
list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CLFAGS} ${XKB_CLFLAGS})
|
list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CLFAGS} ${XKB_CLFLAGS})
|
||||||
list(APPEND EXTRA_LDFLAGS ${MIR_TOOLKIT_LDFLAGS} ${EGL_LDLAGS} ${XKB_LDLAGS})
|
|
||||||
endif (MIR_LIB AND MIR_TOOLKIT_FOUND AND EGL_FOUND AND XKB_FOUND)
|
if(MIR_SHARED)
|
||||||
|
if(NOT HAVE_DLOPEN)
|
||||||
|
message_warn("You must have SDL_LoadObject() support for dynamic Mir loading")
|
||||||
|
else()
|
||||||
|
FindLibraryAndSONAME(mirclient)
|
||||||
|
FindLibraryAndSONAME(xkbcommon)
|
||||||
|
set(SDL_VIDEO_DRIVER_MIR_DYNAMIC "\"${MIRCLIENT_LIB_SONAME}\"")
|
||||||
|
set(SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON "\"${XKBCOMMON_LIB_SONAME}\"")
|
||||||
|
set(HAVE_MIR_SHARED TRUE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(EXTRA_LIBS ${MIR_TOOLKIT_LIBRARIES} ${EXTRA_LIBS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Requires:
|
# Requires:
|
||||||
# - EGL
|
# - EGL
|
||||||
|
# - PkgCheckModules
|
||||||
|
# Optional:
|
||||||
|
# - WAYLAND_SHARED opt
|
||||||
|
# - HAVE_DLOPEN opt
|
||||||
macro(CheckWayland)
|
macro(CheckWayland)
|
||||||
# !!! FIXME: hook up dynamic loading here.
|
|
||||||
if(VIDEO_WAYLAND)
|
if(VIDEO_WAYLAND)
|
||||||
pkg_check_modules(WAYLAND wayland-client wayland-cursor wayland-egl egl xkbcommon)
|
pkg_check_modules(WAYLAND wayland-client wayland-cursor wayland-egl egl xkbcommon)
|
||||||
if(WAYLAND_FOUND)
|
if(WAYLAND_FOUND)
|
||||||
|
@ -540,12 +561,34 @@ macro(CheckWayland)
|
||||||
include_directories(
|
include_directories(
|
||||||
${WAYLAND_INCLUDE_DIRS}
|
${WAYLAND_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
set(EXTRA_LIBS ${WAYLAND_LIBRARIES} ${EXTRA_LIBS})
|
|
||||||
set(HAVE_VIDEO_WAYLAND TRUE)
|
set(HAVE_VIDEO_WAYLAND TRUE)
|
||||||
set(HAVE_SDL_VIDEO TRUE)
|
set(HAVE_SDL_VIDEO TRUE)
|
||||||
|
|
||||||
file(GLOB WAYLAND_SOURCES ${SDL2_SOURCE_DIR}/src/video/wayland/*.c)
|
file(GLOB WAYLAND_SOURCES ${SDL2_SOURCE_DIR}/src/video/wayland/*.c)
|
||||||
set(SOURCE_FILES ${SOURCE_FILES} ${WAYLAND_SOURCES})
|
set(SOURCE_FILES ${SOURCE_FILES} ${WAYLAND_SOURCES})
|
||||||
|
|
||||||
|
if(VIDEO_WAYLAND_QT_TOUCH)
|
||||||
|
set(SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WAYLAND_SHARED)
|
||||||
|
if(NOT HAVE_DLOPEN)
|
||||||
|
message_warn("You must have SDL_LoadObject() support for dynamic Wayland loading")
|
||||||
|
else()
|
||||||
|
FindLibraryAndSONAME(wayland-client)
|
||||||
|
FindLibraryAndSONAME(wayland-egl)
|
||||||
|
FindLibraryAndSONAME(wayland-cursor)
|
||||||
|
FindLibraryAndSONAME(xkbcommon)
|
||||||
|
set(SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC "\"${WAYLAND_CLIENT_LIB_SONAME}\"")
|
||||||
|
set(SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL "\"${WAYLAND_EGL_LIB_SONAME}\"")
|
||||||
|
set(SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR "\"${WAYLAND_CURSOR_LIB_SONAME}\"")
|
||||||
|
set(SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON "\"${XKBCOMMON_LIB_SONAME}\"")
|
||||||
|
set(HAVE_WAYLAND_SHARED TRUE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(EXTRA_LIBS ${WAYLAND_LIBRARIES} ${EXTRA_LIBS})
|
||||||
|
endif()
|
||||||
|
|
||||||
set(SDL_VIDEO_DRIVER_WAYLAND 1)
|
set(SDL_VIDEO_DRIVER_WAYLAND 1)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -269,14 +269,11 @@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
|
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@
|
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@
|
||||||
|
|
||||||
#if 0
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH @SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH@
|
||||||
/* !!! FIXME: in configure script version, missing here: */
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC@
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL@
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
|
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
|
|
||||||
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
|
#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@
|
||||||
#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
|
#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@
|
||||||
|
|
Loading…
Reference in New Issue