mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-06-13 16:42:39 +02:00
92 lines
3.7 KiB
Diff
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
|
|
|