mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-29 17:29:06 +08:00
87 lines
1.8 KiB
CMake
87 lines
1.8 KiB
CMake
cmake_minimum_required(VERSION 2.8)
|
|
|
|
project(libmad)
|
|
|
|
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
|
|
)
|
|
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/mad.pc.in" "${PROJECT_BINARY_DIR}/mad.pc" @ONLY)
|
|
install(
|
|
FILES "${PROJECT_BINARY_DIR}/mad.pc"
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
|
|
)
|
|
add_library(
|
|
mad
|
|
${SOURCES}
|
|
)
|
|
|
|
target_compile_definitions(mad
|
|
PRIVATE _LIB _MBCS ASO_ZEROCHECK HAVE_CONFIG_H
|
|
PRIVATE _CRT_SECURE_NO_WARNINGS
|
|
)
|
|
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(^i.86$)")
|
|
target_compile_definitions(mad
|
|
PRIVATE FPM_INTEL
|
|
)
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64|amd64)|^(aarch64|arm64)")
|
|
target_compile_definitions(mad
|
|
PRIVATE FPM_64BIT
|
|
)
|
|
# This fails with "error: invalid instruction" on armv7-a
|
|
#elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
|
# target_compile_definitions(mad
|
|
# PRIVATE FPM_ARM
|
|
# )
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
|
target_compile_definitions(mad
|
|
PRIVATE FPM_MIPS
|
|
)
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
|
|
target_compile_definitions(mad
|
|
PRIVATE FPM_PPC
|
|
)
|
|
else()
|
|
target_compile_definitions(mad
|
|
PRIVATE FPM_DEFAULT
|
|
)
|
|
message(WARNING "CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR} unknown. Fall back to FPM_DEFAULT, loosing significant accuracy")
|
|
endif()
|
|
|
|
install(
|
|
TARGETS mad
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib
|
|
)
|
|
|
|
install(
|
|
FILES mad.h
|
|
DESTINATION include
|
|
)
|