| 
if(NOT CMAKE_BUILD_TYPE)  
 | 
    # default to Release build for GCC builds  
 | 
    set(CMAKE_BUILD_TYPE Release CACHE STRING  
 | 
        "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."  
 | 
        FORCE)  
 | 
endif()  
 | 
  
 | 
cmake_minimum_required(VERSION 2.8)  
 | 
  
 | 
#project name  
 | 
PROJECT(rkisp_demo)  
 | 
  
 | 
#set BUILROOT_BUILD_PROJECT  
 | 
set(BUILROOT_BUILD_PROJECT true)  
 | 
#set(ENABLE_ASAN true)  
 | 
  
 | 
add_compile_options(${ISP_HW_VERSION})  
 | 
  
 | 
# ----------------------------------------------------------------------------  
 | 
# SET THE COMPILER PATH  
 | 
# ----------------------------------------------------------------------------  
 | 
if(BUILROOT_BUILD_PROJECT)  
 | 
    #if(ARCH STREQUAL "aarch64")  
 | 
    #    SET(CMAKE_C_COMPILER "/home/camera/camera/rv1109_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc")  
 | 
    #    SET(CMAKE_CXX_COMPILER "/home/camera/camera/rv1109_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++")  
 | 
    #else()  
 | 
    #    SET(CMAKE_C_COMPILER "/home/camera/camera/rv1109_sdk/buildroot/output/rockchip_puma/host/bin/arm-linux-gnueabihf-gcc")  
 | 
    #    SET(CMAKE_CXX_COMPILER "/home/camera/camera/rv1109_sdk/buildroot/output/rockchip_puma/host/bin/arm-linux-gnueabihf-g++")  
 | 
    #endif()  
 | 
else()  
 | 
    #SET(CMAKE_C_COMPILER "/home/hkj/isp2-fpga/fpga-ramdisk/toolchains/host/bin/arm-buildroot-linux-gnueabi-gcc")  
 | 
    #SET(CMAKE_CXX_COMPILER "/home/hkj/isp2-fpga/fpga-ramdisk/toolchains/host/bin/arm-buildroot-linux-gnueabi-g++")  
 | 
endif()  
 | 
  
 | 
# ----------------------------------------------------------------------------  
 | 
# ADD SYMBOL TABLE FOR GDB  
 | 
# ----------------------------------------------------------------------------  
 | 
# SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -ggdb")  
 | 
# SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -ggdb")  
 | 
  
 | 
# ----------------------------------------------------------------------------  
 | 
# set property to classify library kinds  
 | 
# ----------------------------------------------------------------------------  
 | 
set_property(GLOBAL PROPERTY USE_FOLDERS ON)  
 | 
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets")  
 | 
  
 | 
#set(CMAKE_CONFIGURATION_TYPES "Debug;Release")  
 | 
  
 | 
#set ADD_RK_AIQ  
 | 
set(ADD_RK_AIQ true)  
 | 
option(ENABLE_IIO_API "Enable IIO API for EIS algorithm" OFF)  
 | 
  
 | 
#SET RK_AIQ SOURCE DIR  
 | 
set(RK_AIQ_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../rk_aiq)  
 | 
message("rkaiq src path" ${RK_AIQ_SOURCE_DIR})  
 | 
  
 | 
if(ENABLE_ASAN)  
 | 
add_compile_options(-fsanitize=address -fno-omit-frame-pointer -g)  
 | 
SET(LINK_ASAN asan)  
 | 
endif()  
 | 
  
 | 
if(ADD_RK_AIQ)  
 | 
add_compile_options(-std=c++11)  
 | 
add_compile_options(-Os)  
 | 
add_compile_options(-DADD_RK_AIQ)  
 | 
# add_compile_options(-v)  
 | 
SET(RK_AIQ_LIB_DIR ${RK_AIQ_SOURCE_DIR}/build/linux/output/${ARCH}/all_lib/${CMAKE_BUILD_TYPE})  
 | 
message("rkaiq lib path" ${RK_AIQ_LIB_DIR})  
 | 
SET(RK_AIQ_INCLUDE_DIR  
 | 
${RK_AIQ_SOURCE_DIR}  
 | 
${RK_AIQ_SOURCE_DIR}/include/  
 | 
${RK_AIQ_SOURCE_DIR}/include/uAPI  
 | 
${RK_AIQ_SOURCE_DIR}/include/xcore/  
 | 
${RK_AIQ_SOURCE_DIR}/include/algos/  
 | 
${RK_AIQ_SOURCE_DIR}/include/common/  
 | 
${RK_AIQ_SOURCE_DIR}/include/iq_parser/  
 | 
${RK_AIQ_SOURCE_DIR}/include/iq_parser_v2/  
 | 
)  
 | 
SET(RK_AIQ_LIB rkaiq)  
 | 
endif()  
 | 
  
 | 
##set extern libraries  
 | 
if(ARCH STREQUAL "aarch64")  
 | 
    SET(RK_DRM_LIB_DIR ${PROJECT_SOURCE_DIR}/demo/libs/arm64/)  
 | 
else()  
 | 
    SET(RK_DRM_LIB_DIR ${PROJECT_SOURCE_DIR}/demo/libs/arm32/)  
 | 
endif()  
 | 
SET(RK_DRM_LIB drm)  
 | 
SET(RK_RGA_LIB rga)  
 | 
  
 | 
if (ENABLE_IIO_API)  
 | 
set(IIO_LIB_DIR ${PROJECT_SOURCE_DIR}/demo/iio/lib)  
 | 
set(IIO_LIBS easyiio iio serialport xml2 )  
 | 
endif()  
 | 
  
 | 
#head file path  
 | 
include_directories(  
 | 
demo  
 | 
demo/include  
 | 
demo/include/rga  
 | 
demo/include/libdrm  
 | 
demo/drmDsp  
 | 
demo/iio/include  
 | 
${RK_AIQ_INCLUDE_DIR}  
 | 
)  
 | 
#source directory  
 | 
AUX_SOURCE_DIRECTORY(demo DIR_SRCS)  
 | 
AUX_SOURCE_DIRECTORY(demo/drmDsp DRMDSP_DIR_SRCS)  
 | 
if (ENABLE_IIO_API)  
 | 
    AUX_SOURCE_DIRECTORY(demo/iio/demo IIO_DIR_SRCS)  
 | 
endif()  
 | 
list(APPEND DIR_SRCS ${DRMDSP_DIR_SRCS} ${IIO_DIR_SRCS})  
 | 
  
 | 
# set output binary path  
 | 
if(WIN32)  
 | 
    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe)  
 | 
    SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/)  
 | 
    SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH}/${CMAKE_BUILD_TYPE})  
 | 
else()  
 | 
    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe/${CMAKE_BUILD_TYPE})  
 | 
    SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/${CMAKE_BUILD_TYPE})  
 | 
    SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH})  
 | 
endif()  
 | 
  
 | 
#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")  
 | 
#set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")  
 | 
message(${CMAKE_LIBRARY_PATH})  
 | 
message(${LIBRARY_OUTPUT_PATH})  
 | 
  
 | 
add_definitions(-D_CRT_SECURE_NO_WARNINGS)  
 | 
  
 | 
#  
 | 
link_directories("${LIBRARY_OUTPUT_PATH}" "${RK_AIQ_LIB_DIR}" "${RK_DRM_LIB_DIR}" "${IIO_LIB_DIR}")  
 | 
#add executable file  
 | 
add_executable(rkisp_demo ${DIR_SRCS})  
 | 
target_link_libraries(rkisp_demo ${RK_AIQ_LIB} ${RK_DRM_LIB} ${RK_RGA_LIB} ${IIO_LIBS} ${LINK_ASAN} pthread)  
 | 
target_compile_options(rkisp_demo PRIVATE "-D_FORTIFY_SOURCE=2 -fstack-protector-strong")  
 |