1# vim: syntax=cmake 2# ---------------------------------------------------------------------------- 3# setup mpp codec config first 4# ---------------------------------------------------------------------------- 5include(codecs.cmake) 6include(vproc.cmake) 7 8# ---------------------------------------------------------------------------- 9# add include directory 10# ---------------------------------------------------------------------------- 11include_directories(inc) 12include_directories(common) 13include_directories(base/inc) 14include_directories(codec/inc) 15include_directories(hal/inc) 16include_directories(hal/common) 17include_directories(vproc/inc) 18 19# ---------------------------------------------------------------------------- 20# add mpp base component 21# ---------------------------------------------------------------------------- 22add_subdirectory(base) 23 24# ---------------------------------------------------------------------------- 25# add codec parsers 26# ---------------------------------------------------------------------------- 27add_subdirectory(codec) 28 29# ---------------------------------------------------------------------------- 30# add video processor 31# ---------------------------------------------------------------------------- 32add_subdirectory(vproc) 33 34# ---------------------------------------------------------------------------- 35# add register generation hal 36# ---------------------------------------------------------------------------- 37add_subdirectory(hal) 38 39# ---------------------------------------------------------------------------- 40# add mpp implement 41# ---------------------------------------------------------------------------- 42set (MPP_SRC 43 mpp_info.cpp 44 mpp.cpp 45 mpp_impl.cpp 46 mpi.cpp 47 ) 48 49set(MPP_VERSION "0") 50set(MPP_ABI_VERSION "1") 51 52add_library(${MPP_SHARED} SHARED ${MPP_SRC}) 53set_target_properties(${MPP_SHARED} PROPERTIES FOLDER "mpp") 54set_target_properties(${MPP_SHARED} PROPERTIES CLEAN_DIRECT_OUTPUT 1) 55target_link_libraries(${MPP_SHARED} mpp_codec mpp_hal mpp_vproc ${ASAN_LIB} 56 ${BEGIN_WHOLE_ARCHIVE} mpp_base ${END_WHOLE_ARCHIVE}) 57set_target_properties(${MPP_SHARED} PROPERTIES C_VISIBILITY_PRESET default) 58set_target_properties(${MPP_SHARED} PROPERTIES CXX_VISIBILITY_PRESET default) 59 60# NOTE: due to legacy libray naming issue we can not support version on Android 61if (NOT ANDROID) 62set_target_properties(${MPP_SHARED} PROPERTIES VERSION ${MPP_VERSION}) 63set_target_properties(${MPP_SHARED} PROPERTIES SOVERSION ${MPP_ABI_VERSION}) 64endif() 65 66 67add_subdirectory(legacy) 68 69install(TARGETS ${MPP_SHARED} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") 70