mirror of https://github.com/microsoft/vcpkg.git
[sdl2] Fix exported deps for android (#39709)
This commit is contained in:
parent
851660ec8d
commit
5cb8081fd3
|
|
@ -2,12 +2,13 @@ diff --git a/SDL2Config.cmake.in b/SDL2Config.cmake.in
|
|||
index cc8bcf26d..ead829767 100644
|
||||
--- a/SDL2Config.cmake.in
|
||||
+++ b/SDL2Config.cmake.in
|
||||
@@ -35,7 +35,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/sdlfind.cmake")
|
||||
@@ -35,7 +35,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/sdlfind.cmake")
|
||||
|
||||
set(SDL_ALSA @SDL_ALSA@)
|
||||
set(SDL_ALSA_SHARED @SDL_ALSA_SHARED@)
|
||||
-if(SDL_ALSA AND NOT SDL_ALSA_SHARED AND TARGET SDL2::SDL2-static)
|
||||
+if(SDL_ALSA)
|
||||
+ set(CMAKE_REQUIRE_FIND_PACKAGE_ALSA 1)
|
||||
sdlFindALSA()
|
||||
endif()
|
||||
unset(SDL_ALSA)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2a91824..a8e9de4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -3162,6 +3162,19 @@ set(SDL_STATIC_LIBS ${SDL_LIBS} ${EXTRA_LDFLAGS} ${_EXTRA_LIBS})
|
||||
list(REMOVE_DUPLICATES SDL_STATIC_LIBS)
|
||||
listtostr(SDL_STATIC_LIBS _SDL_STATIC_LIBS)
|
||||
set(SDL_STATIC_LIBS ${_SDL_STATIC_LIBS})
|
||||
+if("${SOURCE_FILES};" MATCHES "[.]cpp;")
|
||||
+ set(FAKE_CXX_LINKAGE "")
|
||||
+ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES)
|
||||
+ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES)
|
||||
+ continue()
|
||||
+ elseif(EXISTS "${lib}")
|
||||
+ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}")
|
||||
+ else()
|
||||
+ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}")
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ string(APPEND SDL_STATIC_LIBS "${FAKE_CXX_LINKAGE}")
|
||||
+endif()
|
||||
listtostr(SDL_LIBS _SDL_LIBS)
|
||||
set(SDL_LIBS ${_SDL_LIBS})
|
||||
listtostr(SDL_CFLAGS _SDL_CFLAGS "")
|
||||
|
|
@ -7,6 +7,7 @@ vcpkg_from_github(
|
|||
PATCHES
|
||||
deps.patch
|
||||
alsa-dep-fix.patch
|
||||
cxx-linkage-pkgconfig.diff
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC)
|
||||
|
|
@ -16,14 +17,11 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FORCE_STATIC_VCRT)
|
|||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
alsa SDL_ALSA
|
||||
alsa CMAKE_REQUIRE_FIND_PACKAGE_ALSA
|
||||
ibus SDL_IBUS
|
||||
samplerate SDL_LIBSAMPLERATE
|
||||
vulkan SDL_VULKAN
|
||||
wayland SDL_WAYLAND
|
||||
x11 SDL_X11
|
||||
INVERTED_FEATURES
|
||||
alsa CMAKE_DISABLE_FIND_PACKAGE_ALSA
|
||||
)
|
||||
|
||||
if ("x11" IN_LIST FEATURES)
|
||||
|
|
@ -49,13 +47,11 @@ vcpkg_cmake_configure(
|
|||
-DSDL_FORCE_STATIC_VCRT=${FORCE_STATIC_VCRT}
|
||||
-DSDL_LIBC=ON
|
||||
-DSDL_TEST=OFF
|
||||
-DSDL_INSTALL_CMAKEDIR="cmake"
|
||||
-DSDL_INSTALL_CMAKEDIR=cmake
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
||||
-DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON
|
||||
-DSDL_LIBSAMPLERATE_SHARED=OFF
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
SDL_FORCE_STATIC_VCRT
|
||||
PKG_CONFIG_USE_CMAKE_PREFIX_PATH
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
|
@ -105,7 +101,7 @@ file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_CURRENT_VERSION REGEX ${DYLIB
|
|||
string(REGEX REPLACE ${DYLIB_COMPATIBILITY_VERSION_REGEX} "\\1" DYLIB_COMPATIBILITY_VERSION "${DYLIB_COMPATIBILITY_VERSION}")
|
||||
string(REGEX REPLACE ${DYLIB_CURRENT_VERSION_REGEX} "\\1" DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION}")
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug" AND NOT VCPKG_TARGET_IS_ANDROID)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2main" "-lSDL2maind" IGNORE_UNCHANGED)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2 " "-lSDL2d " IGNORE_UNCHANGED)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2-static " "-lSDL2-staticd " IGNORE_UNCHANGED)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"name": "sdl2",
|
||||
"version": "2.30.5",
|
||||
"port-version": 1,
|
||||
"description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.",
|
||||
"homepage": "https://www.libsdl.org/download-2.0.php",
|
||||
"license": "Zlib",
|
||||
|
|
|
|||
|
|
@ -8034,7 +8034,7 @@
|
|||
},
|
||||
"sdl2": {
|
||||
"baseline": "2.30.5",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"sdl2-gfx": {
|
||||
"baseline": "1.0.4",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "e28edc448b13fae33fc8956adc9017e691a9a735",
|
||||
"version": "2.30.5",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "ba79a866e3193439c7d9e2ec3ac1ceea368088d9",
|
||||
"version": "2.30.5",
|
||||
|
|
|
|||
Loading…
Reference in New Issue