early-access version 2853
This commit is contained in:
26
externals/vcpkg/ports/sdl2-gfx/001-lrint-arm64.patch
vendored
Executable file
26
externals/vcpkg/ports/sdl2-gfx/001-lrint-arm64.patch
vendored
Executable file
@@ -0,0 +1,26 @@
|
||||
diff --git a/SDL2_gfxPrimitives.c b/SDL2_gfxPrimitives.c
|
||||
index f81e6da..91817fd 100755
|
||||
--- a/SDL2_gfxPrimitives.c
|
||||
+++ b/SDL2_gfxPrimitives.c
|
||||
@@ -1771,8 +1771,20 @@ __declspec(naked) long int
|
||||
__emit(0xE12FFF1E); // bx lr
|
||||
}
|
||||
#pragma warning(pop)
|
||||
+#elif defined(_M_ARM64)
|
||||
+#include <intrin.h>
|
||||
+#pragma warning(push)
|
||||
+#pragma warning(disable: 4716)
|
||||
+__declspec(naked) long
|
||||
+ lrint (double f)
|
||||
+{
|
||||
+ __emit(0x1e674000); // frintx d0, d0
|
||||
+ __emit(0x9e780000); // fcvtzs x0, d0
|
||||
+ __emit(0xd65f03c0); // ret
|
||||
+}
|
||||
+#pragma warning(pop)
|
||||
#else
|
||||
-#error lrint needed for MSVC on non X86/AMD64/ARM targets.
|
||||
+#error lrint needed for MSVC on non X86/AMD64/ARM/ARM64 targets.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
14
externals/vcpkg/ports/sdl2-gfx/002-use-the-lrintf-intrinsic.patch
vendored
Executable file
14
externals/vcpkg/ports/sdl2-gfx/002-use-the-lrintf-intrinsic.patch
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
diff --git a/SDL2_gfxPrimitives.c b/SDL2_gfxPrimitives.c
|
||||
index d8afb10..6c88288 100644
|
||||
--- a/SDL2_gfxPrimitives.c
|
||||
+++ b/SDL2_gfxPrimitives.c
|
||||
@@ -1757,7 +1757,8 @@ int filledCircleRGBA(SDL_Renderer * renderer, Sint16 x, Sint16 y, Sint16 rad, Ui
|
||||
/* ----- AA Ellipse */
|
||||
|
||||
/* Windows targets do not have lrint, so provide a local inline version */
|
||||
-#if defined(_MSC_VER)
|
||||
+/* MSVC pre 16.8 do not have lrint */
|
||||
+#if defined(_MSC_VER) && _MSC_VER < 1928
|
||||
/* Detect 64bit and use intrinsic version */
|
||||
#ifdef _M_X64
|
||||
#include <emmintrin.h>
|
||||
53
externals/vcpkg/ports/sdl2-gfx/CMakeLists.txt
vendored
Executable file
53
externals/vcpkg/ports/sdl2-gfx/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,53 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(SDL2_gfx VERSION 1.0.4 LANGUAGES C)
|
||||
|
||||
set(CONFIG_NAME "sdl2-gfx")
|
||||
|
||||
find_path(SDL_INCLUDE_DIR SDL2/SDL.h)
|
||||
find_package(SDL2 CONFIG REQUIRED)
|
||||
|
||||
# builtin formats
|
||||
set(SDL_GFX_DEFINES WIN32)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
list(APPEND SDL_GFX_DEFINES DLL_EXPORT)
|
||||
endif()
|
||||
|
||||
add_library(${PROJECT_NAME}
|
||||
SDL2_framerate.c
|
||||
SDL2_gfxPrimitives.c
|
||||
SDL2_imageFilter.c
|
||||
SDL2_rotozoom.c)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
$<INSTALL_INTERFACE:include/SDL2>
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
add_compile_definitions(${SDL_GFX_DEFINES})
|
||||
endif()
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${SDL_INCLUDE_DIR}/SDL2)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION bin
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib)
|
||||
|
||||
install(EXPORT ${PROJECT_NAME}
|
||||
FILE ${CONFIG_NAME}-targets.cmake
|
||||
NAMESPACE SDL2::
|
||||
DESTINATION share/${CONFIG_NAME}/
|
||||
)
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake
|
||||
"include(CMakeFindDependencyMacro)
|
||||
find_dependency(SDL2 CONFIG)
|
||||
include(\${CMAKE_CURRENT_LIST_DIR}/${CONFIG_NAME}-targets.cmake)"
|
||||
)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}-config.cmake DESTINATION share/${CONFIG_NAME})
|
||||
|
||||
if(NOT SDL_GFX_SKIP_HEADERS)
|
||||
install(FILES SDL2_framerate.h SDL2_gfxPrimitives.h SDL2_imageFilter.h SDL2_rotozoom.h SDL2_gfxPrimitives_font.h DESTINATION include/SDL2)
|
||||
endif()
|
||||
32
externals/vcpkg/ports/sdl2-gfx/portfile.cmake
vendored
Executable file
32
externals/vcpkg/ports/sdl2-gfx/portfile.cmake
vendored
Executable file
@@ -0,0 +1,32 @@
|
||||
set(VERSION 1.0.4)
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-${VERSION}.zip"
|
||||
FILENAME "SDL2_gfx-${VERSION}.zip"
|
||||
SHA512 213b481469ba2161bd8558a7a5427b129420193b1c3895923d515f69f87991ed2c99bbc44349c60b4bcbb7d7d2255c1f15ee8a3523c26502070cfaacccaa5242
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
REF ${VERSION}
|
||||
PATCHES
|
||||
001-lrint-arm64.patch
|
||||
002-use-the-lrintf-intrinsic.patch
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS_DEBUG -DSDL_GFX_SKIP_HEADERS=1
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_fixup_cmake_targets()
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
9
externals/vcpkg/ports/sdl2-gfx/vcpkg.json
vendored
Executable file
9
externals/vcpkg/ports/sdl2-gfx/vcpkg.json
vendored
Executable file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "sdl2-gfx",
|
||||
"version-string": "1.0.4",
|
||||
"port-version": 8,
|
||||
"description": "Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer.",
|
||||
"dependencies": [
|
||||
"sdl2"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user