vcpkg/ports/libmad/CMakeLists.txt

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
)