aboutsummaryrefslogtreecommitdiff
path: root/ports/sdl2
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-02-08 15:12:28 -0800
committerGitHub <noreply@github.com>2017-02-08 15:12:28 -0800
commit7ddae17e2f520e83d25f78c078bf8b8a58fff447 (patch)
tree87e2fc5c57a685367ec051b1efbdeb5d3ab43f4d /ports/sdl2
parent5e588ddb5be9e6e27cebcc3be2e1a27f3ca83a50 (diff)
parenta9f7fc6e90feaad50c1221ef9bd56e2620302215 (diff)
downloadvcpkg-7ddae17e2f520e83d25f78c078bf8b8a58fff447.tar.gz
vcpkg-7ddae17e2f520e83d25f78c078bf8b8a58fff447.zip
Merge branch 'master' into master
Diffstat (limited to 'ports/sdl2')
-rw-r--r--ports/sdl2/CONTROL4
-rw-r--r--ports/sdl2/dont-ignore-default-libs.patch22
-rw-r--r--ports/sdl2/portfile.cmake39
3 files changed, 57 insertions, 8 deletions
diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL
index 5a05183f2..c0d747691 100644
--- a/ports/sdl2/CONTROL
+++ b/ports/sdl2/CONTROL
@@ -1,3 +1,3 @@
Source: sdl2
-Version: 2.0.4
-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. \ No newline at end of file
+Version: 2.0.5-2
+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.
diff --git a/ports/sdl2/dont-ignore-default-libs.patch b/ports/sdl2/dont-ignore-default-libs.patch
new file mode 100644
index 000000000..c9f4c6079
--- /dev/null
+++ b/ports/sdl2/dont-ignore-default-libs.patch
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 54a23f0..91c5736 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1549,7 +1549,7 @@ if(SDL_SHARED)
+ SOVERSION ${LT_REVISION}
+ OUTPUT_NAME "SDL2")
+ endif()
+- if(MSVC)
++ if(MSVC AND NOT LIBC)
+ # Don't try to link with the default set of libraries.
+ set_target_properties(SDL2 PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
+ set_target_properties(SDL2 PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
+@@ -1564,7 +1564,7 @@ if(SDL_STATIC)
+ add_library(SDL2-static STATIC ${SOURCE_FILES})
+ set_target_properties(SDL2-static PROPERTIES OUTPUT_NAME "SDL2")
+ set_target_properties(SDL2-static PROPERTIES POSITION_INDEPENDENT_CODE ${SDL_STATIC_PIC})
+- if(MSVC)
++ if(MSVC AND NOT LIBC)
+ set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
+ set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
+ set_target_properties(SDL2-static PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB")
diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake
index bfd4a8f63..185e39665 100644
--- a/ports/sdl2/portfile.cmake
+++ b/ports/sdl2/portfile.cmake
@@ -1,13 +1,19 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-2.0.4)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-2.0.5)
vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://libsdl.org/release/SDL2-2.0.4.tar.gz"
- FILENAME "SDL2-2.0.4.tar.gz"
- SHA512 dd0a95878639856c0f4b8a579ace8071379ab64519fa139b22d3ed857a0f0db87a75bc8480c7207e02fbffd1fdbd448e3c0b882c451675b0e2f1a945af02e1d6
+ URLS "http://libsdl.org/release/SDL2-2.0.5.tar.gz"
+ FILENAME "SDL2-2.0.5.tar.gz"
+ SHA512 6401f5df08c08316c09bc6ac5b28345c5184bb25770baa5c94c0a582ae130ddf73bb736e44bb31f4e427c1ddbbeec4755a6a5f530b6b4c3d0f13ebc78ddc1750
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
-if(TRIPLET_SYSTEM_NAME MATCHES "WindowsStore")
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/dont-ignore-default-libs.patch
+)
+
+if(VCPKG_CMAKE_SYSTEM_NAME MATCHES "WindowsStore")
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj
)
@@ -28,10 +34,26 @@ if(TRIPLET_SYSTEM_NAME MATCHES "WindowsStore")
file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(RENAME ${CURRENT_PACKAGES_DIR}/include/include ${CURRENT_PACKAGES_DIR}/include/SDL2)
else()
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(SDL_STATIC_LIB ON)
+ set(SDL_SHARED_LIB OFF)
+ else()
+ set(SDL_STATIC_LIB OFF)
+ set(SDL_SHARED_LIB ON)
+ endif()
+ if(VCPKG_CRT_LINKAGE STREQUAL static)
+ set(SDL_STATIC_CRT ON)
+ else()
+ set(SDL_STATIC_CRT OFF)
+ endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
- -DSDL_STATIC=OFF
+ -DSDL_STATIC=${SDL_STATIC_LIB}
+ -DSDL_SHARED=${SDL_SHARED_LIB}
+ -DFORCE_STATIC_VCRT=${SDL_STATIC_CRT}
+ -DLIBC=ON
)
vcpkg_install_cmake()
@@ -39,5 +61,10 @@ else()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
endif()
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/SDL2main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/SDL2main.lib)
+
file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2 RENAME copyright)
vcpkg_copy_pdbs()