hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
cmake_minimum_required(VERSION 2.8.0)
 
project(iqconvert)
 
set(ROOT_PROJ_DIR ${PROJECT_SOURCE_DIR}/../..)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11")
add_compile_options(-fPIC -Wall -Wno-error -O0 -g)
add_compile_options(-Wno-unused-variable
                   -Wno-unused-but-set-variable
                   -Wno-unused-function
                   -Wno-misleading-indentation
                   -Wno-unused-label
                   -Wno-format-truncation
                   -fno-strict-aliasing)
 
 
include_directories(
    ${ROOT_PROJ_DIR}
    ${ROOT_PROJ_DIR}/iq_parser
    ${ROOT_PROJ_DIR}/iq_parser_v2
    ${ROOT_PROJ_DIR}/xcore
    ${ROOT_PROJ_DIR}/xcore/base
    ${ROOT_PROJ_DIR}/include/iq_parser
    ${ROOT_PROJ_DIR}/iq_parser
    ${ROOT_PROJ_DIR}/iq_parser_v2
    ${ROOT_PROJ_DIR}/include/algos
    ${ROOT_PROJ_DIR}/include/xcore
    ${ROOT_PROJ_DIR}/include/xcore/base
    ${ROOT_PROJ_DIR}/include/common
    ${ROOT_PROJ_DIR}/include/uAPI
    )
 
set(CALIBV1_SRC
    ${ROOT_PROJ_DIR}/iq_parser_v2/awb_xml2json.cpp
    ${ROOT_PROJ_DIR}/iq_parser/RkAiqCalibDb.cpp
    ${ROOT_PROJ_DIR}/iq_parser/RkAiqCalibApi.cpp
    ${ROOT_PROJ_DIR}/iq_parser/RkAiqCalibParser.cpp
    ${ROOT_PROJ_DIR}/iq_parser/RkAiqCalibTag.cpp
    ${ROOT_PROJ_DIR}/iq_parser/RkAiqCalibApi.cpp
    ${ROOT_PROJ_DIR}/iq_parser/tinyxml2.cpp
    ${ROOT_PROJ_DIR}/iq_parser/xmltags.cpp
    ${ROOT_PROJ_DIR}/xcore/xcam_log.cpp
    )
 
set(CALIBV2_SRC
    ${ROOT_PROJ_DIR}/iq_parser_v2/aec_xml2json.cpp
    ${ROOT_PROJ_DIR}/iq_parser_v2/ccm_xml2json.cpp
    ${ROOT_PROJ_DIR}/iq_parser_v2/j2s/cJSON.c
    ${ROOT_PROJ_DIR}/iq_parser_v2/j2s/cJSON_Utils.c
    ${ROOT_PROJ_DIR}/iq_parser_v2/j2s/j2s.c
    ${ROOT_PROJ_DIR}/iq_parser_v2/j2s/j2s_utils.c
    ${ROOT_PROJ_DIR}/iq_parser_v2/RkAiqCalibDbV2.cpp
    ${ROOT_PROJ_DIR}/iq_parser_v2/bayernr_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/mfnr_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/uvnr_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/ynr_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/sharp_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/edgefilter_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/bayernr_xml2json_v2.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/cnr_xml2json_v1.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/ynr_xml2json_v2.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/sharp_xml2json_v3.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/adrc_xml2json.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/af_xml2json.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/adehaze_xml2json.cpp
   ${ROOT_PROJ_DIR}/iq_parser_v2/lut3d_xml2json.cpp
    )
 
include_directories(${ROOT_PROJ_DIR}/include)
include_directories(${ROOT_PROJ_DIR}/include/common)
include_directories(${ROOT_PROJ_DIR}/include/iq_parser_v2)
include_directories(${ROOT_PROJ_DIR}/include/iq_parser_v2/j2s)
include_directories(${PROJECT_SOURCE_DIR}/include)
 
add_compile_options(${ISP_HW_VERSION})
 
#########################################################
#         JSON <---> STRUCT  PREPROCESS                 #
#########################################################
add_custom_target(
    j2s_parser
    COMMAND ${CMAKE_C_COMPILER}
    ${ROOT_PROJ_DIR}/include/iq_parser_v2/RkAiqCalibDbTypesV2.h -E -C -o .temp.h ${ISP_HW_VERSION}
    -I${ROOT_PROJ_DIR}/include/common
    -I${ROOT_PROJ_DIR}/include/uAPI
    -I${ROOT_PROJ_DIR}/include/algos
    COMMAND ${PROJECT_SOURCE_DIR}/script/header_strip.sh
    .temp.h output.h
    COMMAND ${PROJECT_SOURCE_DIR}/script/headerprocess.sh
    ${ROOT_PROJ_DIR}/include/iq_parser_v2/RkAiqCalibDbTypesV2.h
    ${ROOT_PROJ_DIR}/include/iq_parser_v2/j2s/j2s_generated.h
    COMMAND ${PROJECT_SOURCE_DIR}/bin/parser output.h >>
    ${ROOT_PROJ_DIR}/include/iq_parser_v2/j2s/j2s_generated.h
    )
 
#########################################################
#                    BUILD LIBRARY                      #
#########################################################
add_library(iqconvert STATIC ${CALIBV1_SRC} ${CALIBV2_SRC})
add_dependencies(iqconvert j2s_parser)
 
#########################################################
#                    BUILD TOOL                         #
#########################################################
add_executable(iqConverTer main.cpp src/iqconverter.cpp)
target_link_libraries(iqConverTer iqconvert)
 
install(TARGETS iqConverTer DESTINATION bin)