| | |
| | | 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") |
| | |
| | | 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 |
| | |
| | | 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) |