add cmake-lint action (#646)
This commit is contained in:
parent
88a450bf1f
commit
dc5571ba98
5 changed files with 605 additions and 655 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
|
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
|
||||||
# the above-mentioned repo.
|
# the above-mentioned repo.
|
||||||
|
|
||||||
name: Clang Format Lint
|
name: C++ Lint
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
@ -33,7 +33,7 @@ jobs:
|
||||||
outputs:
|
outputs:
|
||||||
src: ${{ steps.check.outputs.src }}
|
src: ${{ steps.check.outputs.src }}
|
||||||
|
|
||||||
lint:
|
clang-format:
|
||||||
name: Clang Format Lint
|
name: Clang Format Lint
|
||||||
needs: [check_src]
|
needs: [check_src]
|
||||||
if: ${{ needs.check_src.outputs.src == 'true' }}
|
if: ${{ needs.check_src.outputs.src == 'true' }}
|
||||||
|
|
@ -58,3 +58,34 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: clang-format-fixes
|
name: clang-format-fixes
|
||||||
path: src/
|
path: src/
|
||||||
|
|
||||||
|
cmake-lint:
|
||||||
|
name: CMake Lint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip setuptools cmakelang
|
||||||
|
|
||||||
|
- name: Find cmake files
|
||||||
|
id: cmake_files
|
||||||
|
run: |
|
||||||
|
cmake_files=$(find . -type f -iname "CMakeLists.txt" -o -iname "*.cmake")
|
||||||
|
|
||||||
|
echo "found cmake files: ${cmake_files}"
|
||||||
|
|
||||||
|
# do not quote to keep this as a single line
|
||||||
|
echo cmake_files=${cmake_files} >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Test with cmake-lint
|
||||||
|
run: |
|
||||||
|
cmake-lint --line-width 120 --tab-size 4 ${{ steps.cmake_files.outputs.cmake_files }}
|
||||||
163
CMakeLists.txt
163
CMakeLists.txt
|
|
@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
project(Sunshine VERSION 0.16.0
|
project(Sunshine VERSION 0.16.0
|
||||||
DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight."
|
DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight."
|
||||||
HOMEPAGE_URL "https://app.lizardbyte.dev"
|
HOMEPAGE_URL "https://app.lizardbyte.dev")
|
||||||
)
|
|
||||||
|
|
||||||
set(PROJECT_LONG_DESCRIPTION "Offering low latency, cloud gaming server capabilities with support for AMD, Intel, \
|
set(PROJECT_LONG_DESCRIPTION "Offering low latency, cloud gaming server capabilities with support for AMD, Intel, \
|
||||||
and Nvidia GPUs for hardware encoding. Software encoding is also available. You can connect to Sunshine from any \
|
and Nvidia GPUs for hardware encoding. Software encoding is also available. You can connect to Sunshine from any \
|
||||||
|
|
@ -36,6 +35,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||||
set(SUNSHINE_SOURCE_ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src_assets")
|
set(SUNSHINE_SOURCE_ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src_assets")
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
# ADD_FRAMEWORK: args = `fwname`, `appname`
|
||||||
macro(ADD_FRAMEWORK fwname appname)
|
macro(ADD_FRAMEWORK fwname appname)
|
||||||
find_library(FRAMEWORK_${fwname}
|
find_library(FRAMEWORK_${fwname}
|
||||||
NAMES ${fwname}
|
NAMES ${fwname}
|
||||||
|
|
@ -67,7 +67,7 @@ find_package(PkgConfig REQUIRED)
|
||||||
pkg_check_modules (CURL REQUIRED libcurl)
|
pkg_check_modules (CURL REQUIRED libcurl)
|
||||||
|
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
set(Boost_USE_STATIC_LIBS ON)
|
set(Boost_USE_STATIC_LIBS ON) # cmake-lint: disable=C0103
|
||||||
endif()
|
endif()
|
||||||
find_package(Boost COMPONENTS log filesystem program_options REQUIRED)
|
find_package(Boost COMPONENTS log filesystem program_options REQUIRED)
|
||||||
|
|
||||||
|
|
@ -125,11 +125,12 @@ if(WIN32)
|
||||||
dwmapi
|
dwmapi
|
||||||
userenv
|
userenv
|
||||||
synchronization.lib
|
synchronization.lib
|
||||||
${CURL_STATIC_LIBRARIES}
|
${CURL_STATIC_LIBRARIES})
|
||||||
)
|
|
||||||
|
|
||||||
set_source_files_properties(third-party/ViGEmClient/src/ViGEmClient.cpp PROPERTIES COMPILE_DEFINITIONS "UNICODE=1;ERROR_INVALID_DEVICE_OBJECT_PARAMETER=650")
|
set_source_files_properties(third-party/ViGEmClient/src/ViGEmClient.cpp
|
||||||
set_source_files_properties(third-party/ViGEmClient/src/ViGEmClient.cpp PROPERTIES COMPILE_FLAGS "-Wno-unknown-pragmas -Wno-misleading-indentation -Wno-class-memaccess")
|
PROPERTIES COMPILE_DEFINITIONS "UNICODE=1;ERROR_INVALID_DEVICE_OBJECT_PARAMETER=650")
|
||||||
|
set_source_files_properties(third-party/ViGEmClient/src/ViGEmClient.cpp
|
||||||
|
PROPERTIES COMPILE_FLAGS "-Wno-unknown-pragmas -Wno-misleading-indentation -Wno-class-memaccess")
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
add_compile_definitions(SUNSHINE_PLATFORM="macos")
|
add_compile_definitions(SUNSHINE_PLATFORM="macos")
|
||||||
|
|
||||||
|
|
@ -246,14 +247,23 @@ else()
|
||||||
|
|
||||||
if(WAYLAND_FOUND)
|
if(WAYLAND_FOUND)
|
||||||
add_compile_definitions(SUNSHINE_BUILD_WAYLAND)
|
add_compile_definitions(SUNSHINE_BUILD_WAYLAND)
|
||||||
macro(genWayland FILENAME)
|
# GEN_WAYLAND: args = `filename`
|
||||||
|
macro(GEN_WAYLAND filename)
|
||||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated-src)
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated-src)
|
||||||
|
|
||||||
message("wayland-scanner private-code ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.c")
|
message("wayland-scanner private-code \
|
||||||
message("wayland-scanner client-header ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.h")
|
${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${filename}.xml \
|
||||||
|
${CMAKE_BINARY_DIR}/generated-src/${filename}.c")
|
||||||
|
message("wayland-scanner client-header \
|
||||||
|
${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${filename}.xml \
|
||||||
|
${CMAKE_BINARY_DIR}/generated-src/${filename}.h")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND wayland-scanner private-code ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.c
|
COMMAND wayland-scanner private-code
|
||||||
COMMAND wayland-scanner client-header ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.h
|
${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${filename}.xml
|
||||||
|
${CMAKE_BINARY_DIR}/generated-src/${filename}.c
|
||||||
|
COMMAND wayland-scanner client-header
|
||||||
|
${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${filename}.xml
|
||||||
|
${CMAKE_BINARY_DIR}/generated-src/${filename}.h
|
||||||
|
|
||||||
RESULT_VARIABLE EXIT_INT
|
RESULT_VARIABLE EXIT_INT
|
||||||
)
|
)
|
||||||
|
|
@ -263,13 +273,12 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND PLATFORM_TARGET_FILES
|
list(APPEND PLATFORM_TARGET_FILES
|
||||||
${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.c
|
${CMAKE_BINARY_DIR}/generated-src/${filename}.c
|
||||||
${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.h
|
${CMAKE_BINARY_DIR}/generated-src/${filename}.h)
|
||||||
)
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
genWayland(xdg-output-unstable-v1)
|
GEN_WAYLAND(xdg-output-unstable-v1)
|
||||||
genWayland(wlr-export-dmabuf-unstable-v1)
|
GEN_WAYLAND(wlr-export-dmabuf-unstable-v1)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${WAYLAND_INCLUDE_DIRS}
|
${WAYLAND_INCLUDE_DIRS}
|
||||||
|
|
@ -310,8 +319,7 @@ else()
|
||||||
evdev
|
evdev
|
||||||
numa
|
numa
|
||||||
pulse
|
pulse
|
||||||
pulse-simple
|
pulse-simple)
|
||||||
)
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
/usr/include/libevdev-1.0
|
/usr/include/libevdev-1.0
|
||||||
|
|
@ -472,8 +480,7 @@ target_link_libraries(sunshine ${SUNSHINE_EXTERNAL_LIBRARIES} ${EXTRA_LIBS})
|
||||||
target_compile_definitions(sunshine PUBLIC ${SUNSHINE_DEFINITIONS})
|
target_compile_definitions(sunshine PUBLIC ${SUNSHINE_DEFINITIONS})
|
||||||
set_target_properties(sunshine PROPERTIES CXX_STANDARD 17
|
set_target_properties(sunshine PROPERTIES CXX_STANDARD 17
|
||||||
VERSION ${PROJECT_VERSION}
|
VERSION ${PROJECT_VERSION}
|
||||||
SOVERSION ${PROJECT_VERSION_MAJOR}
|
SOVERSION ${PROJECT_VERSION_MAJOR})
|
||||||
)
|
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_CUDA_STANDARD)
|
if(NOT DEFINED CMAKE_CUDA_STANDARD)
|
||||||
set(CMAKE_CUDA_STANDARD 17)
|
set(CMAKE_CUDA_STANDARD 17)
|
||||||
|
|
@ -488,7 +495,7 @@ foreach(flag IN LISTS SUNSHINE_COMPILE_OPTIONS)
|
||||||
list(APPEND SUNSHINE_COMPILE_OPTIONS_CUDA "$<$<COMPILE_LANGUAGE:CUDA>:--compiler-options=${flag}>")
|
list(APPEND SUNSHINE_COMPILE_OPTIONS_CUDA "$<$<COMPILE_LANGUAGE:CUDA>:--compiler-options=${flag}>")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
target_compile_options(sunshine PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${SUNSHINE_COMPILE_OPTIONS}>;$<$<COMPILE_LANGUAGE:CUDA>:${SUNSHINE_COMPILE_OPTIONS_CUDA};-std=c++17>)
|
target_compile_options(sunshine PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${SUNSHINE_COMPILE_OPTIONS}>;$<$<COMPILE_LANGUAGE:CUDA>:${SUNSHINE_COMPILE_OPTIONS_CUDA};-std=c++17>) # cmake-lint: disable=C0301
|
||||||
|
|
||||||
# CPACK / Packaging
|
# CPACK / Packaging
|
||||||
|
|
||||||
|
|
@ -506,7 +513,8 @@ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}")
|
||||||
set(CPACK_STRIP_FILES YES)
|
set(CPACK_STRIP_FILES YES)
|
||||||
|
|
||||||
# install npm modules
|
# install npm modules
|
||||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/node_modules" DESTINATION "${SUNSHINE_ASSETS_DIR}/web")
|
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/node_modules"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}/web")
|
||||||
|
|
||||||
# Platform specific options
|
# Platform specific options
|
||||||
if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.html
|
if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.html
|
||||||
|
|
@ -518,17 +526,26 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h
|
||||||
install(TARGETS sunshinesvc RUNTIME DESTINATION "tools" COMPONENT sunshinesvc)
|
install(TARGETS sunshinesvc RUNTIME DESTINATION "tools" COMPONENT sunshinesvc)
|
||||||
|
|
||||||
# scripts
|
# scripts
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/firewall/" DESTINATION "scripts" COMPONENT firewall)
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/firewall/"
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/service/" DESTINATION "scripts" COMPONENT service)
|
DESTINATION "scripts"
|
||||||
|
COMPONENT firewall)
|
||||||
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/service/"
|
||||||
|
DESTINATION "scripts"
|
||||||
|
COMPONENT service)
|
||||||
|
|
||||||
# Sunshine assets
|
# Sunshine assets
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}" COMPONENT assets)
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/"
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}" COMPONENT assets)
|
DESTINATION "${SUNSHINE_ASSETS_DIR}"
|
||||||
|
COMPONENT assets)
|
||||||
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}"
|
||||||
|
COMPONENT assets)
|
||||||
|
|
||||||
# set(CPACK_NSIS_MUI_HEADERIMAGE "") # TODO: image should be 150x57 bmp
|
# set(CPACK_NSIS_MUI_HEADERIMAGE "") # TODO: image should be 150x57 bmp
|
||||||
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\sunshine.ico")
|
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\sunshine.ico")
|
||||||
set(CPACK_NSIS_INSTALLED_ICON_NAME "${PROJECT__DIR}\\\\${PROJECT_EXE}")
|
set(CPACK_NSIS_INSTALLED_ICON_NAME "${PROJECT__DIR}\\\\${PROJECT_EXE}")
|
||||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") # The name of the directory that will be created in C:/Program files/
|
# The name of the directory that will be created in C:/Program files/
|
||||||
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
||||||
|
|
||||||
# Extra install commands
|
# Extra install commands
|
||||||
# Sets permissions on the installed folder so that we can write in it
|
# Sets permissions on the installed folder so that we can write in it
|
||||||
|
|
@ -539,8 +556,10 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h
|
||||||
ExecWait 'icacls \\\"$INSTDIR\\\" /grant:r Users:\\\(OI\\\)\\\(CI\\\)\\\(F\\\)'
|
ExecWait 'icacls \\\"$INSTDIR\\\" /grant:r Users:\\\(OI\\\)\\\(CI\\\)\\\(F\\\)'
|
||||||
ExecWait '\\\"$INSTDIR\\\\scripts\\\\add-firewall-rule.bat\\\"'
|
ExecWait '\\\"$INSTDIR\\\\scripts\\\\add-firewall-rule.bat\\\"'
|
||||||
ExecWait '\\\"$INSTDIR\\\\scripts\\\\install-service.bat\\\"'
|
ExecWait '\\\"$INSTDIR\\\\scripts\\\\install-service.bat\\\"'
|
||||||
MessageBox MB_YESNO|MB_ICONQUESTION 'Do you want to add/update ViGEmBus (virtual controller support)?' IDNO NoController
|
MessageBox MB_YESNO|MB_ICONQUESTION 'Do you want to add/update ViGEmBus (virtual controller support)?' \
|
||||||
ExecWait '\\\"$SYSDIR\\\\cmd.exe\\\" /c \\\"start https://github.com/ViGEm/ViGEmBus/releases/latest\\\"' ; skipped if no
|
IDNO NoController
|
||||||
|
ExecWait '\\\"$SYSDIR\\\\cmd.exe\\\" /c \\\"start https://github.com/ViGEm/ViGEmBus/releases/latest\\\"'; \
|
||||||
|
skipped if no
|
||||||
NoController:
|
NoController:
|
||||||
")
|
")
|
||||||
|
|
||||||
|
|
@ -550,18 +569,23 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h
|
||||||
"${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS}
|
"${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS}
|
||||||
ExecWait '\\\"$INSTDIR\\\\scripts\\\\delete-firewall-rule.bat\\\"'
|
ExecWait '\\\"$INSTDIR\\\\scripts\\\\delete-firewall-rule.bat\\\"'
|
||||||
ExecWait '\\\"$INSTDIR\\\\scripts\\\\uninstall-service.bat\\\"'
|
ExecWait '\\\"$INSTDIR\\\\scripts\\\\uninstall-service.bat\\\"'
|
||||||
MessageBox MB_YESNO|MB_ICONQUESTION 'Do you want to remove $INSTDIR (this includes the configuration, cover images, and settings)?' /SD IDNO IDNO NoDelete
|
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||||
|
'Do you want to remove $INSTDIR (this includes the configuration, cover images, and settings)?' \
|
||||||
|
/SD IDNO IDNO NoDelete
|
||||||
RMDir /r \\\"$INSTDIR\\\"; skipped if no
|
RMDir /r \\\"$INSTDIR\\\"; skipped if no
|
||||||
NoDelete:
|
NoDelete:
|
||||||
")
|
")
|
||||||
|
|
||||||
# Adding an option for the start menu and PATH
|
# Adding an option for the start menu and PATH
|
||||||
set(CPACK_NSIS_MODIFY_PATH "OFF") # TODO: it asks to add it to the PATH but is not working https://gitlab.kitware.com/cmake/cmake/-/issues/15635
|
# TODO: it asks to add it to the PATH but is not working https://gitlab.kitware.com/cmake/cmake/-/issues/15635
|
||||||
|
set(CPACK_NSIS_MODIFY_PATH "OFF")
|
||||||
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
|
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
|
||||||
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_PROJECT_NAME}.exe") # This will be shown on the installed apps Windows settings
|
# This will be shown on the installed apps Windows settings
|
||||||
|
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_PROJECT_NAME}.exe")
|
||||||
set(CPACK_NSIS_CREATE_ICONS_EXTRA
|
set(CPACK_NSIS_CREATE_ICONS_EXTRA
|
||||||
"${CPACK_NSIS_CREATE_ICONS_EXTRA}
|
"${CPACK_NSIS_CREATE_ICONS_EXTRA}
|
||||||
CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${CMAKE_PROJECT_NAME}.lnk' '\$INSTDIR\\\\${CMAKE_PROJECT_NAME}.exe'
|
CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${CMAKE_PROJECT_NAME}.lnk' \
|
||||||
|
'\$INSTDIR\\\\${CMAKE_PROJECT_NAME}.exe'
|
||||||
")
|
")
|
||||||
set(CPACK_NSIS_DELETE_ICONS_EXTRA
|
set(CPACK_NSIS_DELETE_ICONS_EXTRA
|
||||||
"${CPACK_NSIS_DELETE_ICONS_EXTRA}
|
"${CPACK_NSIS_DELETE_ICONS_EXTRA}
|
||||||
|
|
@ -578,8 +602,7 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h
|
||||||
set(CPACK_NSIS_MENU_LINKS
|
set(CPACK_NSIS_MENU_LINKS
|
||||||
"https://sunshinestream.readthedocs.io" "Sunshine documentation"
|
"https://sunshinestream.readthedocs.io" "Sunshine documentation"
|
||||||
"https://app.lizardbyte.dev" "LizardByte Web Site"
|
"https://app.lizardbyte.dev" "LizardByte Web Site"
|
||||||
"https://app.lizardbyte.dev/support" "LizardByte Support"
|
"https://app.lizardbyte.dev/support" "LizardByte Support")
|
||||||
)
|
|
||||||
|
|
||||||
# Setting components groups and dependencies
|
# Setting components groups and dependencies
|
||||||
# sunshine binary
|
# sunshine binary
|
||||||
|
|
@ -629,11 +652,13 @@ if(APPLE)
|
||||||
# set(CPACK_BUNDLE_STARTUP_COMMAND "${INSTALL_RUNTIME_DIR}/sunshine")
|
# set(CPACK_BUNDLE_STARTUP_COMMAND "${INSTALL_RUNTIME_DIR}/sunshine")
|
||||||
endif()
|
endif()
|
||||||
if(APPLE AND SUNSHINE_MACOS_PACKAGE) # TODO
|
if(APPLE AND SUNSHINE_MACOS_PACKAGE) # TODO
|
||||||
set(prefix "${CMAKE_PROJECT_NAME}.app/Contents")
|
set(MAC_PREFIX "${CMAKE_PROJECT_NAME}.app/Contents")
|
||||||
set(INSTALL_RUNTIME_DIR "${prefix}/MacOS")
|
set(INSTALL_RUNTIME_DIR "${MAC_PREFIX}/MacOS")
|
||||||
|
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/"
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
||||||
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
||||||
|
|
||||||
install(TARGETS sunshine
|
install(TARGETS sunshine
|
||||||
BUNDLE DESTINATION . COMPONENT Runtime
|
BUNDLE DESTINATION . COMPONENT Runtime
|
||||||
|
|
@ -647,19 +672,27 @@ elseif(UNIX)
|
||||||
|
|
||||||
install(TARGETS sunshine RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
install(TARGETS sunshine RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||||
|
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/"
|
||||||
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/misc/uninstall_pkg.sh" DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
||||||
|
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/misc/uninstall_pkg.sh"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
||||||
else()
|
else()
|
||||||
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}")
|
||||||
if(${SUNSHINE_CONFIGURE_APPIMAGE} OR ${SUNSHINE_CONFIGURE_FLATPAK})
|
if(${SUNSHINE_CONFIGURE_APPIMAGE} OR ${SUNSHINE_CONFIGURE_FLATPAK})
|
||||||
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/85-sunshine.rules" DESTINATION "${SUNSHINE_ASSETS_DIR}/udev/rules.d")
|
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/85-sunshine.rules"
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service" DESTINATION "${SUNSHINE_ASSETS_DIR}/systemd/user")
|
DESTINATION "${SUNSHINE_ASSETS_DIR}/udev/rules.d")
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service"
|
||||||
|
DESTINATION "${SUNSHINE_ASSETS_DIR}/systemd/user")
|
||||||
else()
|
else()
|
||||||
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/85-sunshine.rules" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d")
|
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/85-sunshine.rules"
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/systemd/user")
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d")
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/systemd/user")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Post install
|
# Post install
|
||||||
|
|
@ -668,9 +701,37 @@ elseif(UNIX)
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
||||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "openssl, libboost-thread1.67.0 | libboost-thread1.71.0 | libboost-thread1.74.0, libboost-filesystem1.67.0 | libboost-filesystem1.71.0 | libboost-filesystem1.74.0, libboost-log1.67.0 | libboost-log1.71.0 | libboost-log1.74.0, libboost-program-options1.67.0 | libboost-program-options1.71.0 | libboost-program-options1.74.0, libcurl4, libpulse0, libopus0, libxcb-shm0, libxcb-xfixes0, libxtst6, libevdev2, libdrm2, libcap2")
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "\
|
||||||
set(CPACK_RPM_PACKAGE_REQUIRES "openssl >= 1.1, boost-thread >= 1.67.0, boost-filesystem >= 1.67.0, boost-log >= 1.67.0, boost-program-options >= 1.67.0, libcurl >= 7.0, pulseaudio-libs >= 10.0, libopusenc >= 0.2.1, libxcb >= 1.13, libXtst >= 1.2.3, libevdev >= 1.5.6, libdrm >= 2.4.97, libcap >= 2.22")
|
libboost-filesystem1.67.0 | libboost-filesystem1.71.0 | libboost-filesystem1.74.0, \
|
||||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) # This should automatically figure out dependencies, doesn't work with the current config
|
libboost-log1.67.0 | libboost-log1.71.0 | libboost-log1.74.0, \
|
||||||
|
libboost-program-options1.67.0 | libboost-program-options1.71.0 | libboost-program-options1.74.0, \
|
||||||
|
libboost-thread1.67.0 | libboost-thread1.71.0 | libboost-thread1.74.0, \
|
||||||
|
libcap2, \
|
||||||
|
libcurl4, \
|
||||||
|
libdrm2, \
|
||||||
|
libevdev2, \
|
||||||
|
libopus0, \
|
||||||
|
libpulse0, \
|
||||||
|
libxcb-shm0, \
|
||||||
|
libxcb-xfixes0, \
|
||||||
|
libxtst6, \
|
||||||
|
openssl")
|
||||||
|
set(CPACK_RPM_PACKAGE_REQUIRES "\
|
||||||
|
boost-filesystem >= 1.67.0, \
|
||||||
|
boost-log >= 1.67.0, \
|
||||||
|
boost-program-options >= 1.67.0, \
|
||||||
|
boost-thread >= 1.67.0, \
|
||||||
|
libcap >= 2.22, \
|
||||||
|
libcurl >= 7.0, \
|
||||||
|
libdrm >= 2.4.97, \
|
||||||
|
libevdev >= 1.5.6, \
|
||||||
|
libopusenc >= 0.2.1, \
|
||||||
|
libxcb >= 1.13, \
|
||||||
|
libXtst >= 1.2.3, \
|
||||||
|
openssl >= 1.1, \
|
||||||
|
pulseaudio-libs >= 10.0")
|
||||||
|
# This should automatically figure out dependencies, doesn't work with the current config
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,144 +0,0 @@
|
||||||
# - Try to find FFMPEG
|
|
||||||
# Once done this will define
|
|
||||||
# FFMPEG_FOUND - System has FFMPEG
|
|
||||||
# FFMPEG_INCLUDE_DIRS - The FFMPEG include directories
|
|
||||||
# FFMPEG_LIBRARIES - The libraries needed to use FFMPEG
|
|
||||||
# FFMPEG_LIBRARY_DIRS - The directory to find FFMPEG libraries
|
|
||||||
#
|
|
||||||
# written by Roy Shilkrot 2013 http://www.morethantechnical.com/
|
|
||||||
#
|
|
||||||
|
|
||||||
find_package(PkgConfig)
|
|
||||||
|
|
||||||
|
|
||||||
MACRO(FFMPEG_FIND varname shortname headername)
|
|
||||||
|
|
||||||
IF(NOT WIN32)
|
|
||||||
PKG_CHECK_MODULES(PC_${varname} ${shortname})
|
|
||||||
|
|
||||||
FIND_PATH(${varname}_INCLUDE_DIR "${shortname}/${headername}"
|
|
||||||
HINTS ${PC_${varname}_INCLUDEDIR} ${PC_${varname}_INCLUDE_DIRS}
|
|
||||||
NO_DEFAULT_PATH
|
|
||||||
)
|
|
||||||
ELSE()
|
|
||||||
FIND_PATH(${varname}_INCLUDE_DIR "${shortname}/${headername}")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
IF(${varname}_INCLUDE_DIR STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND")
|
|
||||||
message(STATUS "look for newer strcture")
|
|
||||||
IF(NOT WIN32)
|
|
||||||
PKG_CHECK_MODULES(PC_${varname} "lib${shortname}")
|
|
||||||
|
|
||||||
FIND_PATH(${varname}_INCLUDE_DIR "lib${shortname}/${headername}"
|
|
||||||
HINTS ${PC_${varname}_INCLUDEDIR} ${PC_${varname}_INCLUDE_DIRS}
|
|
||||||
NO_DEFAULT_PATH
|
|
||||||
)
|
|
||||||
ELSE()
|
|
||||||
FIND_PATH(${varname}_INCLUDE_DIR "lib${shortname}/${headername}")
|
|
||||||
IF(${${varname}_INCLUDE_DIR} STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND")
|
|
||||||
#Desperate times call for desperate measures
|
|
||||||
MESSAGE(STATUS "globbing...")
|
|
||||||
FILE(GLOB_RECURSE ${varname}_INCLUDE_DIR "/ffmpeg*/${headername}")
|
|
||||||
MESSAGE(STATUS "found: ${${varname}_INCLUDE_DIR}")
|
|
||||||
IF(${varname}_INCLUDE_DIR)
|
|
||||||
GET_FILENAME_COMPONENT(${varname}_INCLUDE_DIR "${${varname}_INCLUDE_DIR}" PATH)
|
|
||||||
GET_FILENAME_COMPONENT(${varname}_INCLUDE_DIR "${${varname}_INCLUDE_DIR}" PATH)
|
|
||||||
ELSE()
|
|
||||||
SET(${varname}_INCLUDE_DIR "${varname}_INCLUDE_DIR-NOTFOUND")
|
|
||||||
ENDIF()
|
|
||||||
ENDIF()
|
|
||||||
ENDIF()
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
|
|
||||||
IF(${${varname}_INCLUDE_DIR} STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND")
|
|
||||||
MESSAGE(STATUS "Can't find includes for ${shortname}...")
|
|
||||||
ELSE()
|
|
||||||
MESSAGE(STATUS "Found ${shortname} include dirs: ${${varname}_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
#GET_DIRECTORY_PROPERTY(FFMPEG_PARENT DIRECTORY ${${varname}_INCLUDE_DIR} PARENT_DIRECTORY)
|
|
||||||
GET_FILENAME_COMPONENT(FFMPEG_PARENT ${${varname}_INCLUDE_DIR} PATH)
|
|
||||||
MESSAGE(STATUS "Using FFMpeg dir parent as hint: ${FFMPEG_PARENT}")
|
|
||||||
|
|
||||||
IF(NOT WIN32)
|
|
||||||
FIND_LIBRARY(${varname}_LIBRARIES NAMES ${shortname}
|
|
||||||
HINTS ${PC_${varname}_LIBDIR} ${PC_${varname}_LIBRARY_DIR} ${FFMPEG_PARENT})
|
|
||||||
ELSE()
|
|
||||||
FIND_PATH(${varname}_LIBRARIES "${shortname}.dll.a" HINTS ${FFMPEG_PARENT})
|
|
||||||
# FILE(GLOB_RECURSE ${varname}_LIBRARIES "${FFMPEG_PARENT}/*${shortname}.lib")
|
|
||||||
# GLOBing is very bad... but windows sux, this is the only thing that works
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
IF(${varname}_LIBRARIES STREQUAL "${varname}_LIBRARIES-NOTFOUND")
|
|
||||||
MESSAGE(STATUS "look for newer structure for library")
|
|
||||||
FIND_LIBRARY(${varname}_LIBRARIES NAMES lib${shortname}
|
|
||||||
HINTS ${PC_${varname}_LIBDIR} ${PC_${varname}_LIBRARY_DIR} ${FFMPEG_PARENT})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
|
|
||||||
IF(${varname}_LIBRARIES STREQUAL "${varname}_LIBRARIES-NOTFOUND")
|
|
||||||
MESSAGE(STATUS "Can't find lib for ${shortname}...")
|
|
||||||
ELSE()
|
|
||||||
MESSAGE(STATUS "Found ${shortname} libs: ${${varname}_LIBRARIES}")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
|
|
||||||
IF(NOT ${varname}_INCLUDE_DIR STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND"
|
|
||||||
AND NOT ${varname}_LIBRARIES STREQUAL ${varname}_LIBRARIES-NOTFOUND)
|
|
||||||
|
|
||||||
MESSAGE(STATUS "found ${shortname}: include ${${varname}_INCLUDE_DIR} lib ${${varname}_LIBRARIES}")
|
|
||||||
SET(FFMPEG_${varname}_FOUND 1)
|
|
||||||
SET(FFMPEG_${varname}_INCLUDE_DIRS ${${varname}_INCLUDE_DIR})
|
|
||||||
SET(FFMPEG_${varname}_LIBS ${${varname}_LIBRARIES})
|
|
||||||
ELSE()
|
|
||||||
MESSAGE(STATUS "Can't find ${shortname}")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
ENDMACRO(FFMPEG_FIND)
|
|
||||||
|
|
||||||
FFMPEG_FIND(LIBAVFORMAT avformat avformat.h)
|
|
||||||
FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h)
|
|
||||||
FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h)
|
|
||||||
FFMPEG_FIND(LIBAVUTIL avutil avutil.h)
|
|
||||||
FFMPEG_FIND(LIBSWSCALE swscale swscale.h)
|
|
||||||
|
|
||||||
SET(FFMPEG_FOUND "NO")
|
|
||||||
IF (FFMPEG_LIBAVFORMAT_FOUND AND
|
|
||||||
FFMPEG_LIBAVDEVICE_FOUND AND
|
|
||||||
FFMPEG_LIBAVCODEC_FOUND AND
|
|
||||||
FFMPEG_LIBAVUTIL_FOUND AND
|
|
||||||
FFMPEG_LIBSWSCALE_FOUND
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
SET(FFMPEG_FOUND "YES")
|
|
||||||
|
|
||||||
SET(FFMPEG_INCLUDE_DIRS ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS})
|
|
||||||
|
|
||||||
SET(FFMPEG_LIBRARIES
|
|
||||||
${FFMPEG_LIBAVFORMAT_LIBS}
|
|
||||||
${FFMPEG_LIBAVDEVICE_LIBS}
|
|
||||||
${FFMPEG_LIBAVCODEC_LIBS}
|
|
||||||
${FFMPEG_LIBAVUTIL_LIBS}
|
|
||||||
${FFMPEG_LIBSWSCALE_LIBS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ELSE ()
|
|
||||||
|
|
||||||
MESSAGE(STATUS "Could not find FFMPEG")
|
|
||||||
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
message(STATUS ${FFMPEG_LIBRARIES} ${FFMPEG_LIBAVFORMAT_LIBRARIES})
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set FFMPEG_FOUND to TRUE
|
|
||||||
# if all listed variables are TRUE
|
|
||||||
find_package_handle_standard_args(FFMPEG DEFAULT_MSG
|
|
||||||
FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS)
|
|
||||||
|
|
||||||
mark_as_advanced(FFMPEG_INCLUDE_DIRS FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES)
|
|
||||||
|
|
@ -32,41 +32,43 @@ IF (NOT WIN32)
|
||||||
find_path(WAYLAND_CLIENT_INCLUDE_DIRS NAMES wayland-client.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
find_path(WAYLAND_CLIENT_INCLUDE_DIRS NAMES wayland-client.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
||||||
find_library(WAYLAND_CLIENT_LIBRARIES NAMES wayland-client HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
find_library(WAYLAND_CLIENT_LIBRARIES NAMES wayland-client HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
||||||
if(WAYLAND_CLIENT_INCLUDE_DIRS AND WAYLAND_CLIENT_LIBRARIES)
|
if(WAYLAND_CLIENT_INCLUDE_DIRS AND WAYLAND_CLIENT_LIBRARIES)
|
||||||
set(Wayland_Client_FOUND TRUE)
|
set(Wayland_Client_FOUND TRUE) # cmake-lint: disable=C0103
|
||||||
else()
|
else()
|
||||||
set(Wayland_Client_FOUND FALSE)
|
set(Wayland_Client_FOUND FALSE) # cmake-lint: disable=C0103
|
||||||
endif()
|
endif()
|
||||||
mark_as_advanced(WAYLAND_CLIENT_INCLUDE_DIRS WAYLAND_CLIENT_LIBRARIES)
|
mark_as_advanced(WAYLAND_CLIENT_INCLUDE_DIRS WAYLAND_CLIENT_LIBRARIES)
|
||||||
|
|
||||||
find_path(WAYLAND_CURSOR_INCLUDE_DIRS NAMES wayland-cursor.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
find_path(WAYLAND_CURSOR_INCLUDE_DIRS NAMES wayland-cursor.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
||||||
find_library(WAYLAND_CURSOR_LIBRARIES NAMES wayland-cursor HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
find_library(WAYLAND_CURSOR_LIBRARIES NAMES wayland-cursor HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
||||||
if(WAYLAND_CURSOR_INCLUDE_DIRS AND WAYLAND_CURSOR_LIBRARIES)
|
if(WAYLAND_CURSOR_INCLUDE_DIRS AND WAYLAND_CURSOR_LIBRARIES)
|
||||||
set(Wayland_Cursor_FOUND TRUE)
|
set(Wayland_Cursor_FOUND TRUE) # cmake-lint: disable=C0103
|
||||||
else()
|
else()
|
||||||
set(Wayland_Cursor_FOUND FALSE)
|
set(Wayland_Cursor_FOUND FALSE) # cmake-lint: disable=C0103
|
||||||
endif()
|
endif()
|
||||||
mark_as_advanced(WAYLAND_CURSOR_INCLUDE_DIRS WAYLAND_CURSOR_LIBRARIES)
|
mark_as_advanced(WAYLAND_CURSOR_INCLUDE_DIRS WAYLAND_CURSOR_LIBRARIES)
|
||||||
|
|
||||||
find_path(WAYLAND_EGL_INCLUDE_DIRS NAMES wayland-egl.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
find_path(WAYLAND_EGL_INCLUDE_DIRS NAMES wayland-egl.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
||||||
find_library(WAYLAND_EGL_LIBRARIES NAMES wayland-egl HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
find_library(WAYLAND_EGL_LIBRARIES NAMES wayland-egl HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
||||||
if(WAYLAND_EGL_INCLUDE_DIRS AND WAYLAND_EGL_LIBRARIES)
|
if(WAYLAND_EGL_INCLUDE_DIRS AND WAYLAND_EGL_LIBRARIES)
|
||||||
set(Wayland_EGL_FOUND TRUE)
|
set(Wayland_EGL_FOUND TRUE) # cmake-lint: disable=C0103
|
||||||
else()
|
else()
|
||||||
set(Wayland_EGL_FOUND FALSE)
|
set(Wayland_EGL_FOUND FALSE) # cmake-lint: disable=C0103
|
||||||
endif()
|
endif()
|
||||||
mark_as_advanced(WAYLAND_EGL_INCLUDE_DIRS WAYLAND_EGL_LIBRARIES)
|
mark_as_advanced(WAYLAND_EGL_INCLUDE_DIRS WAYLAND_EGL_LIBRARIES)
|
||||||
|
|
||||||
find_path(WAYLAND_SERVER_INCLUDE_DIRS NAMES wayland-server.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
find_path(WAYLAND_SERVER_INCLUDE_DIRS NAMES wayland-server.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
|
||||||
find_library(WAYLAND_SERVER_LIBRARIES NAMES wayland-server HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
find_library(WAYLAND_SERVER_LIBRARIES NAMES wayland-server HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
|
||||||
if(WAYLAND_SERVER_INCLUDE_DIRS AND WAYLAND_SERVER_LIBRARIES)
|
if(WAYLAND_SERVER_INCLUDE_DIRS AND WAYLAND_SERVER_LIBRARIES)
|
||||||
set(Wayland_Server_FOUND TRUE)
|
set(Wayland_Server_FOUND TRUE) # cmake-lint: disable=C0103
|
||||||
else()
|
else()
|
||||||
set(Wayland_Server_FOUND FALSE)
|
set(Wayland_Server_FOUND FALSE) # cmake-lint: disable=C0103
|
||||||
endif()
|
endif()
|
||||||
mark_as_advanced(WAYLAND_SERVER_INCLUDE_DIRS WAYLAND_SERVER_LIBRARIES)
|
mark_as_advanced(WAYLAND_SERVER_INCLUDE_DIRS WAYLAND_SERVER_LIBRARIES)
|
||||||
|
|
||||||
set(WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIRS} ${WAYLAND_SERVER_INCLUDE_DIRS} ${WAYLAND_EGL_INCLUDE_DIRS} ${WAYLAND_CURSOR_INCLUDE_DIRS})
|
set(WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIRS} ${WAYLAND_SERVER_INCLUDE_DIRS}
|
||||||
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARIES} ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_EGL_LIBRARIES} ${WAYLAND_CURSOR_LIBRARIES})
|
${WAYLAND_EGL_INCLUDE_DIRS} ${WAYLAND_CURSOR_INCLUDE_DIRS})
|
||||||
|
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARIES} ${WAYLAND_SERVER_LIBRARIES}
|
||||||
|
${WAYLAND_EGL_LIBRARIES} ${WAYLAND_CURSOR_LIBRARIES})
|
||||||
mark_as_advanced(WAYLAND_INCLUDE_DIRS WAYLAND_LIBRARIES)
|
mark_as_advanced(WAYLAND_INCLUDE_DIRS WAYLAND_LIBRARIES)
|
||||||
|
|
||||||
list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIRS)
|
list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIRS)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue