set(MODULE_NAME "libaudioframework") set(MODULE_PREFIX "LIB_AUDIOFRAMEWORK_FUNC") add_compile_options(-fPIC) set(SPBASE_LIB spbase) set(RVCCOMM_LIB RVCComm) if(MSVC) set(${NOUSE}_SRCS audiofax.h audiofax.c audiowavfile.h audiowavfile.c audiovoxfile.h audiovoxfile.c audiofile.h audiofile.c audiorecply.h audiorecply.c audiomixer.h audiomixer.c audiotone.h audiotone.c other/plc.h other/plc.c audiodtmf.h audiodtmf.c other/silencedet.h other/silencedet.c audiosilencedet.h audiosilencedet.c audioaec.h audioaec.c audiocache.h audiocache.c audiomicspk.h audiomicspk.c audiomicspk3.h audiomicspk3.c ) else() set(${NOUSE}_SRCS ) endif(MSVC) if(MSVC) set(${PLATFORM}_SRCS audiomicspk2.h audiomicspk2.c codec/g729acodec.h codec/g729acodec.c ) else() set(${PLATFORM}_SRCS audiomicspkpulse.h audiomicspkpulse.c ) endif(MSVC) set(${MODULE_PREFIX}_SRCS #audioaec.h audiobridge.h #audiocache.h audiocodec.h audiocommon.h audioconf.h audiocontext.h audiocustom.h audiodbmeter.h audiodriver.h audiodrivergroup.h audiodsp.h #audiodtmf.h audiodtmfbridge.h audioengine.h #audiofax.h #audiofile.h audioframe.h audioframework.h audiolog.h #audiomicspk.h #audiomicspk2.h #audiomicspk3.h #audiomixer.h #audiorecply.h audioresample.h audioresize.h audiortp.h #audiosilencedet.h audiostream.h #audiotone.h #audiovoxfile.h #audiowavfile.h #codec/g729acodec.h codec/adpcmcodec.h #codec/bvcodec.h codec/codecmgr.h codec/g711codec.h codec/gsmcodec.h other/circbuf.h other/delaybuf.h other/jerrno.h other/jbuf.h #other/plc.h #other/silencedet.h other/wsola.h precompile.h #audioaec.c audiobridge.c #audiocache.c audiocodec.c audiocommon.c audioframe.c audioconf.c audiocontext.c audiocustom.c audiodbmeter.c audiodriver.c audiodrivergroup.c audiodsp.c #audiodtmf.c audiodtmfbridge.c audioengine.c #audiofax.c #audiofile.c audiolog.c #audiomicspk.c #audiomicspk2.c #audiomicspk3.c #audiomixer.c #audiorecply.c audioresample.c audioresize.c audiortp.c #audiosilencedet.c audiostream.c #audiotone.c #audiovoxfile.c #audiowavfile.c #codec/g729acodec.c codec/adpcmcodec.c #codec/bvcodec.c codec/codecmgr.c codec/g711codec.c codec/gsmcodec.c other/delaybuf.c other/jbuf.c #other/plc.c #other/silencedet.c other/wsola.c precompile.c ${${PLATFORM}_SRCS} ) add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) if(WIN32) add_precompiled_header(${MODULE_NAME} precompile.h SOURCE_C precompile.c FORCEINCLUDE) endif(WIN32) if(WIN32) target_include_directories(${MODULE_NAME} PRIVATE ${RVC_COMMON_INCLUDE_DIR} ${CONAN_INCLUDE_DIRS_FFMPEG} ${CONAN_INCLUDE_DIRS_PORTAUDIO} ${CONAN_INCLUDE_DIRS_SPEEXDSP} ${RVC_TOOLKIT_INCLUDE_DIR} ${CONAN_INCLUDE_DIRS_LIB8K} ${CONAN_INCLUDE_DIRS_LIBTIFF} ${CONAN_INCLUDE_DIRS_APACHE-APR}/include ${CONAN_INCLUDE_DIRS_SPANDSP}/src ) else(WIN32) target_include_directories(${MODULE_NAME} PRIVATE ${RVC_COMMON_INCLUDE_DIR} ${RVC_WINPR_INCLUDE_DIR} ${RVC_WINPR_SOURCE_INCLUDE_DIR}/winpr ${CONAN_INCLUDE_DIRS_FFMPEG} ${CONAN_INCLUDE_DIRS_PULSEAUDIO} ${CONAN_INCLUDE_DIRS_SPEEXDSP} ${RVC_TOOLKIT_INCLUDE_DIR} ${CONAN_INCLUDE_DIRS_LIB8K} ${CONAN_INCLUDE_DIRS_LIBTIFF} ${CONAN_INCLUDE_DIRS_APR}/apr-1 ${CONAN_INCLUDE_DIRS_SPANDSP} ) endif(WIN32) target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_FFMPEG} ${CONAN_LIB_DIRS_SPANDSP} ${CONAN_LIB_DIRS_SPEEXDSP} ${CONAN_LIB_DIRS_LIB8K} ${CONAN_LIB_DIRS_LIBTIFF} if(WIN32) ${CONAN_LIB_DIRS_APACHE-APR} ${CONAN_LIB_DIRS_PORTAUDIO} else ${CONAN_LIB_DIRS_APR} ${CONAN_LIB_DIRS_PULSEAUDIO} endif(WIN32) ) # 添加实体需要依赖的其他共享库(包括系统库) if(WIN32) set(${MODULE_PREFIX}_LIBS PRIVATE ${CONAN_PKG_LIBS_PORTAUDIO} ${CONAN_PKG_LIBS_FFMPEG} ${CONAN_LIBS_OPENCV} ${SPBASE_LIB} ${TOOLKIT_LIB} ${CONAN_PKG_LIBS_APACHE-APR} ${CONAN_PKG_LIBS_LIB8K} ${CONAN_PKG_LIBS_SPANDSP} ${CONAN_PKG_LIBS_SOFIA} ${CONAN_PKG_LIBS_IPP} ${CONAN_PKG_LIBS_SPEEXDSP} ) else(WIN32) set(${MODULE_PREFIX}_LIBS PRIVATE ${CONAN_PKG_LIBS_FFMPEG} ${CONAN_PKG_LIBS_PULSEAUDIO} ${CONAN_LIBS_OPENCV} ${SPBASE_LIB} ${TOOLKIT_LIB} ${CONAN_PKG_LIBS_APR} ${CONAN_PKG_LIBS_SPANDSP} ${CONAN_PKG_LIBS_SOFIA} ${CONAN_PKG_LIBS_SPEEXDSP} asound pthread winpr ${RVCCOMM_LIB} ) endif(WIN32) target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS}) if(MSVC) set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE) else() set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE) ENDIF(MSVC) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")