xref: /OK3568_Linux_fs/external/mpp/mpp/CMakeLists.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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