1 2if(NOT CMAKE_BUILD_TYPE) 3 # default to Release build for GCC builds 4 set(CMAKE_BUILD_TYPE Release CACHE STRING 5 "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." 6 FORCE) 7endif() 8 9cmake_minimum_required(VERSION 2.8...3.22) 10 11#project name 12PROJECT(rkisp_parser_demo) 13 14# ---------------------------------------------------------------------------- 15# set property to classify library kinds 16# ---------------------------------------------------------------------------- 17set_property(GLOBAL PROPERTY USE_FOLDERS ON) 18set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets") 19 20#set(CMAKE_CONFIGURATION_TYPES "Debug;Release") 21 22#set ADD_RK_AIQ 23#set(ADD_RK_AIQ true) 24 25#set(ENABLE_ASAN true) 26 27if(NOT WIN32) 28if(ENABLE_ASAN) 29add_compile_options(-fsanitize=address -fno-omit-frame-pointer -g) 30SET(LINK_ASAN asan) 31endif() 32add_compile_options(-std=c++11) 33endif() 34 35if(ADD_RK_AIQ) 36add_compile_options(-DADD_RK_AIQ) 37SET(RK_AIQ_LIB_DIR ${PROJECT_SOURCE_DIR}/../rk_aiq/build/linux/all_lib/${CMAKE_BUILD_TYPE}) 38message("rkaiq lib path" ${RK_AIQ_LIB_DIR}) 39SET(RK_AIQ_LIB rkaiq) 40endif() 41 42set(RK_AIQ_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../rk_aiq) 43message("rkaiq src path" ${RK_AIQ_SOURCE_DIR}) 44#head file path 45include_directories( 46${RK_AIQ_SOURCE_DIR} 47${RK_AIQ_SOURCE_DIR}/iq_parser 48${RK_AIQ_SOURCE_DIR}/xcore 49${RK_AIQ_SOURCE_DIR}/xcore/base 50${RK_AIQ_SOURCE_DIR}/include/iq_parser 51${RK_AIQ_SOURCE_DIR}/include/algos 52${RK_AIQ_SOURCE_DIR}/include/xcore 53${RK_AIQ_SOURCE_DIR}/include/xcore/base 54${RK_AIQ_SOURCE_DIR}/include/common 55) 56#source directory 57#AUX_SOURCE_DIRECTORY(demo DIR_SRCS) 58set (DIR_SRCS 59 demo/rkisp_parse.cpp 60 ${RK_AIQ_SOURCE_DIR}/iq_parser/RkAiqCalibDb.cpp 61 ${RK_AIQ_SOURCE_DIR}/iq_parser/RkAiqCalibParser.cpp 62 ${RK_AIQ_SOURCE_DIR}/iq_parser/RkAiqCalibTag.cpp 63 ${RK_AIQ_SOURCE_DIR}/iq_parser/tinyxml2.cpp 64 ${RK_AIQ_SOURCE_DIR}/iq_parser/xmltags.cpp 65 ${RK_AIQ_SOURCE_DIR}/xcore/xcam_log.cpp 66 ${RK_AIQ_SOURCE_DIR}/iq_parser/RkAiqCalibApi.cpp 67 ) 68 69# set output binary path 70 71 72if(WIN32) 73 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe) 74 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/) 75 SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}) 76else() 77 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe/${CMAKE_BUILD_TYPE}) 78 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/${CMAKE_BUILD_TYPE}) 79 SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH}) 80endif() 81 82#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") 83#set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF") 84message(${CMAKE_LIBRARY_PATH}) 85message(${LIBRARY_OUTPUT_PATH}) 86 87add_definitions(-D_CRT_SECURE_NO_WARNINGS) 88 89# 90link_directories("${LIBRARY_OUTPUT_PATH}" "${RK_AIQ_LIB_DIR}") 91#add executable file 92ADD_EXECUTABLE(rkisp_parser ${DIR_SRCS}) 93target_link_libraries(rkisp_parser ${RK_AIQ_LIB} ${LINK_ASAN}) 94if(ARCH STREQUAL "m32") 95message("arch m32") 96set_target_properties(rkisp_parser PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") 97else() 98message("arch m64") 99set_target_properties(rkisp_parser PROPERTIES COMPILE_FLAGS "-m64" LINK_FLAGS "-m64") 100endif() 101