cmake_minimum_required(VERSION 3.8.0) project(fdk-aac) set(AACDEC_SRC libAACdec/src/aacdec_drc.cpp libAACdec/src/aacdec_hcr.cpp libAACdec/src/aacdecoder.cpp libAACdec/src/aacdec_pns.cpp libAACdec/src/aac_ram.cpp libAACdec/src/block.cpp libAACdec/src/channelinfo.cpp libAACdec/src/ldfiltbank.cpp libAACdec/src/rvlcbit.cpp libAACdec/src/rvlc.cpp libAACdec/src/aacdec_hcr_bit.cpp libAACdec/src/aacdec_hcrs.cpp libAACdec/src/aacdecoder_lib.cpp libAACdec/src/aacdec_tns.cpp libAACdec/src/aac_rom.cpp libAACdec/src/channel.cpp libAACdec/src/conceal.cpp libAACdec/src/pulsedata.cpp libAACdec/src/rvlcconceal.cpp libAACdec/src/stereo.cpp ) set(AACENC_SRC libAACenc/src/aacenc.cpp libAACenc/src/aacEnc_ram.cpp libAACenc/src/band_nrg.cpp libAACenc/src/block_switch.cpp libAACenc/src/grp_data.cpp libAACenc/src/metadata_main.cpp libAACenc/src/pre_echo_control.cpp libAACenc/src/quantize.cpp libAACenc/src/tonality.cpp libAACenc/src/aacEnc_rom.cpp libAACenc/src/bandwidth.cpp libAACenc/src/channel_map.cpp libAACenc/src/intensity.cpp libAACenc/src/ms_stereo.cpp libAACenc/src/psy_configuration.cpp libAACenc/src/sf_estim.cpp libAACenc/src/transform.cpp libAACenc/src/aacenc_lib.cpp libAACenc/src/aacenc_tns.cpp libAACenc/src/bit_cnt.cpp libAACenc/src/chaosmeasure.cpp libAACenc/src/line_pe.cpp libAACenc/src/noisedet.cpp libAACenc/src/psy_main.cpp libAACenc/src/spreading.cpp libAACenc/src/aacenc_pns.cpp libAACenc/src/adj_thr.cpp libAACenc/src/bitenc.cpp libAACenc/src/dyn_bits.cpp libAACenc/src/metadata_compressor.cpp libAACenc/src/pnsparam.cpp libAACenc/src/qc_main.cpp ) set(FDK_SRC libFDK/src/autocorr2nd.cpp libFDK/src/dct.cpp libFDK/src/FDK_bitbuffer.cpp libFDK/src/FDK_core.cpp libFDK/src/FDK_crc.cpp libFDK/src/FDK_hybrid.cpp libFDK/src/FDK_tools_rom.cpp libFDK/src/FDK_trigFcts.cpp libFDK/src/fft.cpp libFDK/src/fft_rad2.cpp libFDK/src/fixpoint_math.cpp libFDK/src/mdct.cpp libFDK/src/qmf.cpp libFDK/src/scale.cpp ) set(MPEGTPDEC_SRC libMpegTPDec/src/tpdec_adif.cpp libMpegTPDec/src/tpdec_adts.cpp libMpegTPDec/src/tpdec_asc.cpp libMpegTPDec/src/tpdec_drm.cpp libMpegTPDec/src/tpdec_latm.cpp libMpegTPDec/src/tpdec_lib.cpp ) set( MPEGTPENC_SRC libMpegTPEnc/src/tpenc_adif.cpp libMpegTPEnc/src/tpenc_adts.cpp libMpegTPEnc/src/tpenc_asc.cpp libMpegTPEnc/src/tpenc_latm.cpp libMpegTPEnc/src/tpenc_lib.cpp ) set( PCMUTILS_SRC libPCMutils/src/limiter.cpp libPCMutils/src/pcmutils_lib.cpp ) set(SBRDEC_SRC libSBRdec/src/env_calc.cpp libSBRdec/src/env_dec.cpp libSBRdec/src/env_extr.cpp libSBRdec/src/huff_dec.cpp libSBRdec/src/lpp_tran.cpp libSBRdec/src/psbitdec.cpp libSBRdec/src/psdec.cpp libSBRdec/src/psdec_hybrid.cpp libSBRdec/src/sbr_crc.cpp libSBRdec/src/sbr_deb.cpp libSBRdec/src/sbr_dec.cpp libSBRdec/src/sbrdec_drc.cpp libSBRdec/src/sbrdec_freq_sca.cpp libSBRdec/src/sbrdecoder.cpp libSBRdec/src/sbr_ram.cpp libSBRdec/src/sbr_rom.cpp ) set(SBRENC_SRC libSBRenc/src/bit_sbr.cpp libSBRenc/src/env_bit.cpp libSBRenc/src/fram_gen.cpp libSBRenc/src/mh_det.cpp libSBRenc/src/ps_bitenc.cpp libSBRenc/src/ps_encode.cpp libSBRenc/src/resampler.cpp libSBRenc/src/sbr_encoder.cpp libSBRenc/src/sbr_ram.cpp libSBRenc/src/ton_corr.cpp libSBRenc/src/code_env.cpp libSBRenc/src/env_est.cpp libSBRenc/src/invf_est.cpp libSBRenc/src/nf_est.cpp libSBRenc/src/ps_main.cpp libSBRenc/src/sbrenc_freq_sca.cpp libSBRenc/src/sbr_misc.cpp libSBRenc/src/sbr_rom.cpp libSBRenc/src/tran_det.cpp ) set(SYS_SRC libSYS/src/cmdl_parser.cpp libSYS/src/conv_string.cpp libSYS/src/genericStds.cpp libSYS/src/wav_file.cpp ) set( libfdk_aac_SOURCES ${AACDEC_SRC} ${AACENC_SRC} ${MPEGTPDEC_SRC} ${MPEGTPENC_SRC} ${SBRDEC_SRC} ${SBRENC_SRC} ${PCMUTILS_SRC} ${FDK_SRC} ${SYS_SRC} fdk-aac.def ) include_directories( . win32 libAACdec/include libAACenc/include libSBRdec/include libSBRenc/include libMpegTPDec/include libMpegTPEnc/include libSYS/include libFDK/include libPCMutils/include ) if(BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() add_library(fdk-aac ${libfdk_aac_SOURCES}) add_executable(aac-enc aac-enc.c wavreader.c) target_link_libraries(aac-enc fdk-aac) install( TARGETS fdk-aac RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) if(NOT DISABLE_INSTALL_TOOLS) install ( TARGETS aac-enc RUNTIME DESTINATION tools/fdk-aac ) endif() if(NOT DISABLE_INSTALL_HEADERS) install( FILES libAACdec/include/aacdecoder_lib.h libAACenc/include/aacenc_lib.h libSYS/include/FDK_audio.h libSYS/include/genericStds.h libSYS/include/machine_type.h DESTINATION include ) endif()