aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2017-04-24 13:31:35 -0700
committerGitHub <noreply@github.com>2017-04-24 13:31:35 -0700
commit37a9747bb77f3a824a06f368b3add632cd7b712c (patch)
tree676c9820f4e3ee134c70f99753a705750e57999d
parent403b4809a1144c65259fe5942e362e9650437497 (diff)
parentd5b9c8ac34b63b166dfc1915048172a5a1120778 (diff)
downloadvcpkg-37a9747bb77f3a824a06f368b3add632cd7b712c.tar.gz
vcpkg-37a9747bb77f3a824a06f368b3add632cd7b712c.zip
Merge pull request #973 from madebr/libmad
Add libmad
-rw-r--r--ports/libmad/CMakeLists.txt57
-rw-r--r--ports/libmad/CONTROL3
-rw-r--r--ports/libmad/portfile.cmake27
3 files changed, 87 insertions, 0 deletions
diff --git a/ports/libmad/CMakeLists.txt b/ports/libmad/CMakeLists.txt
new file mode 100644
index 000000000..8e15017c0
--- /dev/null
+++ b/ports/libmad/CMakeLists.txt
@@ -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
+)
diff --git a/ports/libmad/CONTROL b/ports/libmad/CONTROL
new file mode 100644
index 000000000..04cec21bf
--- /dev/null
+++ b/ports/libmad/CONTROL
@@ -0,0 +1,3 @@
+Source: libmad
+Version: 0.15.1
+Description: high-quality MPEG audio decoder
diff --git a/ports/libmad/portfile.cmake b/ports/libmad/portfile.cmake
new file mode 100644
index 000000000..d9e20ecb5
--- /dev/null
+++ b/ports/libmad/portfile.cmake
@@ -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)