2022-05-30 23:58:19 +02:00
|
|
|
set(MAD_SRC "libmad/bit.c"
|
|
|
|
|
"libmad/decoder.c"
|
|
|
|
|
"libmad/fixed.c"
|
|
|
|
|
"libmad/frame.c"
|
|
|
|
|
"libmad/huffman.c"
|
|
|
|
|
"libmad/layer12.c"
|
|
|
|
|
"libmad/layer3.c"
|
|
|
|
|
"libmad/stream.c"
|
|
|
|
|
"libmad/synth.c"
|
|
|
|
|
"libmad/timer.c"
|
|
|
|
|
"libmad/version.c")
|
2015-09-07 09:47:52 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
set(MAD_HPP "libmad/bit.h"
|
|
|
|
|
"libmad/config.h"
|
|
|
|
|
"libmad/decoder.h"
|
|
|
|
|
"libmad/fixed.h"
|
|
|
|
|
"libmad/frame.h"
|
|
|
|
|
"libmad/global.h"
|
|
|
|
|
"libmad/huffman.h"
|
|
|
|
|
"libmad/layer12.h"
|
|
|
|
|
"libmad/layer3.h"
|
|
|
|
|
"libmad/mad.h"
|
|
|
|
|
"libmad/stream.h"
|
|
|
|
|
"libmad/synth.h"
|
|
|
|
|
"libmad/timer.h"
|
|
|
|
|
"libmad/version.h")
|
2014-10-17 21:23:00 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
set(MAD_DAT "libmad/D.dat"
|
|
|
|
|
"libmad/imdct_s.dat"
|
|
|
|
|
"libmad/qc_table.dat"
|
|
|
|
|
"libmad/rq_table.dat"
|
|
|
|
|
"libmad/sf_table.dat")
|
2014-10-17 21:23:00 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
source_group("Source Files" FILES ${MAD_SRC})
|
|
|
|
|
source_group("Header Files" FILES ${MAD_HPP})
|
|
|
|
|
source_group("Data Files" FILES ${MAD_DAT})
|
2014-10-17 21:23:00 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
add_library("mad" STATIC ${MAD_SRC} ${MAD_HPP} ${MAD_DAT})
|
2014-10-17 21:23:00 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
set_property(TARGET "mad" PROPERTY FOLDER "External Libraries")
|
2014-10-17 21:23:00 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
disable_project_warnings("mad")
|
2014-10-17 21:23:00 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
if(ENDIAN_BIG)
|
|
|
|
|
set(WORDS_BIGENDIAN 1)
|
|
|
|
|
endif()
|
2015-09-07 09:47:52 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:Debug>:DEBUG>)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE HAVE_CONFIG_H)
|
2015-09-07 09:47:52 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
if(MSVC)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE _CRT_SECURE_NO_WARNINGS)
|
|
|
|
|
# TODO: Remove the need for this check since it's tied to 32-bit builds from
|
|
|
|
|
# first glance.
|
|
|
|
|
target_compile_definitions("mad" PRIVATE ASO_ZEROCHECK)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:Debug>:FPM_DEFAULT>)
|
|
|
|
|
if(SM_WIN32_ARCH MATCHES "x64")
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:Release>:FPM_64BIT>)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:MinSizeRel>:FPM_64BIT>)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:RelWithDebInfo>:FPM_64BIT>)
|
|
|
|
|
else()
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:Release>:FPM_INTEL>)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:MinSizeRel>:FPM_INTEL>)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE $<$<CONFIG:RelWithDebInfo>:FPM_INTEL>)
|
|
|
|
|
endif()
|
|
|
|
|
# TODO: Provide a proper define for inline.
|
|
|
|
|
target_compile_definitions("mad" PRIVATE inline=__inline)
|
|
|
|
|
elseif(APPLE OR UNIX)
|
|
|
|
|
target_compile_definitions("mad" PRIVATE FPM_64BIT=1)
|
|
|
|
|
endif(MSVC)
|
2015-09-07 09:47:52 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
target_include_directories("mad" PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/libmad")
|
|
|
|
|
target_include_directories("mad" PUBLIC "libmad")
|
2015-09-07 09:47:52 -04:00
|
|
|
|
2022-05-30 23:58:19 +02:00
|
|
|
configure_file("config.mad.in.h" "libmad/config.h")
|