mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2025-07-01 23:35:47 +00:00
Split application in client and library
This commit is contained in:
parent
9bf1ad75e8
commit
d4ba4a5f8f
@ -6,17 +6,8 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
|||||||
aux_source_directory(./src SRC_LIST)
|
aux_source_directory(./src SRC_LIST)
|
||||||
list(APPEND SRC_LIST ./src/video/fake.c)
|
list(APPEND SRC_LIST ./src/video/fake.c)
|
||||||
|
|
||||||
aux_source_directory(./third_party/moonlight-common-c/limelight-common SRC_LIST)
|
|
||||||
aux_source_directory(./third_party/moonlight-common-c/limelight-common/OpenAES SRC_LIST)
|
|
||||||
|
|
||||||
include_directories(./third_party/moonlight-common-c)
|
|
||||||
|
|
||||||
set(MOONLIGHT_DEFINITIONS)
|
set(MOONLIGHT_DEFINITIONS)
|
||||||
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
find_package(CURL REQUIRED)
|
|
||||||
find_package(OpenSSL REQUIRED)
|
|
||||||
find_package(EXPAT REQUIRED)
|
|
||||||
find_package(ALSA REQUIRED)
|
find_package(ALSA REQUIRED)
|
||||||
find_package(Opus REQUIRED)
|
find_package(Opus REQUIRED)
|
||||||
find_package(Broadcom)
|
find_package(Broadcom)
|
||||||
@ -25,14 +16,8 @@ find_package(CEC)
|
|||||||
|
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
pkg_check_modules(EVDEV REQUIRED libevdev)
|
pkg_check_modules(EVDEV REQUIRED libevdev)
|
||||||
pkg_check_modules(AVAHI REQUIRED avahi-client)
|
|
||||||
pkg_check_modules(UDEV REQUIRED libudev)
|
pkg_check_modules(UDEV REQUIRED libudev)
|
||||||
|
|
||||||
if(CEC_FOUND)
|
|
||||||
include_directories(./third_party/libcec)
|
|
||||||
list(APPEND MOONLIGHT_DEFINITIONS HAVE_LIBCEC)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BROADCOM_FOUND)
|
if(BROADCOM_FOUND)
|
||||||
aux_source_directory(./third_party/ilclient SRC_LIST)
|
aux_source_directory(./third_party/ilclient SRC_LIST)
|
||||||
aux_source_directory(./third_party/h264bitstream SRC_LIST)
|
aux_source_directory(./third_party/h264bitstream SRC_LIST)
|
||||||
@ -45,23 +30,32 @@ if(FREESCALE_FOUND)
|
|||||||
list(APPEND MOONLIGHT_DEFINITIONS HAVE_IMX)
|
list(APPEND MOONLIGHT_DEFINITIONS HAVE_IMX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(libgamestream)
|
||||||
|
|
||||||
add_executable(moonlight ${SRC_LIST})
|
add_executable(moonlight ${SRC_LIST})
|
||||||
|
target_link_libraries(moonlight PUBLIC gamestream)
|
||||||
set_property(TARGET moonlight PROPERTY C_STANDARD 11)
|
set_property(TARGET moonlight PROPERTY C_STANDARD 11)
|
||||||
|
|
||||||
|
if (CEC_FOUND)
|
||||||
|
list(APPEND MOONLIGHT_DEFINITIONS HAVE_LIBCEC)
|
||||||
|
target_include_directories(moonlight PRIVATE ./third_party/libcec ${CEC_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (moonlight PUBLIC ${CEC_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
|
||||||
if(BROADCOM_FOUND)
|
if(BROADCOM_FOUND)
|
||||||
include_directories(./third_party/ilclient ./third_party/h264bitstream ${BROADCOM_INCLUDE_DIRS})
|
target_include_directories(moonlight PRIVATE ./third_party/ilclient ./third_party/h264bitstream ${BROADCOM_INCLUDE_DIRS})
|
||||||
target_link_libraries (moonlight PUBLIC ${BROADCOM_LIBRARIES})
|
target_link_libraries (moonlight PUBLIC ${BROADCOM_LIBRARIES})
|
||||||
list(APPEND MOONLIGHT_DEFINITIONS ${BROADCOM_DEFINITIONS})
|
list(APPEND MOONLIGHT_DEFINITIONS ${BROADCOM_DEFINITIONS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(FREESCALE_FOUND)
|
if(FREESCALE_FOUND)
|
||||||
include_directories(${FREESCALE_INCLUDE_DIRS})
|
target_include_directories(moonlight PRIVATE ${FREESCALE_INCLUDE_DIRS})
|
||||||
target_link_libraries (moonlight PUBLIC ${FREESCALE_LIBRARIES})
|
target_link_libraries (moonlight PUBLIC ${FREESCALE_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_property(TARGET moonlight PROPERTY COMPILE_DEFINITIONS ${MOONLIGHT_DEFINITIONS})
|
set_property(TARGET moonlight PROPERTY COMPILE_DEFINITIONS ${MOONLIGHT_DEFINITIONS})
|
||||||
include_directories(./third_party/moonlight-common-c ${OPUS_INCLUDE_DIRS} ${EVDEV_INCLUDE_DIRS} ${AVAHI_INCLUDE_DIRS} ${UDEV_INCLUDE_DIRS} ${CEC_INCLUDE_DIRS})
|
target_include_directories(moonlight PRIVATE ./libgamestream ./third_party/moonlight-common-c ${OPUS_INCLUDE_DIRS} ${EVDEV_INCLUDE_DIRS} ${UDEV_INCLUDE_DIRS})
|
||||||
target_link_libraries (moonlight PUBLIC ${CMAKE_THREAD_LIBS_INIT} ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ${EXPAT_LIBRARIES} ${EVDEV_LIBRARIES} ${ALSA_LIBRARY} ${OPUS_LIBRARY} ${AVAHI_LIBRARIES} ${UDEV_LIBRARIES} ${CMAKE_DL_LIBS} ${CEC_LIBRARIES})
|
target_link_libraries (moonlight PUBLIC ${EVDEV_LIBRARIES} ${ALSA_LIBRARY} ${OPUS_LIBRARY} ${UDEV_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||||
|
|
||||||
include(${CMAKE_ROOT}/Modules/GNUInstallDirs.cmake)
|
include(${CMAKE_ROOT}/Modules/GNUInstallDirs.cmake)
|
||||||
install(TARGETS moonlight DESTINATION ${CMAKE_INSTALL_BINDIR})
|
install(TARGETS moonlight DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
20
libgamestream/CMakeLists.txt
Normal file
20
libgamestream/CMakeLists.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
find_package(Threads REQUIRED)
|
||||||
|
find_package(CURL REQUIRED)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
|
find_package(EXPAT REQUIRED)
|
||||||
|
|
||||||
|
pkg_check_modules(AVAHI REQUIRED avahi-client)
|
||||||
|
|
||||||
|
aux_source_directory(./ GAMESTREAM_SRC_LIST)
|
||||||
|
|
||||||
|
aux_source_directory(../third_party/moonlight-common-c/limelight-common GAMESTREAM_SRC_LIST)
|
||||||
|
aux_source_directory(../third_party/moonlight-common-c/limelight-common/OpenAES GAMESTREAM_SRC_LIST)
|
||||||
|
|
||||||
|
add_library(gamestream SHARED ${GAMESTREAM_SRC_LIST})
|
||||||
|
set_property(TARGET gamestream PROPERTY C_STANDARD 11)
|
||||||
|
set_target_properties(gamestream PROPERTIES SOVERSION 0 VERSION 2.1.0)
|
||||||
|
|
||||||
|
target_include_directories(gamestream PRIVATE ../third_party/moonlight-common-c ${AVAHI_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (gamestream PUBLIC ${CMAKE_THREAD_LIBS_INIT} ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ${EXPAT_LIBRARIES} ${AVAHI_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||||
|
|
||||||
|
#install(TARGETS gamestream DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
Loading…
x
Reference in New Issue
Block a user