aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackBoosY <47264268+JackBoosY@users.noreply.github.com>2019-03-26 13:51:45 +0800
committerPhil Christensen <philc@microsoft.com>2019-03-25 22:51:45 -0700
commit252ba6a04f190a1e371a8421e46e6be3cce173a9 (patch)
treebd507321183c04f013cddbf093003ac2787689ea
parent0394ade3a993bccdea70cfbef6b37bb482729c8d (diff)
downloadvcpkg-252ba6a04f190a1e371a8421e46e6be3cce173a9.tar.gz
vcpkg-252ba6a04f190a1e371a8421e46e6be3cce173a9.zip
[libmikmod]fix missing dll bug. (#5743)
* [libmikmod]fix missing dll bug. * [libmikmod]1.Set macro to replace fixed library suffixes to support multiple platforms 2.Copying dynamic library files is disabled when building static libraries * [libmikmod]1. change vcpkg_apply_patches to vcpkg_extract_source_archive_ex. 2.delete commented code. * [libmikmod] remove extra 'set'
-rw-r--r--ports/libmikmod/CONTROL2
-rw-r--r--ports/libmikmod/fix-missing-dll.patch29
-rw-r--r--ports/libmikmod/portfile.cmake12
3 files changed, 39 insertions, 4 deletions
diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL
index c1dc45c3e..820a861c6 100644
--- a/ports/libmikmod/CONTROL
+++ b/ports/libmikmod/CONTROL
@@ -1,4 +1,4 @@
Source: libmikmod
-Version: 3.3.11.1-1
+Version: 3.3.11.1-2
Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.
Build-Depends: openal-soft
diff --git a/ports/libmikmod/fix-missing-dll.patch b/ports/libmikmod/fix-missing-dll.patch
new file mode 100644
index 000000000..a15c2400c
--- /dev/null
+++ b/ports/libmikmod/fix-missing-dll.patch
@@ -0,0 +1,29 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 53a174e..b4d31d3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -856,11 +856,19 @@ INSTALL(
+ ARCHIVE DESTINATION "lib${LIB_SUFFIX}"
+ )
+
+-INSTALL(
+- FILES "${CMAKE_BINARY_DIR}/libmikmod-config"
+- PERMISSIONS GROUP_EXECUTE GROUP_READ OWNER_EXECUTE OWNER_READ OWNER_WRITE WORLD_EXECUTE WORLD_READ
+- DESTINATION "bin"
+-)
++IF(WIN32)
++ SET(LIB_SUFFIX_USED ".dll")
++ELSEIF(UNIX)
++ SET(LIB_SUFFIX_USED ".so")
++ELSEIF(APPLE)
++ SET(LIB_SUFFIX_USED ".dylib")
++ELSE()
++ SET(LIB_SUFFIX_USED)
++ENDIF()
++
++IF(NOT ENABLE_STATIC)
++ INSTALL(FILES "${CMAKE_BINARY_DIR}/mikmod${LIB_SUFFIX_USED}" DESTINATION "bin")
++ENDIF()
+
+ INSTALL(
+ FILES
diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake
index 1231f5bfa..3ff7ecb52 100644
--- a/ports/libmikmod/portfile.cmake
+++ b/ports/libmikmod/portfile.cmake
@@ -11,13 +11,19 @@
#
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmikmod-3.3.11.1)
+
vcpkg_download_distfile(ARCHIVE
URLS "https://downloads.sourceforge.net/project/mikmod/libmikmod/3.3.11.1/libmikmod-3.3.11.1.tar.gz"
FILENAME "libmikmod-3.3.11.1.tar.gz"
SHA512 f2439e2b691613847cd0787dd4e050116683ce7b05c215b8afecde5c6add819ea6c18e678e258c0a80786bef463f406072de15127f64368f694287a5e8e1a9de
)
-vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_extract_source_archive_ex(
+ ARCHIVE ${ARCHIVE}
+ OUT_SOURCE_PATH SOURCE_PATH
+ PATCHES
+ fix-missing-dll.patch
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -49,4 +55,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
-endif() \ No newline at end of file
+endif()