build(linux): add homebrew support (#2667)
This commit is contained in:
parent
e1f0ca829d
commit
f68de7da93
10 changed files with 148 additions and 36 deletions
|
|
@ -117,14 +117,42 @@ elseif(NOT LIBDRM_FOUND)
|
|||
endif()
|
||||
|
||||
# evdev
|
||||
pkg_check_modules(PC_EVDEV libevdev REQUIRED)
|
||||
find_path(EVDEV_INCLUDE_DIR libevdev/libevdev.h
|
||||
HINTS ${PC_EVDEV_INCLUDE_DIRS} ${PC_EVDEV_INCLUDEDIR})
|
||||
find_library(EVDEV_LIBRARY
|
||||
NAMES evdev libevdev)
|
||||
pkg_check_modules(PC_EVDEV libevdev)
|
||||
if(PC_EVDEV_FOUND)
|
||||
find_path(EVDEV_INCLUDE_DIR libevdev/libevdev.h
|
||||
HINTS ${PC_EVDEV_INCLUDE_DIRS} ${PC_EVDEV_INCLUDEDIR})
|
||||
find_library(EVDEV_LIBRARY
|
||||
NAMES evdev libevdev)
|
||||
else()
|
||||
include(ExternalProject)
|
||||
|
||||
set(LIBEVDEV_VERSION libevdev-1.13.2)
|
||||
|
||||
ExternalProject_Add(libevdev
|
||||
URL http://www.freedesktop.org/software/libevdev/${LIBEVDEV_VERSION}.tar.xz
|
||||
PREFIX ${LIBEVDEV_VERSION}
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
BUILD_COMMAND "make"
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
|
||||
ExternalProject_Get_Property(libevdev SOURCE_DIR)
|
||||
message(STATUS "libevdev source dir: ${SOURCE_DIR}")
|
||||
set(EVDEV_INCLUDE_DIR "${SOURCE_DIR}")
|
||||
|
||||
ExternalProject_Get_Property(libevdev BINARY_DIR)
|
||||
message(STATUS "libevdev binary dir: ${BINARY_DIR}")
|
||||
set(EVDEV_LIBRARY "${BINARY_DIR}/libevdev/.libs/libevdev.a")
|
||||
|
||||
# compile libevdev before sunshine
|
||||
set(SUNSHINE_TARGET_DEPENDENCIES ${SUNSHINE_TARGET_DEPENDENCIES} libevdev)
|
||||
endif()
|
||||
|
||||
if(EVDEV_INCLUDE_DIR AND EVDEV_LIBRARY)
|
||||
include_directories(SYSTEM ${EVDEV_INCLUDE_DIR})
|
||||
list(APPEND PLATFORM_LIBRARIES ${EVDEV_LIBRARY})
|
||||
else()
|
||||
message(FATAL_ERROR "Couldn't find or fetch libevdev")
|
||||
endif()
|
||||
|
||||
# vaapi
|
||||
|
|
@ -226,7 +254,7 @@ else()
|
|||
message(STATUS "Tray icon disabled")
|
||||
endif()
|
||||
|
||||
if (${SUNSHINE_TRAY} EQUAL 0 AND SUNSHINE_REQUIRE_TRAY)
|
||||
if(${SUNSHINE_ENABLE_TRAY} AND ${SUNSHINE_TRAY} EQUAL 0 AND SUNSHINE_REQUIRE_TRAY)
|
||||
message(FATAL_ERROR "Tray icon is required")
|
||||
endif()
|
||||
|
||||
|
|
@ -253,5 +281,4 @@ list(APPEND PLATFORM_LIBRARIES
|
|||
|
||||
include_directories(
|
||||
SYSTEM
|
||||
"${CMAKE_SOURCE_DIR}/third-party/nv-codec-headers/include"
|
||||
"${CMAKE_SOURCE_DIR}/third-party/glad/include")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue