INCLUDE(ad_plugin)

IF(MSVC)
  ADD_DEFINITIONS("-DFPM_DEFAULT")
ENDIF()

IF(ADM_CPU_X86_32)
  ADD_DEFINITIONS("-DFPM_INTEL")
ELSEIF(ADM_CPU_X86_64 OR ADM_CPU_ARM64 OR ADM_CPU_RISCV OR ADM_CPU_RISCV_64 OR ADM_CPU_LOONGARCH64)
  ADD_DEFINITIONS("-DFPM_DEFAULT")
ELSEIF(ADM_CPU_PPC)
  ADD_DEFINITIONS("-DFPM_PPC")
ELSEIF(ADM_CPU_ARMEL)
  ADD_DEFINITIONS("-DFPM_ARM")
ENDIF()

IF(NOT USE_EXTERNAL_LIBMAD)
  ADD_SUBDIRECTORY(ADM_libMad)
ENDIF()

ADD_DEFINITIONS("-DHAVE_ASSERT_H")
SET(ADM_ad_Mad_SRCS ADM_ad_mad.cpp)

ADD_AUDIO_DECODER(ADM_ad_Mad ${ADM_ad_Mad_SRCS})

IF(USE_EXTERNAL_LIBMAD)
  ADD_DEFINITIONS("-DUSE_EXTERNAL_LIBMAD")
  TARGET_LINK_LIBRARIES(ADM_ad_Mad PRIVATE ${LIBMAD_LIBRARIES})
ELSE()
  TARGET_LINK_LIBRARIES(ADM_ad_Mad PRIVATE ADM_libMad)
ENDIF()

INIT_AUDIO_PLUGIN(ADM_ad_Mad)
INSTALL_AUDIODECODER(ADM_ad_Mad)
