Merge pull request #973 from madebr/libmad

Add libmad
This commit is contained in:
Alexander Karatarakis 2017-04-24 13:31:35 -07:00 committed by GitHub
commit 37a9747bb7
3 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,57 @@
cmake_minimum_required(VERSION 2.8)
project(libmad)
IF(MSVC)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
ENDIF(MSVC)
set(SOURCES
bit.c
bit.h
config.h
decoder.c
decoder.h
fixed.c
fixed.h
frame.c
frame.h
global.h
huffman.c
huffman.h
layer12.c
layer12.h
layer3.c
layer3.h
mad.h
stream.c
stream.h
synth.c
synth.h
timer.c
timer.h
version.c
version.h
)
add_library(
mad
${SOURCES}
)
target_compile_definitions(mad
PRIVATE _LIB _MBCS ASO_ZEROCHECK HAVE_CONFIG_H FPM_DEFAULT
PRIVATE _CRT_SECURE_NO_WARNINGS
)
install(
TARGETS mad
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(
FILES mad.h
DESTINATION include/mad
)

3
ports/libmad/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: libmad
Version: 0.15.1
Description: high-quality MPEG audio decoder

View File

@ -0,0 +1,27 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmad-0.15.1b)
vcpkg_download_distfile(ARCHIVE
URLS "http://download.sourceforge.net/mad/libmad-0.15.1b.tar.gz"
FILENAME "libmad-0.15.1b.tar.gz"
SHA512 2cad30347fb310dc605c46bacd9da117f447a5cabedd8fefdb24ab5de641429e5ec5ce8af7aefa6a75a3f545d3adfa255e3fa0a2d50971f76bc0c4fc0400cc45
)
vcpkg_extract_source_archive(${ARCHIVE})
#The archive only contains a Visual Studio 6.0 era DSP project file, so use a custom CMakeLists.txt
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
#Use the msvc++ config.h and mad.h header
file(COPY ${SOURCE_PATH}/msvc++/config.h DESTINATION ${SOURCE_PATH})
file(COPY ${SOURCE_PATH}/msvc++/mad.h DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmad)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmad/COPYING ${CURRENT_PACKAGES_DIR}/share/libmad/copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)