if(NOT CMAKE_BUILD_TYPE)
|
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(rkisp_demo)
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
include(BuildOptions)
|
include(CompileOptions)
|
include(GNUInstallDirs)
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets")
|
|
set(ADD_RK_AIQ true)
|
option(ENABLE_IIO_API "Enable IIO API for EIS algorithm" OFF)
|
|
set(RK_AIQ_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../rk_aiq)
|
message("rkaiq src path" ${RK_AIQ_SOURCE_DIR})
|
|
if(ADD_RK_AIQ)
|
add_compile_options(-Os)
|
add_compile_options(-DADD_RK_AIQ)
|
if(NOT ARCH STREQUAL "fpga")
|
add_compile_options(-fstack-protector-strong -D_FORTIFY_SOURCE=2)
|
else ()
|
add_compile_options(-DARCH_FPGA)
|
endif()
|
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/uAPI2
|
${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/
|
#${FPGA_RGA_INCLUDE_PATH}/include/
|
)
|
set(RK_AIQ_LIB rkaiq)
|
endif()
|
|
if (ARCH STREQUAL "aarch64")
|
set(RK_DRM_LIB_DIR ${PROJECT_SOURCE_DIR}/demo/libs/arm64/)
|
elseif (ARCH STREQUAL "arm")
|
set(RK_DRM_LIB_DIR
|
${PROJECT_SOURCE_DIR}/demo/libs/arm32/
|
)
|
endif()
|
|
SET(RK_DRM_LIB drm)
|
if(NOT ARCH STREQUAL "fpga")
|
set(RK_RGA_LIB rga)
|
endif()
|
|
if (ENABLE_IIO_API)
|
set(IIO_LIB_DIR ${PROJECT_SOURCE_DIR}/demo/iio/lib)
|
set(IIO_LIBS easyiio iio serialport xml2 )
|
endif()
|
|
include_directories(
|
demo
|
demo/include
|
demo/include/rga
|
demo/include/libdrm
|
demo/drmDsp
|
demo/iio/include
|
${RK_AIQ_INCLUDE_DIR}
|
demo/sample/
|
${SDK_MEDIA_DIR}/include
|
)
|
|
if (NOT ARCH STREQUAL "fpga")
|
aux_source_directory(demo DIR_SRCS)
|
aux_source_directory(demo/drmDsp DRMDSP_DIR_SRCS)
|
aux_source_directory(demo/sample SAMPLE_DIR_SRCS)
|
else ()
|
set (DIR_SRCS
|
demo/rkisp_demo.cpp
|
demo/drmDsp.c
|
demo/drmDsp/bo.c
|
demo/drmDsp/dev.c
|
demo/drmDsp/modeset.c
|
)
|
endif()
|
|
if (ENABLE_IIO_API)
|
AUX_SOURCE_DIRECTORY(demo/iio/demo IIO_DIR_SRCS)
|
endif()
|
list(APPEND DIR_SRCS ${DRMDSP_DIR_SRCS} ${IIO_DIR_SRCS} ${SAMPLE_DIR_SRCS})
|
|
AUX_SOURCE_DIRECTORY(demo/ae_algo_demo AEDEMO_DIR_SRCS)
|
list(APPEND DIR_SRCS ${AEDEMO_DIR_SRCS})
|
|
AUX_SOURCE_DIRECTORY(demo/awb_algo_demo AWBDEMO_DIR_SRCS)
|
list(APPEND DIR_SRCS ${AWBDEMO_DIR_SRCS})
|
|
AUX_SOURCE_DIRECTORY(demo/af_algo_demo AFDEMO_DIR_SRCS)
|
list(APPEND DIR_SRCS ${AFDEMO_DIR_SRCS})
|
|
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(rkisp_demo ${DIR_SRCS})
|
target_link_libraries(rkisp_demo ${RK_AIQ_LIB} ${RK_DRM_LIB} ${RK_RGA_LIB} ${IIO_LIBS} pthread dl)
|
|
#FIXME: buildroot and ipc sdk shall use the same setting
|
if(BUILDROOT_BUILD_PROJECT)
|
install(TARGETS rkisp_demo
|
RUNTIME DESTINATION /usr/bin
|
LIBRARY DESTINATION /usr/lib
|
)
|
|
else()
|
install(TARGETS rkisp_demo
|
RUNTIME DESTINATION "usr/bin"
|
LIBRARY DESTINATION "usr/lib"
|
)
|
endif()
|