aboutsummaryrefslogtreecommitdiff
path: root/ports/sdl2
diff options
context:
space:
mode:
authorThomas Fussell <thomas.fussell@gmail.com>2017-01-01 18:28:56 -0500
committerThomas Fussell <thomas.fussell@gmail.com>2017-01-01 18:28:56 -0500
commit32dd084deadecd726172b85239c30bbbf683f62b (patch)
tree492044fa3bce12e930d6c565d92095d71fac68e5 /ports/sdl2
parent937c246ac2aa6ec11a02d0cb36a4e50919842c8a (diff)
parentbc8cca82a297e37bf9dde387991c1d51618273b7 (diff)
downloadvcpkg-32dd084deadecd726172b85239c30bbbf683f62b.tar.gz
vcpkg-32dd084deadecd726172b85239c30bbbf683f62b.zip
Merge branch 'master' of http://github.com/Microsoft/vcpkg
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.cmake35
3 files changed, 53 insertions, 8 deletions
diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL
index 7f10c1954..c0d747691 100644
--- a/ports/sdl2/CONTROL
+++ b/ports/sdl2/CONTROL
@@ -1,3 +1,3 @@
Source: sdl2
-Version: 2.0.5
-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 6fcb94c8b..185e39665 100644
--- a/ports/sdl2/portfile.cmake
+++ b/ports/sdl2/portfile.cmake
@@ -1,7 +1,3 @@
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- message(STATUS "Warning: Static building not supported yet. Building dynamic.")
- set(VCPKG_LIBRARY_LINKAGE dynamic)
-endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-2.0.5)
vcpkg_download_distfile(ARCHIVE_FILE
@@ -11,7 +7,13 @@ vcpkg_download_distfile(ARCHIVE_FILE
)
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
)
@@ -32,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()
@@ -43,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()