aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Cheung <ryancheung.go@gmail.com>2018-05-18 23:15:52 +0800
committerRobert Schumacher <roschuma@microsoft.com>2018-05-18 08:15:52 -0700
commit7ad1fcc376024b442baa67db6c1f2d10932a657b (patch)
tree9050210588cb049de7f9014fdd9538ad3cba8589
parent5fe458d22e7a00422a518467f8060025d1d331b0 (diff)
downloadvcpkg-7ad1fcc376024b442baa67db6c1f2d10932a657b.tar.gz
vcpkg-7ad1fcc376024b442baa67db6c1f2d10932a657b.zip
Package sdl2pp (#3430)
* Fix mpg123 build in macOS and Linux, fix sdl2-mixer find mpg123 libarry * Add package sdl2pp * [mpg123] Use Windows logic in Windows Desktop * [sdl2-mixer] Bump package version * [sdl2pp] Use patch instead of replacing CMakeLists.txt. Use vcpkg_from_github()
-rw-r--r--ports/mpg123/CONTROL4
-rw-r--r--ports/mpg123/portfile.cmake153
-rw-r--r--ports/sdl2-mixer/CMakeLists.txt6
-rw-r--r--ports/sdl2-mixer/CONTROL2
-rw-r--r--ports/sdl2pp/CONTROL4
-rw-r--r--ports/sdl2pp/find-debug-libs.patch54
-rw-r--r--ports/sdl2pp/portfile.cmake28
7 files changed, 205 insertions, 46 deletions
diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL
index 488ca7a90..ca4f01835 100644
--- a/ports/mpg123/CONTROL
+++ b/ports/mpg123/CONTROL
@@ -1,3 +1,3 @@
Source: mpg123
-Version: 1.25.8-4
-Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3). \ No newline at end of file
+Version: 1.25.8-5
+Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).
diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake
index 891542f00..ff7645390 100644
--- a/ports/mpg123/portfile.cmake
+++ b/ports/mpg123/portfile.cmake
@@ -29,55 +29,128 @@ vcpkg_find_acquire_program(YASM)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch"
- "${CURRENT_PORT_DIR}/0002-fix-x86-build.patch")
-
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
- RELEASE_CONFIGURATION Release_x86${MPG123_CONFIGURATION_SUFFIX}
- DEBUG_CONFIGURATION Debug_x86${MPG123_CONFIGURATION_SUFFIX}
-)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch"
+ "${CURRENT_PORT_DIR}/0002-fix-x86-build.patch")
-message(STATUS "Installing")
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug/libmpg123.dll
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug/libmpg123.pdb
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
- )
- file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release/libmpg123.dll
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release/libmpg123.pdb
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+ vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
+ RELEASE_CONFIGURATION Release_x86${MPG123_CONFIGURATION_SUFFIX}
+ DEBUG_CONFIGURATION Debug_x86${MPG123_CONFIGURATION_SUFFIX}
)
-else()
+
+ message(STATUS "Installing")
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ file(INSTALL
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug/libmpg123.dll
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug/libmpg123.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+ )
+ file(INSTALL
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release/libmpg123.dll
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release/libmpg123.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+ )
+ else()
+ file(INSTALL
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug_x86/libmpg123.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+ )
+ file(INSTALL
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release_x86/libmpg123.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+ )
+ endif()
+
file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug_x86/libmpg123.pdb
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug/libmpg123.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release_x86/libmpg123.pdb
+ ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release/libmpg123.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
-endif()
+ file(INSTALL
+ ${SOURCE_PATH}/ports/MSVC++/mpg123.h
+ ${SOURCE_PATH}/src/libmpg123/fmt123.h
+ ${SOURCE_PATH}/src/libmpg123/mpg123.h.in
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+ )
+elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ file(REMOVE_RECURSE ${SOURCE_PATH}/build/debug)
+ file(REMOVE_RECURSE ${SOURCE_PATH}/build/release)
-file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Debug/libmpg123.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
-file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/${MPG123_ARCH}/Release/libmpg123.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(INSTALL
- ${SOURCE_PATH}/ports/MSVC++/mpg123.h
- ${SOURCE_PATH}/src/libmpg123/fmt123.h
- ${SOURCE_PATH}/src/libmpg123/mpg123.h.in
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
-)
+ ################
+ # Debug build
+ ################
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND "${SOURCE_PATH}/configure" --prefix=${SOURCE_PATH}/build/debug --enable-debug=yes --enable-static=yes --disable-dependency-tracking --with-default-audio=coreaudio --with-module-suffix=.so
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME config-${TARGET_TRIPLET}-dbg
+ )
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done.")
+
+ message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make -j install
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-dbg
+ )
+ message(STATUS "Installing ${TARGET_TRIPLET}-dbg done.")
+
+ ################
+ # Release build
+ ################
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make distclean
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME config-${TARGET_TRIPLET}-dbg
+ )
+ vcpkg_execute_required_process(
+ COMMAND "${SOURCE_PATH}/configure" --prefix=${SOURCE_PATH}/build/release --enable-static=yes --disable-dependency-tracking --with-default-audio=coreaudio --with-module-suffix=.so
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME config-${TARGET_TRIPLET}-rel
+ )
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel done.")
+
+ message(STATUS "Installing ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make -j install
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+ message(STATUS "Installing ${TARGET_TRIPLET}-rel done.")
+
+ file(
+ INSTALL
+ "${SOURCE_PATH}/build/debug/include/fmt123.h"
+ "${SOURCE_PATH}/build/debug/include/mpg123.h"
+ "${SOURCE_PATH}/build/debug/include/out123.h"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/include
+ )
+
+ file(
+ INSTALL
+ "${SOURCE_PATH}/build/debug/lib/libmpg123.a"
+ "${SOURCE_PATH}/build/debug/lib/libout123.a"
+ DESTINATION
+ ${CURRENT_INSTALLED_DIR}/debug/lib
+ )
+
+ file(
+ INSTALL
+ "${SOURCE_PATH}/build/release/lib/libmpg123.a"
+ "${SOURCE_PATH}/build/release/lib/libout123.a"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/lib
+ )
+endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpg123 RENAME copyright)
diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt
index 1df35c44a..6992521b1 100644
--- a/ports/sdl2-mixer/CMakeLists.txt
+++ b/ports/sdl2-mixer/CMakeLists.txt
@@ -7,14 +7,14 @@ set(SDL_MIXER_INCLUDES ${SDL_INCLUDE_DIR})
set(SDL_MIXER_LIBRARIES ${SDL_LIBRARY})
# builtin formats
-set(SDL_MIXER_DEFINES
+set(SDL_MIXER_DEFINES
MUSIC_WAV
MUSIC_MID_NATIVE)
# MP3 support
if(SDL_MIXER_ENABLE_MP3)
find_path(MPG123_INCLUDE_DIR mpg123.h)
- find_library(MPG123_LIBRARY libmpg123)
+ find_library(MPG123_LIBRARY NAMES libmpg123 mpg123)
list(APPEND SDL_MIXER_INCLUDES ${MPG123_INCLUDE_DIR})
list(APPEND SDL_MIXER_LIBRARIES ${MPG123_LIBRARY})
list(APPEND SDL_MIXER_DEFINES MUSIC_MP3_MPG123)
@@ -47,7 +47,7 @@ if(SDL_MIXER_ENABLE_OGGVORBIS)
list(APPEND SDL_MIXER_DEFINES MUSIC_OGG)
endif()
-add_library(SDL2_mixer
+add_library(SDL2_mixer
effect_position.c
effect_stereoreverse.c
effects_internal.c
diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL
index e66081fc7..7f953a2f9 100644
--- a/ports/sdl2-mixer/CONTROL
+++ b/ports/sdl2-mixer/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-mixer
-Version: 2.0.2-2
+Version: 2.0.2-4
Description: Multi-channel audio mixer library for SDL.
Build-Depends: sdl2, libflac, mpg123, libmodplug, libvorbis
diff --git a/ports/sdl2pp/CONTROL b/ports/sdl2pp/CONTROL
new file mode 100644
index 000000000..19fecb092
--- /dev/null
+++ b/ports/sdl2pp/CONTROL
@@ -0,0 +1,4 @@
+Source: sdl2pp
+Version: 0.16.0-1
+Description: C++11 bindings/wrapper for SDL2 https://sdl2pp.amdmi3.ru
+Build-Depends: sdl2, sdl2-mixer, sdl2-image, sdl2-ttf
diff --git a/ports/sdl2pp/find-debug-libs.patch b/ports/sdl2pp/find-debug-libs.patch
new file mode 100644
index 000000000..282324345
--- /dev/null
+++ b/ports/sdl2pp/find-debug-libs.patch
@@ -0,0 +1,54 @@
+diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake
+index 8b2addb..4def5f3 100644
+--- a/cmake/FindSDL2.cmake
++++ b/cmake/FindSDL2.cmake
+@@ -8,8 +8,8 @@
+
+ FIND_PATH(SDL2_INCLUDE_DIR NAMES SDL.h PATH_SUFFIXES SDL2)
+
+-FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2)
+-FIND_LIBRARY(SDL2MAIN_LIBRARY NAMES SDL2main)
++FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2d SDL2)
++FIND_LIBRARY(SDL2MAIN_LIBRARY NAMES SDL2maind SDL2main)
+
+ INCLUDE(FindPackageHandleStandardArgs)
+
+diff --git a/cmake/FindSDL2_image.cmake b/cmake/FindSDL2_image.cmake
+index 88adb3f..d6e829d 100644
+--- a/cmake/FindSDL2_image.cmake
++++ b/cmake/FindSDL2_image.cmake
+@@ -8,7 +8,7 @@
+
+ FIND_PATH(SDL2_IMAGE_INCLUDE_DIR NAMES SDL_image.h PATH_SUFFIXES SDL2)
+
+-FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image)
++FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_imaged SDL2_image)
+
+ INCLUDE(FindPackageHandleStandardArgs)
+
+diff --git a/cmake/FindSDL2_mixer.cmake b/cmake/FindSDL2_mixer.cmake
+index ef5748b..c2dbbde 100644
+--- a/cmake/FindSDL2_mixer.cmake
++++ b/cmake/FindSDL2_mixer.cmake
+@@ -8,7 +8,7 @@
+
+ FIND_PATH(SDL2_MIXER_INCLUDE_DIR NAMES SDL_mixer.h PATH_SUFFIXES SDL2)
+
+-FIND_LIBRARY(SDL2_MIXER_LIBRARY NAMES SDL2_mixer)
++FIND_LIBRARY(SDL2_MIXER_LIBRARY NAMES SDL2_mixerd SDL2_mixer)
+
+ INCLUDE(FindPackageHandleStandardArgs)
+
+diff --git a/cmake/FindSDL2_ttf.cmake b/cmake/FindSDL2_ttf.cmake
+index b480d55..9fb65b9 100644
+--- a/cmake/FindSDL2_ttf.cmake
++++ b/cmake/FindSDL2_ttf.cmake
+@@ -8,7 +8,7 @@
+
+ FIND_PATH(SDL2_TTF_INCLUDE_DIR NAMES SDL_ttf.h PATH_SUFFIXES SDL2)
+
+-FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttf)
++FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttfd SDL2_ttf)
+
+ INCLUDE(FindPackageHandleStandardArgs)
+
diff --git a/ports/sdl2pp/portfile.cmake b/ports/sdl2pp/portfile.cmake
new file mode 100644
index 000000000..7fbaf9c69
--- /dev/null
+++ b/ports/sdl2pp/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libSDL2pp/libSDL2pp
+ REF 0.16.0
+ SHA512 36603a0b1c3ba9294fffa5368357866e5689ceed9743352ff52c096d8b0070cc3f8708a5e837c10c871b410b6bda3ed7e8e3b95cb9afc136d91afb035cde6361
+ HEAD_REF master
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/find-debug-libs.patch"
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL2PP_STATIC)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DSDL2PP_WITH_EXAMPLES=OFF
+ -DSDL2PP_WITH_TESTS=OFF
+ -DSDL2PP_STATIC=${SDL2PP_STATIC}
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2pp RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)