xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkisp_parser_demo/CMakeLists.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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