mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-27 19:19:41 +08:00
release: sync scripts with main branch
[ci skip]
This commit is contained in:
@@ -204,10 +204,22 @@ jobs:
|
|||||||
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}" \
|
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}" \
|
||||||
-DCMAKE_SYSTEM_NAME=iOS \
|
-DCMAKE_SYSTEM_NAME=iOS \
|
||||||
-DCMAKE_OSX_ARCHITECTURES="arm64" \
|
-DCMAKE_OSX_ARCHITECTURES="arm64" \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
-Werror=dev \
|
-Werror=dev \
|
||||||
-B build_ios
|
-B build_ios
|
||||||
cmake --build build_ios --config Release --verbose
|
cmake --build build_ios --config Release --verbose
|
||||||
|
|
||||||
|
cmake -S "${{ steps.src.outputs.path }}/cmake/test" \
|
||||||
|
-DTEST_FULL=FALSE \
|
||||||
|
-DTEST_STATIC=FALSE \
|
||||||
|
-DTEST_TEST=FALSE \
|
||||||
|
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}/SDL3.xcframework/ios-arm64" \
|
||||||
|
-DCMAKE_SYSTEM_NAME=iOS \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES="arm64" \
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
|
-Werror=dev \
|
||||||
|
-B build_ios2
|
||||||
|
cmake --build build_ios2 --config Release --verbose
|
||||||
- name: 'CMake (configure + build) tvOS'
|
- name: 'CMake (configure + build) tvOS'
|
||||||
run: |
|
run: |
|
||||||
cmake -S "${{ steps.src.outputs.path }}/cmake/test" \
|
cmake -S "${{ steps.src.outputs.path }}/cmake/test" \
|
||||||
@@ -217,10 +229,22 @@ jobs:
|
|||||||
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}" \
|
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}" \
|
||||||
-DCMAKE_SYSTEM_NAME=tvOS \
|
-DCMAKE_SYSTEM_NAME=tvOS \
|
||||||
-DCMAKE_OSX_ARCHITECTURES="arm64" \
|
-DCMAKE_OSX_ARCHITECTURES="arm64" \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
-Werror=dev \
|
-Werror=dev \
|
||||||
-B build_tvos
|
-B build_tvos
|
||||||
cmake --build build_tvos --config Release --verbose
|
cmake --build build_tvos --config Release --verbose
|
||||||
|
|
||||||
|
cmake -S "${{ steps.src.outputs.path }}/cmake/test" \
|
||||||
|
-DTEST_FULL=FALSE \
|
||||||
|
-DTEST_STATIC=FALSE \
|
||||||
|
-DTEST_TEST=FALSE \
|
||||||
|
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}/SDL3.xcframework/tvos-arm64" \
|
||||||
|
-DCMAKE_SYSTEM_NAME=tvOS \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES="arm64" \
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
|
-Werror=dev \
|
||||||
|
-B build_tvos2
|
||||||
|
cmake --build build_tvos2 --config Release --verbose
|
||||||
- name: 'CMake (configure + build) iOS simulator'
|
- name: 'CMake (configure + build) iOS simulator'
|
||||||
run: |
|
run: |
|
||||||
sysroot=$(xcodebuild -version -sdk iphonesimulator Path)
|
sysroot=$(xcodebuild -version -sdk iphonesimulator Path)
|
||||||
@@ -237,6 +261,19 @@ jobs:
|
|||||||
-Werror=dev \
|
-Werror=dev \
|
||||||
-B build_ios_simulator
|
-B build_ios_simulator
|
||||||
cmake --build build_ios_simulator --config Release --verbose
|
cmake --build build_ios_simulator --config Release --verbose
|
||||||
|
|
||||||
|
cmake -S "${{ steps.src.outputs.path }}/cmake/test" \
|
||||||
|
-DTEST_FULL=FALSE \
|
||||||
|
-DTEST_STATIC=FALSE \
|
||||||
|
-DTEST_TEST=FALSE \
|
||||||
|
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}/SDL3.xcframework/ios-arm64_x86_64-simulator" \
|
||||||
|
-DCMAKE_SYSTEM_NAME=iOS \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
|
||||||
|
-DCMAKE_OSX_SYSROOT="${sysroot}" \
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
|
-Werror=dev \
|
||||||
|
-B build_ios_simulator2
|
||||||
|
cmake --build build_ios_simulator2 --config Release --verbose
|
||||||
- name: 'CMake (configure + build) tvOS simulator'
|
- name: 'CMake (configure + build) tvOS simulator'
|
||||||
run: |
|
run: |
|
||||||
sysroot=$(xcodebuild -version -sdk appletvsimulator Path)
|
sysroot=$(xcodebuild -version -sdk appletvsimulator Path)
|
||||||
@@ -254,6 +291,19 @@ jobs:
|
|||||||
-B build_tvos_simulator
|
-B build_tvos_simulator
|
||||||
cmake --build build_tvos_simulator --config Release --verbose
|
cmake --build build_tvos_simulator --config Release --verbose
|
||||||
|
|
||||||
|
cmake -S "${{ steps.src.outputs.path }}/cmake/test" \
|
||||||
|
-DTEST_FULL=FALSE \
|
||||||
|
-DTEST_STATIC=FALSE \
|
||||||
|
-DTEST_TEST=FALSE \
|
||||||
|
-DCMAKE_PREFIX_PATH="${{ steps.mount.outputs.mount_point }}/SDL3.xcframework/tvos-arm64_x86_64-simulator" \
|
||||||
|
-DCMAKE_SYSTEM_NAME=tvOS \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
|
||||||
|
-DCMAKE_OSX_SYSROOT="${sysroot}" \
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
||||||
|
-Werror=dev \
|
||||||
|
-B build_tvos_simulator2
|
||||||
|
cmake --build build_tvos_simulator2 --config Release --verbose
|
||||||
|
|
||||||
msvc:
|
msvc:
|
||||||
needs: [src]
|
needs: [src]
|
||||||
runs-on: windows-2025
|
runs-on: windows-2025
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# SDL3 CMake configuration file:
|
# SDL3 CMake configuration file:
|
||||||
# This file is meant to be placed in Resources/CMake of a SDL3 framework
|
# This file is meant to be placed in Resources/CMake of a SDL3 framework for macOS,
|
||||||
|
# or in the CMake directory of a SDL3 framework for iOS / tvOS / visionOS.
|
||||||
|
|
||||||
# INTERFACE_LINK_OPTIONS needs CMake 3.12
|
# INTERFACE_LINK_OPTIONS needs CMake 3.12
|
||||||
cmake_minimum_required(VERSION 3.12)
|
cmake_minimum_required(VERSION 3.12...4.0)
|
||||||
|
|
||||||
include(FeatureSummary)
|
include(FeatureSummary)
|
||||||
set_package_properties(SDL3 PROPERTIES
|
set_package_properties(SDL3 PROPERTIES
|
||||||
@@ -31,16 +32,31 @@ endmacro()
|
|||||||
|
|
||||||
set(SDL3_FOUND TRUE)
|
set(SDL3_FOUND TRUE)
|
||||||
|
|
||||||
# Compute the installation prefix relative to this file.
|
# Compute the installation prefix relative to this file:
|
||||||
set(_sdl3_framework_path "${CMAKE_CURRENT_LIST_DIR}") # > /SDL3.framework/Resources/CMake/
|
# search upwards for the .framework directory
|
||||||
get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" REALPATH) # > /SDL3.framework/Versions/Current/Resources/CMake
|
set(_current_path "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" REALPATH) # > /SDL3.framework/Versions/A/Resources/CMake/
|
get_filename_component(_current_path "${_current_path}" REALPATH)
|
||||||
get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/Versions/A/Resources/
|
set(_sdl3_framework_path "")
|
||||||
get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/Versions/A/
|
|
||||||
get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/Versions/
|
|
||||||
get_filename_component(_sdl3_framework_path "${_sdl3_framework_path}" PATH) # > /SDL3.framework/
|
|
||||||
get_filename_component(_sdl3_framework_parent_path "${_sdl3_framework_path}" PATH) # > /
|
|
||||||
|
|
||||||
|
while(NOT _sdl3_framework_path)
|
||||||
|
if(IS_DIRECTORY "${_current_path}" AND "${_current_path}" MATCHES "/SDL3\\.framework$")
|
||||||
|
set(_sdl3_framework_path "${_current_path}")
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
get_filename_component(_next_current_path "${_current_path}" DIRECTORY)
|
||||||
|
if("${_current_path}" STREQUAL "${_next_current_path}")
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
set(_current_path "${_next_current_path}")
|
||||||
|
endwhile()
|
||||||
|
unset(_current_path)
|
||||||
|
unset(_next_current_path)
|
||||||
|
|
||||||
|
if(NOT _sdl3_framework_path)
|
||||||
|
message(FATAL_ERROR "Could not find SDL3.framework root from ${CMAKE_CURRENT_LIST_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_filename_component(_sdl3_framework_parent_path "${_sdl3_framework_path}" PATH)
|
||||||
|
|
||||||
# All targets are created, even when some might not be requested though COMPONENTS.
|
# All targets are created, even when some might not be requested though COMPONENTS.
|
||||||
# This is done for compatibility with CMake generated SDL3-target.cmake files.
|
# This is done for compatibility with CMake generated SDL3-target.cmake files.
|
||||||
|
|||||||
@@ -1,16 +1,26 @@
|
|||||||
# based on the files generated by CMake's write_basic_package_version_file
|
# based on the files generated by CMake's write_basic_package_version_file
|
||||||
|
|
||||||
# SDL CMake version configuration file:
|
# SDL CMake version configuration file:
|
||||||
# This file is meant to be placed in Resources/CMake of a SDL3 framework
|
# This file is meant to be placed in Resources/CMake of a SDL3 framework for macOS,
|
||||||
|
# or in the CMake directory of a SDL3 framework for iOS / tvOS / visionOS.
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.12)
|
cmake_minimum_required(VERSION 3.12...4.0)
|
||||||
|
|
||||||
if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h")
|
# Find SDL_version.h
|
||||||
message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory of SDL2.framework")
|
set(_sdl_version_h_path "")
|
||||||
|
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h")
|
||||||
|
set(_sdl_version_h_path "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h")
|
||||||
|
elseif(EXISTS "${CMAKE_CURRENT_LIST_DIR}/../Headers/SDL_version.h")
|
||||||
|
set(_sdl_version_h_path "${CMAKE_CURRENT_LIST_DIR}/../Headers/SDL_version.h")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT _sdl_version_h_path)
|
||||||
|
message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory or the CMake directory of SDL3.framework.")
|
||||||
|
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(READ "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h" _sdl_version_h)
|
file(READ "${_sdl_version_h_path}" _sdl_version_h)
|
||||||
string(REGEX MATCH "#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)" _sdl_major_re "${_sdl_version_h}")
|
string(REGEX MATCH "#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)" _sdl_major_re "${_sdl_version_h}")
|
||||||
set(_sdl_major "${CMAKE_MATCH_1}")
|
set(_sdl_major "${CMAKE_MATCH_1}")
|
||||||
string(REGEX MATCH "#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)" _sdl_minor_re "${_sdl_version_h}")
|
string(REGEX MATCH "#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)" _sdl_minor_re "${_sdl_version_h}")
|
||||||
@@ -24,6 +34,7 @@ else()
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
unset(_sdl_version_h_path)
|
||||||
unset(_sdl_major_re)
|
unset(_sdl_major_re)
|
||||||
unset(_sdl_major)
|
unset(_sdl_major)
|
||||||
unset(_sdl_minor_re)
|
unset(_sdl_minor_re)
|
||||||
|
|||||||
@@ -1028,6 +1028,7 @@ class Releaser:
|
|||||||
# NDK 21e does not support -ffile-prefix-map
|
# NDK 21e does not support -ffile-prefix-map
|
||||||
# f'''-DCMAKE_C_FLAGS="-ffile-prefix-map={self.root}=/src/{self.project}"''',
|
# f'''-DCMAKE_C_FLAGS="-ffile-prefix-map={self.root}=/src/{self.project}"''',
|
||||||
# f'''-DCMAKE_CXX_FLAGS="-ffile-prefix-map={self.root}=/src/{self.project}"''',
|
# f'''-DCMAKE_CXX_FLAGS="-ffile-prefix-map={self.root}=/src/{self.project}"''',
|
||||||
|
f"-DANDROID_USE_LEGACY_TOOLCHAIN=0",
|
||||||
f"-DCMAKE_EXE_LINKER_FLAGS={extra_link_options}",
|
f"-DCMAKE_EXE_LINKER_FLAGS={extra_link_options}",
|
||||||
f"-DCMAKE_SHARED_LINKER_FLAGS={extra_link_options}",
|
f"-DCMAKE_SHARED_LINKER_FLAGS={extra_link_options}",
|
||||||
f"-DCMAKE_TOOLCHAIN_FILE={cmake_toolchain_file}",
|
f"-DCMAKE_TOOLCHAIN_FILE={cmake_toolchain_file}",
|
||||||
@@ -1517,7 +1518,7 @@ def main(argv=None) -> int:
|
|||||||
if args.android_home is None or not Path(args.android_home).is_dir():
|
if args.android_home is None or not Path(args.android_home).is_dir():
|
||||||
parser.error("Invalid $ANDROID_HOME or --android-home: must be a directory containing the Android SDK")
|
parser.error("Invalid $ANDROID_HOME or --android-home: must be a directory containing the Android SDK")
|
||||||
if args.android_ndk_home is None or not Path(args.android_ndk_home).is_dir():
|
if args.android_ndk_home is None or not Path(args.android_ndk_home).is_dir():
|
||||||
parser.error("Invalid $ANDROID_NDK_HOME or --android_ndk_home: must be a directory containing the Android NDK")
|
parser.error("Invalid $ANDROID_NDK_HOME or --android-ndk-home: must be a directory containing the Android NDK")
|
||||||
if args.android_api is None:
|
if args.android_api is None:
|
||||||
with section_printer.group("Detect Android APIS"):
|
with section_printer.group("Detect Android APIS"):
|
||||||
args.android_api = releaser._detect_android_api(android_home=args.android_home)
|
args.android_api = releaser._detect_android_api(android_home=args.android_home)
|
||||||
|
|||||||
Reference in New Issue
Block a user