build(macos): configure C++ standard and ICU root (#5101)

This commit is contained in:
martona
2026-05-13 19:01:34 -04:00
committed by GitHub
parent 07099901cd
commit f9d1aca72e
7 changed files with 23 additions and 13 deletions

View File

@@ -97,6 +97,7 @@ jobs:
-S . \ -S . \
-DBUILD_WERROR=ON \ -DBUILD_WERROR=ON \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DICU_ROOT="$(brew --prefix icu4c@78 2>/dev/null)" \
-DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3 2>/dev/null)" \ -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3 2>/dev/null)" \
-DOpus_ROOT_DIR="$(brew --prefix opus 2>/dev/null)" \ -DOpus_ROOT_DIR="$(brew --prefix opus 2>/dev/null)" \
-DSUNSHINE_PUBLISHER_NAME="${GITHUB_REPOSITORY_OWNER}" \ -DSUNSHINE_PUBLISHER_NAME="${GITHUB_REPOSITORY_OWNER}" \

View File

@@ -8,6 +8,13 @@ project(Sunshine VERSION 0.0.0
DESCRIPTION "Self-hosted game stream host for Moonlight" DESCRIPTION "Self-hosted game stream host for Moonlight"
HOMEPAGE_URL "https://app.lizardbyte.dev/Sunshine") HOMEPAGE_URL "https://app.lizardbyte.dev/Sunshine")
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT DEFINED CMAKE_CUDA_STANDARD)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
endif()
set(PROJECT_LICENSE "GPL-3.0-only") set(PROJECT_LICENSE "GPL-3.0-only")
set(PROJECT_FQDN "dev.lizardbyte.app.Sunshine") set(PROJECT_FQDN "dev.lizardbyte.app.Sunshine")

View File

@@ -23,15 +23,8 @@ elseif(UNIX)
endif() endif()
endif() endif()
# todo - is this necessary? ... for anything except linux?
if(NOT DEFINED CMAKE_CUDA_STANDARD)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
endif()
target_link_libraries(sunshine ${SUNSHINE_EXTERNAL_LIBRARIES} ${EXTRA_LIBS}) 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 23)
# CLion complains about unknown flags after running cmake, and cannot add symbols to the index for cuda files # CLion complains about unknown flags after running cmake, and cannot add symbols to the index for cuda files
if(CUDA_INHERIT_COMPILE_OPTIONS) if(CUDA_INHERIT_COMPILE_OPTIONS)

View File

@@ -167,7 +167,6 @@ class Sunshine < Formula
def base_cmake_args def base_cmake_args
args = %W[ args = %W[
-DBUILD_WERROR=ON -DBUILD_WERROR=ON
-DCMAKE_CXX_STANDARD=23
-DCMAKE_INSTALL_PREFIX=#{prefix} -DCMAKE_INSTALL_PREFIX=#{prefix}
-DGLAD_SKIP_PIP_INSTALL=ON -DGLAD_SKIP_PIP_INSTALL=ON
-DHOMEBREW_ALLOW_FETCHCONTENT=ON -DHOMEBREW_ALLOW_FETCHCONTENT=ON

View File

@@ -98,6 +98,7 @@ function run_step_cmake() {
"-DBUILD_TESTS=${build_tests}" "-DBUILD_TESTS=${build_tests}"
"-DBUILD_WERROR=ON" "-DBUILD_WERROR=ON"
"-DCMAKE_BUILD_TYPE=${build_type}" "-DCMAKE_BUILD_TYPE=${build_type}"
"-DICU_ROOT=$(brew --prefix icu4c@78 2>/dev/null)"
"-DOPENSSL_ROOT_DIR=$(brew --prefix openssl@3 2>/dev/null)" "-DOPENSSL_ROOT_DIR=$(brew --prefix openssl@3 2>/dev/null)"
"-DOpus_ROOT_DIR=$(brew --prefix opus 2>/dev/null)" "-DOpus_ROOT_DIR=$(brew --prefix opus 2>/dev/null)"
"-DSUNSHINE_ENABLE_TRAY=ON" "-DSUNSHINE_ENABLE_TRAY=ON"

View File

@@ -3,6 +3,13 @@ cmake_minimum_required(VERSION 3.13)
project(test_sunshine) project(test_sunshine)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT DEFINED CMAKE_CUDA_STANDARD)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
endif()
include_directories("${CMAKE_SOURCE_DIR}") include_directories("${CMAKE_SOURCE_DIR}")
enable_testing() enable_testing()
@@ -151,8 +158,6 @@ endforeach()
# Ensure locale files are synchronized before building the test executable # Ensure locale files are synchronized before building the test executable
add_dependencies(${PROJECT_NAME} sync_locale_files) add_dependencies(${PROJECT_NAME} sync_locale_files)
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23)
# Build the list of libraries to link # Build the list of libraries to link
set(TEST_LINK_LIBRARIES set(TEST_LINK_LIBRARIES
${SUNSHINE_EXTERNAL_LIBRARIES} ${SUNSHINE_EXTERNAL_LIBRARIES}

View File

@@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 3.20)
project(sunshine_tools) project(sunshine_tools)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT DEFINED CMAKE_CUDA_STANDARD)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
endif()
include_directories( include_directories(
"${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}"
"${FFMPEG_INCLUDE_DIRS}" # this is included only for logging "${FFMPEG_INCLUDE_DIRS}" # this is included only for logging
@@ -13,7 +20,6 @@ set(TOOL_SOURCES
) )
add_executable(dxgi-info dxgi.cpp ${TOOL_SOURCES}) add_executable(dxgi-info dxgi.cpp ${TOOL_SOURCES})
set_target_properties(dxgi-info PROPERTIES CXX_STANDARD 23)
target_link_libraries(dxgi-info target_link_libraries(dxgi-info
${Boost_LIBRARIES} ${Boost_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
@@ -25,7 +31,6 @@ target_link_libraries(dxgi-info
target_compile_options(dxgi-info PRIVATE ${SUNSHINE_COMPILE_OPTIONS}) target_compile_options(dxgi-info PRIVATE ${SUNSHINE_COMPILE_OPTIONS})
add_executable(audio-info audio.cpp ${TOOL_SOURCES}) add_executable(audio-info audio.cpp ${TOOL_SOURCES})
set_target_properties(audio-info PROPERTIES CXX_STANDARD 23)
target_link_libraries(audio-info target_link_libraries(audio-info
${Boost_LIBRARIES} ${Boost_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
@@ -37,7 +42,6 @@ target_link_libraries(audio-info
target_compile_options(audio-info PRIVATE ${SUNSHINE_COMPILE_OPTIONS}) target_compile_options(audio-info PRIVATE ${SUNSHINE_COMPILE_OPTIONS})
add_executable(sunshinesvc sunshinesvc.cpp) add_executable(sunshinesvc sunshinesvc.cpp)
set_target_properties(sunshinesvc PROPERTIES CXX_STANDARD 23)
target_link_libraries(sunshinesvc target_link_libraries(sunshinesvc
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
wtsapi32 wtsapi32