android-ngn-stack/CMakeLists.txt
c732d49e
 # For more information about using CMake with Android Studio, read the
 # documentation: https://d.android.com/studio/projects/add-native-code.html
 
 # Sets the minimum version of CMake required to build the native library.
 
 cmake_minimum_required(VERSION 3.4.1)
 
 # Creates and names a library, sets it as either STATIC
 # or SHARED, and provides the relative paths to its source code.
 # You can define multiple libraries, and CMake builds them for you.
 # Gradle automatically packages shared libraries with your APK.
 
 if (${ANDROID_ABI} STREQUAL "x86")
175b478c
 	set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-warn-shared-textrel")
c732d49e
 endif ()
 
175b478c
 
c732d49e
 SET( DIRECTOR_PROJECT  "${PROJECT_SOURCE_DIR}/../doubango")
 
 SET(libsExtern
175b478c
 		libaudio_processing
 		libcommon
 		libcommon_audio
 		libcrypto
 		libdecoder
 		libencoder
 		libg729b
 		libgsm
 		libiLBC
 		libopencore-amrnb
 		libopencore-amrwb
 		libvo-amrwbenc
 		libopenh264
 		libopus
 		libprocessing
 		libspeex
 		libspeexdsp
 		libsrtp
 		libssl
 		libsystem_wrappers
 		libvpx
 		libx264
 		libxml2
 		libyuv
 		)
c732d49e
 
 SET(libsExternGpl
175b478c
 		libavcodec
 		libavdevice
 		libavfilter
 		libavformat
 		libavutil
 		libpostproc
 		libswresample
 		libswscale
 		)
 
 #for debug
 if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
 	MESSAGE(STATUS "CMAKE_BUILD_TYPE DEBUG")
 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g3 -DDEBUG")
 	SET( CMAKE_CXX_FLAGS  "${CMAKE_C_FLAGS}")
 	set(DEBUG_LEVEL_DATA "DEBUG_LEVEL=DEBUG_LEVEL_INFO")
 	set(DEBUG_LEVEL_DATA2 "_DEBUG")
 else()
 	set(DEBUG_LEVEL_DATA "DEBUG_LEVEL=DEBUG_LEVEL_ERROR")
 	set(DEBUG_LEVEL_DATA2 "_RELEASE")
 endif ()
 
 
 
 # Compiler-specific C++11 activation.
 if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
 	execute_process(
 			COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
 	MESSAGE(STATUS "GCC_VERSION VERSION_GREATER 4.7")
 	if (NOT (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7))
 		message(FATAL_ERROR "${PROJECT_NAME} requires g++ 4.7 or greater.")
 	endif ()
 elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
 	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
 	MESSAGE(STATUS "libc++")
 else ()
 	message(FATAL_ERROR "Your C++ compiler does not support C++11.")
 endif ()
 
 
 
c732d49e
 
 
 SET(haveLibrerysExtern
175b478c
 
 		${DEBUG_LEVEL_DATA}
 		${DEBUG_LEVEL_DATA2}
 		#HAVE_FFMPEG HAVE_LIBSWSCALE_SWSCALE_H HAVE_LIBAVCODEC_AVCODEC_H
 		HAVE_OPENH264
 		#HAVE_H264_PASSTHROUGH
 		HAVE_H264
 		#HAVE_LIBVPX # HAVE_LIBVPX for VP8 codec
 		#HAVE_OPUS_OPUS_H HAVE_LIBOPUS
 		HAVE_OPENCORE_AMR
 		HAVE_SPEEX_DENOISE HAVE_SPEEX_DSP HAVE_SPEEX_JB
 		HAVE_LIBGSM
 		#HAVE_G729
 		#HAVE_ILBC
 		HAVE_LIBYUV
 		#HAVE_LIBJPEG
 		HAVE_LIBXML2
 		#HAVE_WEBRTC_DENOISE HAVE_WEBRTC HAVE_WEBRTC_NOISE_SUPPRESSION_H HAVE_WEBRTC_NOISE_SUPPRESSION_X_H
 		#HAVE_OPENSSL_SSL_H HAVE_OPENSSL_DTLS_SRTP HAVE_OPENSSL_DTLS HAVE_OPENSSL
 		HAVE_SRTP_SRTP_H HAVE_SRTP
 		#HAVE_STRUCT_RT_METRICS HAVE_STRUCT_RLIMIT HAVE_STRUCT_DIRENT
 		#HAVE_BV16
 		#HAVE_SOUND_H
 		#HAVE_WAVE_API
 		)
c732d49e
 
 SET(tinys
175b478c
 		WRAP
 
 		BFCP
 		DAV
 		HTTP
 		IPSEC
 		MEDIA
 		MSRP
 		NET
 		RTP
 		SAK
 		SDP
 		SIGCOMP
 		SIP
 		SMS
 		XCAP
 		MCPTT
 		)
c732d49e
 
 FOREACH(libExtern ${libsExtern})
175b478c
 	MESSAGE(STATUS "add library: ${libExtern}")
 	add_library(${libExtern} STATIC IMPORTED)
 	set_target_properties(${libExtern} PROPERTIES IMPORTED_LOCATION ${DIRECTOR_PROJECT}/thirdparties/android/${ANDROID_ABI}/lib/dist/${libExtern}.a)
c732d49e
 ENDFOREACH(libExtern)
 
 FOREACH(libExternGpl ${libsExternGpl})
175b478c
 	MESSAGE(STATUS "add library: ${libExternGpl}")
 	add_library(${libExternGpl} STATIC IMPORTED)
 	set_target_properties(${libExternGpl} PROPERTIES IMPORTED_LOCATION ${DIRECTOR_PROJECT}/thirdparties/android/${ANDROID_ABI}/lib/dist/gpl/${libExternGpl}.a)
c732d49e
 ENDFOREACH(libExternGpl)
 
 include_directories(${DIRECTOR_PROJECT}/tinySAK/src)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/dhcp)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/dhcp6)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/dns)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/ice)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/mbms)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/stun)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/tls)
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src/turn)
 file(GLOB sak_src ${DIRECTOR_PROJECT}/tinySAK/src/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyNET/src)
 file(GLOB net_src ${DIRECTOR_PROJECT}/tinyNET/src/*.c ${DIRECTOR_PROJECT}/tinyNET/src/*/*.c)
 
 #INCLUDE tinyWRAP_wrap.cxx in code c++
 #file(GLOB tinywrap_scr ${PROJECT_SOURCE_DIR}/src/main/java/org/doubango/tinyWRAP/*.cxx)
 
 
175b478c
 #For plugins opensles
 file(GLOB opensles_src ${DIRECTOR_PROJECT}/plugins/audio_opensles/*.c ${DIRECTOR_PROJECT}/plugins/audio_opensles/*.cxx)
 include_directories(${DIRECTOR_PROJECT}/plugins/audio_opensles/audio_opensles)
 
c732d49e
 include_directories(${DIRECTOR_PROJECT}/tinyHTTP/include)
 include_directories(${DIRECTOR_PROJECT}/tinyHTTP/include/tinyhttp)
 include_directories(${DIRECTOR_PROJECT}/tinyHTTP/include/tinyhttp/auth)
 include_directories(${DIRECTOR_PROJECT}/tinyHTTP/include/tinyhttp/headers)
 include_directories(${DIRECTOR_PROJECT}/tinyHTTP/include/tinyhttp/parsers)
 file(GLOB http_src ${DIRECTOR_PROJECT}/tinyHTTP/src/*.c ${DIRECTOR_PROJECT}/tinyHTTP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/api)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/authentication)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/dialogs)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/headers)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/parsers)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/sigcomp)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/transactions)
 include_directories(${DIRECTOR_PROJECT}/tinySIP/include/tinysip/transports)
 file(GLOB sip_src ${DIRECTOR_PROJECT}/tinySIP/src/*.c ${DIRECTOR_PROJECT}/tinySIP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/alsa)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/coreaudio)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/directsound)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/oss)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/wasapi)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/waveapi)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/bfcp)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/amr)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/bfcp)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/bv)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/dtmf)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/fec)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/g711)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/g722)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/g729)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/gsm)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/h261)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/h263)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/h264)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/ilbc)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/mp4ves)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/msrp)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/opus)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/speex)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/t140)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/theora)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/vpx)
175b478c
 
c732d49e
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/mcptt)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/msrp)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/t140)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/gdi)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/jb)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/mf)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/v4linux)
 include_directories(${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/winm)
 file(GLOB dav_src ${DIRECTOR_PROJECT}/tinyDAV/src/*.c ${DIRECTOR_PROJECT}/tinyDAV/src/*/*.c ${DIRECTOR_PROJECT}/tinyDAV/src/*/*/*.c ${DIRECTOR_PROJECT}/tinyDAV/src/*.cxx ${DIRECTOR_PROJECT}/tinyDAV/src/*/*.cxx ${DIRECTOR_PROJECT}/tinyDAV/src/*/*/*.cxx)
 
 include_directories(${DIRECTOR_PROJECT}/tinySDP/include)
 include_directories(${DIRECTOR_PROJECT}/tinySDP/include/tinysdp)
 include_directories(${DIRECTOR_PROJECT}/tinySDP/include/tinysdp/headers)
 include_directories(${DIRECTOR_PROJECT}/tinySDP/include/tinysdp/parsers)
 file(GLOB sdp_src ${DIRECTOR_PROJECT}/tinySDP/src/*.c ${DIRECTOR_PROJECT}/tinySDP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyMEDIA/include)
 include_directories(${DIRECTOR_PROJECT}/tinyMEDIA/include/tinymedia)
 include_directories(${DIRECTOR_PROJECT}/tinyMEDIA/include/tinymedia/content)
 file(GLOB media_src ${DIRECTOR_PROJECT}/tinyMEDIA/src/*.c ${DIRECTOR_PROJECT}/tinyMEDIA/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyXCAP/include)
 include_directories(${DIRECTOR_PROJECT}/tinyXCAP/include/tinyxcap)
 file(GLOB xcap_src ${DIRECTOR_PROJECT}/tinyXCAP/src/*.c ${DIRECTOR_PROJECT}/tinyXCAP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinySMS/include)
 include_directories(${DIRECTOR_PROJECT}/tinySMS/include/tinysms)
 include_directories(${DIRECTOR_PROJECT}/tinySMS/include/tinysms/rpdu)
 include_directories(${DIRECTOR_PROJECT}/tinySMS/include/tinysms/tpdu)
 file(GLOB sms_src ${DIRECTOR_PROJECT}/tinySMS/src/*.c ${DIRECTOR_PROJECT}/tinySMS/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyMSRP/include)
 include_directories(${DIRECTOR_PROJECT}/tinyMSRP/include/tinymsrp)
 include_directories(${DIRECTOR_PROJECT}/tinyMSRP/include/tinymsrp/headers)
 include_directories(${DIRECTOR_PROJECT}/tinyMSRP/include/tinymsrp/parsers)
 include_directories(${DIRECTOR_PROJECT}/tinyMSRP/include/tinymsrp/session)
 file(GLOB msrp_src ${DIRECTOR_PROJECT}/tinyMSRP/src/*.c ${DIRECTOR_PROJECT}/tinyMSRP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyRTP/include)
 include_directories(${DIRECTOR_PROJECT}/tinyRTP/include/tinyrtp)
 include_directories(${DIRECTOR_PROJECT}/tinyRTP/include/tinyrtp/rtcp)
 include_directories(${DIRECTOR_PROJECT}/tinyRTP/include/tinyrtp/rtp)
 file(GLOB rtp_src ${DIRECTOR_PROJECT}/tinyRTP/src/*.c ${DIRECTOR_PROJECT}/tinyRTP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyBFCP/include)
 include_directories(${DIRECTOR_PROJECT}/tinyBFCP/include/tinybfcp)
 file(GLOB bfcp_src ${DIRECTOR_PROJECT}/tinyBFCP/src/*.c ${DIRECTOR_PROJECT}/tinyBFCP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyIPSec/src)
 file(GLOB ipsec_src ${DIRECTOR_PROJECT}/tinyIPSec/src/*.c ${DIRECTOR_PROJECT}/tinyIPSec/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinySIGCOMP/src)
 file(GLOB sigcomp_src ${DIRECTOR_PROJECT}/tinySIGCOMP/src/*.c ${DIRECTOR_PROJECT}/tinySIGCOMP/src/*/*.c)
 
 include_directories(${DIRECTOR_PROJECT}/tinyMCPTT/include)
 include_directories(${DIRECTOR_PROJECT}/tinyMCPTT/include/tinymcptt)
 include_directories(${DIRECTOR_PROJECT}/tinyMCPTT/include/tinymcptt/packet)
 file(GLOB mcptt_src ${DIRECTOR_PROJECT}/tinyMCPTT/src/*.c ${DIRECTOR_PROJECT}/tinyMCPTT/src/*/*.c)
 
 
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libfreetype)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libfreetype/freetype2)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libfreetype/freetype2/freetype)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libfreetype/freetype2/freetype/config)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libxml)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libxml2)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/libyuv)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/ogg)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/opus)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/speex)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/theora)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/vorbis)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/webrtc)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include/wels)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common/include)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/common)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/g729b)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/ilbc)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libavcodec)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libavdevice)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libavfilter)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libavformat)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libavutil)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libpostproc)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libswresample)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libswscale)
175b478c
 #include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libyuv)
 #include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/libyuv/libyuv)
c732d49e
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/opencore-amrnb)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/opencore-amrwb)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/openssl)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/opus)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/speex)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/srtp)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/vo-amrwbenc)
 include_directories(${DIRECTOR_PROJECT}/thirdparties/android/_common/include/vpx)
 
 include_directories(${DIRECTOR_PROJECT}/bindings/java/android)
 file(GLOB bindings_common ${DIRECTOR_PROJECT}/bindings/_common/*.cxx)
 #file(GLOB bindings_common_java_android ${DIRECTOR_PROJECT}/bindings/_common/java/android/*.cxx)
 
 add_definitions(-DHAVE_LIBXML2)
 add_definitions(-DANDROID)
 
 
 FOREACH(tiny ${tinys})
175b478c
 	MESSAGE(STATUS "have tiny: ${tiny}")
 	add_definitions(-DTINY${tiny}_EXPORTS)
c732d49e
 ENDFOREACH(tiny)
 FOREACH(havelib ${haveLibrerysExtern})
175b478c
 	MESSAGE(STATUS "have librery: ${havelib}")
 	add_definitions(-D${havelib})
c732d49e
 ENDFOREACH(havelib)
 
175b478c
 #MESSAGE(STATUS "Include plugin OpenSL ES")
 
 #add_library(
 #	plugin_audio_opensles
 #	SHARED
 #	${opensles_src}
 #)
 
 #target_include_directories(
 #plugin_audio_opensles
 #PUBLIC
 #${DIRECTOR_PROJECT}/tinySAK/src
 #${DIRECTOR_PROJECT}/tinyDAV/include
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/alsa
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/coreaudio
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/directsound
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/oss
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/wasapi
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/audio/waveapi
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/bfcp
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/amr
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/bfcp
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/bv
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/dtmf
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/fec
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/g711
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/g722
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/g729
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/gsm
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/h261
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/h263
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/h264
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/ilbc
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/mp4ves
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/msrp
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/opus
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/speex
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/t140
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/theora
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/codecs/vpx
 
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/mcptt
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/msrp
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/t140
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/gdi
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/jb
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/mf
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/v4linux
 #${DIRECTOR_PROJECT}/tinyDAV/include/tinydav/video/winm
 
 #${DIRECTOR_PROJECT}/tinyMEDIA/include
 #${DIRECTOR_PROJECT}/tinyMEDIA/include/tinymedia
 #${DIRECTOR_PROJECT}/tinyMEDIA/include/tinymedia/content
 
 #${DIRECTOR_PROJECT}/tinySDP/include
 #${DIRECTOR_PROJECT}/tinySDP/include/tinysdp
 #${DIRECTOR_PROJECT}/tinySDP/include/tinysdp/headers
 #${DIRECTOR_PROJECT}/tinySDP/include/tinysdp/parsers
 
 #${DIRECTOR_PROJECT}/tinyRTP/include
 #${DIRECTOR_PROJECT}/tinyRTP/include/tinyrtp
 #${DIRECTOR_PROJECT}/tinyRTP/include/tinyrtp/rtcp
 #${DIRECTOR_PROJECT}/tinyRTP/include/tinyrtp/rtp
 #)
 
 MESSAGE(STATUS "Add library plugin OpenSL ES")
c732d49e
 
 
 add_library(
175b478c
 		tinyWRAP
 		SHARED
 		${sak_src}
 		${net_src}
 		#${tinywrap_scr}
 		${http_src}
 		${sip_src}
 		${dav_src}
 		${sdp_src}
 		${media_src}
 		${xcap_src}
 		${sms_src}
 		${msrp_src}
 		${rtp_src}
 		${bfcp_src}
 		${ipsec_src}
 		${sigcomp_src}
 		${mcptt_src}
 		${bindings_common}
 		#${bindings_common_java_android}
 		${opensles_src}
c732d49e
 )
 
 
175b478c
 find_library(log-lib log)
 find_library(opensles-lib OpenSLES)
c732d49e
 
 target_include_directories(tinyWRAP PRIVATE
175b478c
 		${DIRECTOR_PROJECT}/thirdparties/_common/include
 		)
 
 
 
 #target_link_libraries(plugin_audio_opensles
 #${log-lib}
 #${opensles-lib}
 #)
c732d49e
 
 
 
 target_link_libraries(tinyWRAP
175b478c
 		${log-lib}
 		${opensles-lib}
 		libaudio_processing
 		libcommon
 		libcommon_audio
 		libcrypto
 		libdecoder
 		libencoder
 		libg729b
 		libgsm
 		libiLBC
 		libopencore-amrnb
 		libopencore-amrwb
 		libvo-amrwbenc
 		libopenh264
 		libopus
 		libprocessing
 		libspeex
 		libspeexdsp
 		libsrtp
 		libssl
 		libsystem_wrappers
 		libvpx
 		libx264
 		libxml2
 		libyuv
 		#GPL
 		libavcodec
 		libavdevice
 		libavfilter
 		libavformat
 		libavutil
 		libpostproc
 		libswresample
 		libswscale
 		)