gentoo-ebuilds/net-misc/sunshine/files/sunshine-find-npm.patch
James Le Cuirot 6e23d43c7b
net-misc/sunshine: Update NPM patch now it's merged upstream
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
2024-05-13 22:04:10 +01:00

92 lines
3.7 KiB
Diff

From 66740900522f42564a2b0bd4e8a435ed24a61725 Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Sun, 12 May 2024 17:26:14 +0100
Subject: [PATCH] Unify asset building and use find_program to find NPM (#2522)
---
cmake/targets/common.cmake | 33 +++++++++++++++++++++------------
cmake/targets/unix.cmake | 6 ------
cmake/targets/windows.cmake | 6 ------
3 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/cmake/targets/common.cmake b/cmake/targets/common.cmake
index ee79528c..941ef0b7 100644
--- a/cmake/targets/common.cmake
+++ b/cmake/targets/common.cmake
@@ -3,18 +3,6 @@
add_executable(sunshine ${SUNSHINE_TARGET_FILES})
-# Homebrew build fails the vite build if we set these environment variables
-# this block must be before the platform specific code
-if(${SUNSHINE_BUILD_HOMEBREW})
- set(NPM_SOURCE_ASSETS_DIR "")
- set(NPM_ASSETS_DIR "")
- set(NPM_BUILD_HOMEBREW "true")
-else()
- set(NPM_SOURCE_ASSETS_DIR ${SUNSHINE_SOURCE_ASSETS_DIR})
- set(NPM_ASSETS_DIR ${CMAKE_BINARY_DIR})
- set(NPM_BUILD_HOMEBREW "")
-endif()
-
# platform specific target definitions
if(WIN32)
include(${CMAKE_MODULE_PATH}/targets/windows.cmake)
@@ -49,6 +37,27 @@ endif()
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
+# Homebrew build fails the vite build if we set these environment variables
+if(${SUNSHINE_BUILD_HOMEBREW})
+ set(NPM_SOURCE_ASSETS_DIR "")
+ set(NPM_ASSETS_DIR "")
+ set(NPM_BUILD_HOMEBREW "true")
+else()
+ set(NPM_SOURCE_ASSETS_DIR ${SUNSHINE_SOURCE_ASSETS_DIR})
+ set(NPM_ASSETS_DIR ${CMAKE_BINARY_DIR})
+ set(NPM_BUILD_HOMEBREW "")
+endif()
+
+#WebUI build
+find_program(NPM npm REQUIRED)
+add_custom_target(web-ui ALL
+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+ COMMENT "Installing NPM Dependencies and Building the Web UI"
+ COMMAND "$<$<BOOL:${WIN32}>:cmd;/C>" "${NPM}" install
+ COMMAND "${CMAKE_COMMAND}" -E env "SUNSHINE_BUILD_HOMEBREW=${NPM_BUILD_HOMEBREW}" "SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR}" "SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR}" "$<$<BOOL:${WIN32}>:cmd;/C>" "${NPM}" run build # cmake-lint: disable=C0301
+ COMMAND_EXPAND_LISTS
+ VERBATIM)
+
# tests
if(BUILD_TESTS)
add_subdirectory(tests)
diff --git a/cmake/targets/unix.cmake b/cmake/targets/unix.cmake
index 5527a987..047a0b3d 100644
--- a/cmake/targets/unix.cmake
+++ b/cmake/targets/unix.cmake
@@ -1,8 +1,2 @@
# unix specific target definitions
# put anything here that applies to both linux and macos
-
-#WebUI build
-add_custom_target(web-ui ALL
- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
- COMMENT "Installing NPM Dependencies and Building the Web UI"
- COMMAND sh -c \"npm install && SUNSHINE_BUILD_HOMEBREW=${NPM_BUILD_HOMEBREW} SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR} SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR} npm run build\") # cmake-lint: disable=C0301
diff --git a/cmake/targets/windows.cmake b/cmake/targets/windows.cmake
index e429feaa..341d7c2e 100644
--- a/cmake/targets/windows.cmake
+++ b/cmake/targets/windows.cmake
@@ -4,9 +4,3 @@ set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
find_library(ZLIB ZLIB1)
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
Wtsapi32.lib)
-
-#WebUI build
-add_custom_target(web-ui ALL
- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
- COMMENT "Installing NPM Dependencies and Building the Web UI"
- COMMAND cmd /C "npm install && set \"SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR}\" && set \"SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR}\" && npm run build") # cmake-lint: disable=C0301
--
2.44.0