Mac and Linux SDL2 binary snapshots
Edward Rudd
2020-05-02 03f8528315fa46c95991a34f3325d7b33ae5538c
source/cmake/sdlchecks.cmake
@@ -564,46 +564,6 @@
  endif()
endmacro()
# Requires:
# - EGL
# - PkgCheckModules
# Optional:
# - MIR_SHARED opt
# - HAVE_DLOPEN opt
macro(CheckMir)
    if(VIDEO_MIR)
        find_library(MIR_LIB mirclient mircommon egl)
        pkg_check_modules(MIR_TOOLKIT mirclient>=0.26 mircommon)
        pkg_check_modules(EGL egl)
        pkg_check_modules(XKB xkbcommon)
        if (MIR_LIB AND MIR_TOOLKIT_FOUND AND EGL_FOUND AND XKB_FOUND)
            set(HAVE_VIDEO_MIR TRUE)
            set(HAVE_SDL_VIDEO TRUE)
            file(GLOB MIR_SOURCES ${SDL2_SOURCE_DIR}/src/video/mir/*.c)
            set(SOURCE_FILES ${SOURCE_FILES} ${MIR_SOURCES})
            set(SDL_VIDEO_DRIVER_MIR 1)
            list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CFLAGS} ${XKB_CFLAGS})
            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()
endmacro()
macro(WaylandProtocolGen _SCANNER _XML _PROTL)
    set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
    set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h")
@@ -797,8 +757,10 @@
endmacro()
# Requires:
# - nada
# - PkgCheckModules
macro(CheckOpenGLESX11)
  pkg_check_modules(EGL egl)
  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${EGL_CFLAGS}")
  if(VIDEO_OPENGLES)
    check_c_source_compiles("
        #define EGL_API_FB
@@ -1105,6 +1067,44 @@
  endif()
endmacro()
# Check for HIDAPI joystick drivers. This is currently a Unix thing, not Windows or macOS!
macro(CheckHIDAPI)
  if(HIDAPI)
    if(HIDAPI_SKIP_LIBUSB)
      set(HAVE_HIDAPI TRUE)
    else()
      set(HAVE_HIDAPI FALSE)
      pkg_check_modules(LIBUSB libusb)
      if (LIBUSB_FOUND)
        check_include_file(libusb.h HAVE_LIBUSB_H ${LIBUSB_CFLAGS})
        if (HAVE_LIBUSB_H)
          set(HAVE_HIDAPI TRUE)
        endif()
      endif()
    endif()
    if(HAVE_HIDAPI)
      set(SDL_JOYSTICK_HIDAPI 1)
      set(HAVE_SDL_JOYSTICK TRUE)
      file(GLOB HIDAPI_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${HIDAPI_SOURCES})
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} -I${SDL2_SOURCE_DIR}/src/hidapi/hidapi")
      if(NOT HIDAPI_SKIP_LIBUSB)
        if(HIDAPI_ONLY_LIBUSB)
          set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c)
          list(APPEND EXTRA_LIBS ${LIBUSB_LIBS})
        else()
          set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/SDL_hidapi.c)
          # libusb is loaded dynamically, so don't add it to EXTRA_LIBS
          FindLibraryAndSONAME("usb-1.0")
          set(SDL_LIBUSB_DYNAMIC "\"${USB_LIB_SONAME}\"")
        endif()
      endif()
    endif()
  endif()
endmacro()
# Requires:
# - n/a
macro(CheckRPI)