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