xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rk_stream/CMakeLists.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1if(NOT CMAKE_BUILD_TYPE)
2    set(CMAKE_BUILD_TYPE Release CACHE STRING
3        "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."
4        FORCE)
5endif()
6
7if(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
8    add_definitions(-DBUILD_TYPE_DEBUG)
9endif()
10
11cmake_minimum_required(VERSION 2.8)
12
13PROJECT(rk_stream)
14
15add_compile_options(-DUSE_RAWSTREAM_LIB)
16
17include_directories(
18    include
19    ${AIQ_DIR}/xcore
20    ${AIQ_DIR}/xcore/base
21    ${AIQ_DIR}/aiq_core
22    ${AIQ_DIR}/common
23    ${AIQ_DIR}/common/linux
24    ${AIQ_DIR}/include
25    ${AIQ_DIR}/include/common
26    ${AIQ_DIR}/include/common/mediactl
27    ${AIQ_DIR}/include/iq_parser
28    ${AIQ_DIR}/include/iq_parser_v2
29    ${AIQ_DIR}/include/xcore
30    ${AIQ_DIR}/include/xcore/base
31    ${AIQ_DIR}/include/algos
32    )
33
34set(XCORE_SRC
35    ${AIQ_DIR}/xcore/xcam_common.cpp
36    ${AIQ_DIR}/xcore/xcam_log.cpp
37    ${AIQ_DIR}/xcore/xcam_thread.cpp
38    ${AIQ_DIR}/xcore/xcam_buffer.cpp
39    ${AIQ_DIR}/xcore/video_buffer.cpp
40    ${AIQ_DIR}/xcore/v4l2_buffer_proxy.cpp
41    ${AIQ_DIR}/xcore/v4l2_device.cpp
42    ${AIQ_DIR}/xcore/fake_v4l2_device.cpp
43    ${AIQ_DIR}/xcore/buffer_pool.cpp
44    ${AIQ_DIR}/xcore/poll_thread.cpp
45    ${AIQ_DIR}/xcore/smart_buffer_priv.cpp
46    )
47
48set(STREAMCFG_SRC
49    stream_cfg/rk_vi_user_api_stream_cfg.cpp
50    stream_cfg/RawStreamCapUnit.cpp
51    stream_cfg/RawStreamProcUnit.cpp
52    stream_cfg/MediaInfo.cpp
53    stream_cfg/Stream.cpp
54    ${AIQ_DIR}/common/mediactl/mediactl.c
55    )
56
57set(RK_VI_STREAM_CFG_LIB rkrawstream)
58set(RK_AIQ_LIB rkaiq)
59
60add_library(${RK_VI_STREAM_CFG_LIB} SHARED ${STREAMCFG_SRC} ${XCORE_SRC} )
61target_link_libraries(${RK_VI_STREAM_CFG_LIB} PRIVATE)
62install(TARGETS ${RK_VI_STREAM_CFG_LIB} LIBRARY DESTINATION lib)
63
64
65set (VI_DEMO_SRCS
66    rkvi_demo/rkvi_demo.c
67    )
68
69cmake_policy(SET CMP0015 NEW)
70SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/${CMAKE_BUILD_TYPE})
71SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe/${CMAKE_BUILD_TYPE})
72link_directories("${LIBRARY_OUTPUT_PATH}" "${AIQ_DIR}/build/linux/output/aarch64/all_lib/RelWithDebInfo")
73add_executable(rkvi_demo ${VI_DEMO_SRCS})
74target_link_libraries(rkvi_demo ${RK_VI_STREAM_CFG_LIB} ${RK_AIQ_LIB} pthread)
75