xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/CMakeLists.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunif(NOT CMAKE_BUILD_TYPE)
2*4882a593Smuzhiyun    set(CMAKE_BUILD_TYPE Release CACHE STRING
3*4882a593Smuzhiyun        "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."
4*4882a593Smuzhiyun        FORCE)
5*4882a593Smuzhiyunendif()
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunif(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
8*4882a593Smuzhiyun    add_definitions(-DBUILD_TYPE_DEBUG)
9*4882a593Smuzhiyunendif()
10*4882a593Smuzhiyun
11*4882a593Smuzhiyuncmake_minimum_required(VERSION 2.8...3.22)
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunPROJECT(rk_aiq)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunlist(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunset(C_LIBRARY_NAME "glibc" CACHE INTERNAL "")
18*4882a593Smuzhiyuninclude(CheckGlibc)
19*4882a593SmuzhiyunCHECK_GLIBC_VERSION()
20*4882a593Smuzhiyun
21*4882a593Smuzhiyuninclude(BuildOptions)
22*4882a593Smuzhiyuninclude(CompileOptions)
23*4882a593Smuzhiyuninclude(GNUInstallDirs)
24*4882a593Smuzhiyun
25*4882a593Smuzhiyunconfigure_file(
26*4882a593Smuzhiyun    "${PROJECT_SOURCE_DIR}/cmake/rkaiq_config.h.in"
27*4882a593Smuzhiyun    "${PROJECT_BINARY_DIR}/config.h"
28*4882a593Smuzhiyun    )
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunfind_package(libdl QUIET)
31*4882a593Smuzhiyunif (libdl_FOUND)
32*4882a593Smuzhiyun    add_compile_options(${LIBDL_CFLAGS})
33*4882a593Smuzhiyunendif()
34*4882a593Smuzhiyun
35*4882a593Smuzhiyunif (RKAIQ_USE_RAWSTREAM_LIB)
36*4882a593Smuzhiyun    message("USE_RAWSTREAM_LIB")
37*4882a593Smuzhiyun    add_compile_options(-DUSE_RAWSTREAM_LIB)
38*4882a593Smuzhiyunendif()
39*4882a593Smuzhiyun
40*4882a593Smuzhiyunfind_package(librga QUIET)
41*4882a593Smuzhiyunif (librga_FOUND)
42*4882a593Smuzhiyun    add_compile_options(${LIBRGA_CFLAGS})
43*4882a593Smuzhiyunendif()
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunif (RKAIQ_ENABLE_LIBDRM)
46*4882a593Smuzhiyunfind_package(libdrm QUIET)
47*4882a593Smuzhiyunendif()
48*4882a593Smuzhiyunif (libdrm_FOUND)
49*4882a593Smuzhiyun    add_compile_options(${LIBDRM_CFLAGS})
50*4882a593Smuzhiyunendif()
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunadd_compile_options(${ISP_HW_VERSION})
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunset_property(GLOBAL PROPERTY USE_FOLDERS ON)
55*4882a593Smuzhiyunset_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets")
56*4882a593Smuzhiyun
57*4882a593Smuzhiyunif(NOT RKAIQ_ENABLE_SIMULATOR)
58*4882a593Smuzhiyun    set(GENMESH_ONLINE true)
59*4882a593Smuzhiyun    if("${ARCH}" STREQUAL "arm")
60*4882a593Smuzhiyun        set(MOTION_DETECT true)
61*4882a593Smuzhiyun    endif()
62*4882a593Smuzhiyunendif()
63*4882a593Smuzhiyun
64*4882a593Smuzhiyuninclude_directories(
65*4882a593Smuzhiyun    xcore
66*4882a593Smuzhiyun    xcore/base
67*4882a593Smuzhiyun    aiq_core
68*4882a593Smuzhiyun    algos
69*4882a593Smuzhiyun    algos_camgroup
70*4882a593Smuzhiyun    common
71*4882a593Smuzhiyun    common/linux
72*4882a593Smuzhiyun    hwi
73*4882a593Smuzhiyun    hwi/isp20
74*4882a593Smuzhiyun    ipc
75*4882a593Smuzhiyun    iq_parser
76*4882a593Smuzhiyun    iq_parser_v2
77*4882a593Smuzhiyun    uAPI
78*4882a593Smuzhiyun    uAPI/include
79*4882a593Smuzhiyun    uAPI2
80*4882a593Smuzhiyun    ipc_server
81*4882a593Smuzhiyun    ./
82*4882a593Smuzhiyun    ./common/
83*4882a593Smuzhiyun    include
84*4882a593Smuzhiyun    include/common
85*4882a593Smuzhiyun    include/common/mediactl
86*4882a593Smuzhiyun    include/iq_parser
87*4882a593Smuzhiyun    include/iq_parser_v2
88*4882a593Smuzhiyun    include/uAPI
89*4882a593Smuzhiyun    include/uAPI2
90*4882a593Smuzhiyun    include/xcore
91*4882a593Smuzhiyun    include/xcore/base
92*4882a593Smuzhiyun    include/algos
93*4882a593Smuzhiyun    include/algos/a3dlut
94*4882a593Smuzhiyun    include/algos/ablc
95*4882a593Smuzhiyun    include/algos/accm
96*4882a593Smuzhiyun    include/algos/acgc
97*4882a593Smuzhiyun    include/algos/acp
98*4882a593Smuzhiyun    include/algos/adebayer
99*4882a593Smuzhiyun    include/algos/adehaze
100*4882a593Smuzhiyun    include/algos/adpcc
101*4882a593Smuzhiyun    include/algos/ae
102*4882a593Smuzhiyun    include/algos/afd
103*4882a593Smuzhiyun    include/algos/af
104*4882a593Smuzhiyun    include/algos/afec
105*4882a593Smuzhiyun    include/algos/agamma
106*4882a593Smuzhiyun    include/algos/adegamma
107*4882a593Smuzhiyun    include/algos/agic
108*4882a593Smuzhiyun    include/algos/amerge
109*4882a593Smuzhiyun    include/algos/atmo
110*4882a593Smuzhiyun    include/algos/adrc
111*4882a593Smuzhiyun    include/algos/aie
112*4882a593Smuzhiyun    include/algos/aldch
113*4882a593Smuzhiyun    include/algos/alsc
114*4882a593Smuzhiyun    include/algos/anr
115*4882a593Smuzhiyun    include/algos/anr/tnr_md
116*4882a593Smuzhiyun    include/algos/aorb
117*4882a593Smuzhiyun	include/algos/acsm
118*4882a593Smuzhiyun    include/algos/asd
119*4882a593Smuzhiyun    include/algos/asharp
120*4882a593Smuzhiyun    include/algos/awb
121*4882a593Smuzhiyun    include/algos/awdr
122*4882a593Smuzhiyun    include/algos/asharp3
123*4882a593Smuzhiyun    include/algos/aynr2
124*4882a593Smuzhiyun    include/algos/acnr
125*4882a593Smuzhiyun    include/algos/aeis
126*4882a593Smuzhiyun    include/common/gen_mesh
127*4882a593Smuzhiyun    include/ipc_server
128*4882a593Smuzhiyun    include/amd
129*4882a593Smuzhiyun    include/algos/arawnr
130*4882a593Smuzhiyun    include/algos/aynr
131*4882a593Smuzhiyun    include/algos/auvnr
132*4882a593Smuzhiyun    include/algos/amfnr
133*4882a593Smuzhiyun    include/algos/again
134*4882a593Smuzhiyun    include/algos/aynr3
135*4882a593Smuzhiyun    include/algos/acnr2
136*4882a593Smuzhiyun    include/algos/asharp4
137*4882a593Smuzhiyun    include/algos/abayer2dnr2
138*4882a593Smuzhiyun    include/algos/abayertnr2
139*4882a593Smuzhiyun    include/algos/again2
140*4882a593Smuzhiyun    include/algos/acac
141*4882a593Smuzhiyun    include/algos_camgroup/ae
142*4882a593Smuzhiyun    include/algos_camgroup/awb
143*4882a593Smuzhiyun    include/algos/abayer2dnrV23
144*4882a593Smuzhiyun    include/algos/abayertnrV23
145*4882a593Smuzhiyun    include/algos/aynrV22
146*4882a593Smuzhiyun    include/algos/acnrV30
147*4882a593Smuzhiyun    include/algos/asharpV33
148*4882a593Smuzhiyun    include/algos/ablcV32
149*4882a593Smuzhiyun    ${PROJECT_BINARY_DIR}
150*4882a593Smuzhiyun    )
151*4882a593Smuzhiyun
152*4882a593Smuzhiyunset(ALGO_HANDLE_SRC
153*4882a593Smuzhiyun    aiq_core/algo_handlers/RkAiqAwbHandle.cpp
154*4882a593Smuzhiyun    )
155*4882a593Smuzhiyun
156*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V2)
157*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_YNR_V2=1)
158*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAynrV2Handle.cpp)
159*4882a593Smuzhiyunendif()
160*4882a593Smuzhiyun
161*4882a593Smuzhiyunif (RKAIQ_HAVE_AWB_V20)
162*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AWB_V20=1)
163*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAwbHandle.cpp)
164*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqCustomAwbHandle.cpp)
165*4882a593Smuzhiyunendif()
166*4882a593Smuzhiyun
167*4882a593Smuzhiyunif (RKAIQ_HAVE_AWB_V21)
168*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AWB_V21=1)
169*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAwbV21Handle.cpp)
170*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqCustomAwbHandle.cpp)
171*4882a593Smuzhiyunendif()
172*4882a593Smuzhiyun
173*4882a593Smuzhiyunif (RKAIQ_HAVE_AWB_V32)
174*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AWB_V32=1)
175*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAwbV32Handle.cpp)
176*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqCustomAwbHandle.cpp)
177*4882a593Smuzhiyun    if (RKAIQ_HAVE_AWB_V32LT)
178*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AWB_V32LT=1)
179*4882a593Smuzhiyun    endif()
180*4882a593Smuzhiyunendif()
181*4882a593Smuzhiyun
182*4882a593Smuzhiyunif (RKAIQ_HAVE_GIC_V1 OR RKAIQ_HAVE_GIC_V2)
183*4882a593Smuzhiyun    if (RKAIQ_HAVE_GIC_V1)
184*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_GIC_V1=1)
185*4882a593Smuzhiyun    endif()
186*4882a593Smuzhiyun    if (RKAIQ_HAVE_GIC_V2)
187*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_GIC_V2=1)
188*4882a593Smuzhiyun    endif()
189*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAgicHandle.cpp)
190*4882a593Smuzhiyunendif()
191*4882a593Smuzhiyun
192*4882a593Smuzhiyunif (RKAIQ_HAVE_ORB_V1)
193*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_ORB_V1=1)
194*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAorbHandle.cpp)
195*4882a593Smuzhiyunendif()
196*4882a593Smuzhiyun
197*4882a593Smuzhiyunif (RKAIQ_HAVE_EIS_V1)
198*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_EIS_V1=1)
199*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAeisHandle.cpp)
200*4882a593Smuzhiyunendif()
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunif (RKAIQ_HAVE_CAC_V03)
203*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CAC_V03=1)
204*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcacV3Handle.cpp)
205*4882a593Smuzhiyunendif()
206*4882a593Smuzhiyun
207*4882a593Smuzhiyunif (RKAIQ_HAVE_CAC_V10)
208*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CAC_V10=1)
209*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcacHandle.cpp)
210*4882a593Smuzhiyunendif()
211*4882a593Smuzhiyun
212*4882a593Smuzhiyunif (RKAIQ_HAVE_CAC_V11)
213*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CAC_V11=1)
214*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcacV11Handle.cpp)
215*4882a593Smuzhiyunendif()
216*4882a593Smuzhiyun
217*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V1)
218*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_YNR_V1=1)
219*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAynrHandle.cpp)
220*4882a593Smuzhiyunendif()
221*4882a593Smuzhiyun
222*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V3)
223*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_YNR_V3=1)
224*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAynrV3Handle.cpp)
225*4882a593Smuzhiyunendif()
226*4882a593Smuzhiyun
227*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V22)
228*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_YNR_V22=1)
229*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAynrV22Handle.cpp)
230*4882a593Smuzhiyunendif()
231*4882a593Smuzhiyun
232*4882a593Smuzhiyunif (RKAIQ_HAVE_UVNR_V1)
233*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_UVNR_V1=1)
234*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcnrHandle.cpp)
235*4882a593Smuzhiyunendif()
236*4882a593Smuzhiyun
237*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V1)
238*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CNR_V1=1)
239*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcnrV1Handle.cpp)
240*4882a593Smuzhiyunendif()
241*4882a593Smuzhiyun
242*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V2)
243*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CNR_V2=1)
244*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcnrV2Handle.cpp)
245*4882a593Smuzhiyunendif()
246*4882a593Smuzhiyun
247*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V30)
248*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CNR_V30=1)
249*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcnrV30Handle.cpp)
250*4882a593Smuzhiyunendif()
251*4882a593Smuzhiyun
252*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V30_LITE)
253*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CNR_V30_LITE=1)
254*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcnrV30Handle.cpp)
255*4882a593Smuzhiyunendif()
256*4882a593Smuzhiyun
257*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V1)
258*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_SHARP_V1=1)
259*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAsharpHandle.cpp)
260*4882a593Smuzhiyunendif()
261*4882a593Smuzhiyun
262*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V3)
263*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_SHARP_V3=1)
264*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAsharpV3Handle.cpp)
265*4882a593Smuzhiyunendif()
266*4882a593Smuzhiyun
267*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V4)
268*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_SHARP_V4=1)
269*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAsharpV4Handle.cpp)
270*4882a593Smuzhiyunendif()
271*4882a593Smuzhiyun
272*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V33)
273*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_SHARP_V33=1)
274*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAsharpV33Handle.cpp)
275*4882a593Smuzhiyunendif()
276*4882a593Smuzhiyun
277*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V33_LITE)
278*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_SHARP_V33_LITE=1)
279*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAsharpV33Handle.cpp)
280*4882a593Smuzhiyunendif()
281*4882a593Smuzhiyun
282*4882a593Smuzhiyunif (RKAIQ_HAVE_MFNR_V1)
283*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_MFNR_V1=1)
284*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAmfnrHandle.cpp)
285*4882a593Smuzhiyunendif()
286*4882a593Smuzhiyun
287*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERNR_V1)
288*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYERNR_V1=1)
289*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqArawnrHandle.cpp)
290*4882a593Smuzhiyunendif()
291*4882a593Smuzhiyun
292*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERNR_V2)
293*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYERNR_V2=1)
294*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqArawnrV2Handle.cpp)
295*4882a593Smuzhiyunendif()
296*4882a593Smuzhiyun
297*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYER2DNR_V2)
298*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYER2DNR_V2=1)
299*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAbayer2dnrV2Handle.cpp)
300*4882a593Smuzhiyunendif()
301*4882a593Smuzhiyun
302*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYER2DNR_V23)
303*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYER2DNR_V23=1)
304*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAbayer2dnrV23Handle.cpp)
305*4882a593Smuzhiyunendif()
306*4882a593Smuzhiyun
307*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERTNR_V2)
308*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYERTNR_V2=1)
309*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAbayertnrV2Handle.cpp)
310*4882a593Smuzhiyunendif()
311*4882a593Smuzhiyun
312*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERTNR_V23)
313*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYERTNR_V23=1)
314*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAbayertnrV23Handle.cpp)
315*4882a593Smuzhiyunendif()
316*4882a593Smuzhiyun
317*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERTNR_V23_LITE)
318*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BAYERTNR_V23_LITE=1)
319*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAbayertnrV23Handle.cpp)
320*4882a593Smuzhiyunendif()
321*4882a593Smuzhiyun
322*4882a593Smuzhiyunif (RKAIQ_HAVE_GAIN_V1)
323*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_GAIN_V1=1)
324*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAgainHandle.cpp)
325*4882a593Smuzhiyunendif()
326*4882a593Smuzhiyun
327*4882a593Smuzhiyunif (RKAIQ_HAVE_GAIN_V2)
328*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_GAIN_V2=1)
329*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAgainV2Handle.cpp)
330*4882a593Smuzhiyunendif()
331*4882a593Smuzhiyun
332*4882a593Smuzhiyunif (RKAIQ_HAVE_BLC_V1)
333*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BLC_V1=1)
334*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAblcHandle.cpp)
335*4882a593Smuzhiyunendif()
336*4882a593Smuzhiyun
337*4882a593Smuzhiyunif (RKAIQ_HAVE_BLC_V32)
338*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_BLC_V32=1)
339*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAblcV32Handle.cpp)
340*4882a593Smuzhiyunendif()
341*4882a593Smuzhiyun
342*4882a593Smuzhiyunif (RKAIQ_HAVE_ANR_V1)
343*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_ANR_V1=1)
344*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAnrHandle.cpp)
345*4882a593Smuzhiyunendif()
346*4882a593Smuzhiyun
347*4882a593Smuzhiyunif (RKAIQ_HAVE_AMD_V1)
348*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AMD_V1=1)
349*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAmdHandle.cpp)
350*4882a593Smuzhiyunendif()
351*4882a593Smuzhiyun
352*4882a593Smuzhiyunif (RKAIQ_HAVE_AF_V20 OR RKAIQ_HAVE_AF_V30 OR RKAIQ_HAVE_AF_V31 OR RKAIQ_HAVE_AF_V32_LITE)
353*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AF=1)
354*4882a593Smuzhiyun    if (RKAIQ_HAVE_AF_V20)
355*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AF_V20=1)
356*4882a593Smuzhiyun    endif()
357*4882a593Smuzhiyun    if (RKAIQ_HAVE_AF_V30)
358*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AF_V30=1)
359*4882a593Smuzhiyun    endif()
360*4882a593Smuzhiyun    if (RKAIQ_HAVE_AF_V31)
361*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AF_V31=1)
362*4882a593Smuzhiyun    endif()
363*4882a593Smuzhiyun    if (RKAIQ_HAVE_AF_V32_LITE)
364*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AF_V32_LITE=1)
365*4882a593Smuzhiyun    endif()
366*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAfHandle.cpp)
367*4882a593Smuzhiyunendif()
368*4882a593Smuzhiyun
369*4882a593Smuzhiyunif (RKAIQ_ONLY_AF_STATS_V20 OR RKAIQ_ONLY_AF_STATS_V30 OR RKAIQ_ONLY_AF_STATS_V31 OR RKAIQ_ONLY_AF_STATS_V32_LITE)
370*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AF=1)
371*4882a593Smuzhiyun    if (RKAIQ_ONLY_AF_STATS_V20)
372*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_ONLY_AF_STATS_V20=1)
373*4882a593Smuzhiyun    endif()
374*4882a593Smuzhiyun    if (RKAIQ_ONLY_AF_STATS_V30)
375*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_ONLY_AF_STATS_V30=1)
376*4882a593Smuzhiyun    endif()
377*4882a593Smuzhiyun    if (RKAIQ_ONLY_AF_STATS_V31)
378*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_ONLY_AF_STATS_V31=1)
379*4882a593Smuzhiyun    endif()
380*4882a593Smuzhiyun    if (RKAIQ_ONLY_AF_STATS_V32_LITE)
381*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_ONLY_AF_STATS_V32_LITE=1)
382*4882a593Smuzhiyun    endif()
383*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAfHandle.cpp)
384*4882a593Smuzhiyunendif()
385*4882a593Smuzhiyun
386*4882a593Smuzhiyunif (RKAIQ_HAVE_3DLUT_V1)
387*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_3DLUT_V1=1)
388*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqA3dlutHandle.cpp)
389*4882a593Smuzhiyunendif()
390*4882a593Smuzhiyun
391*4882a593Smuzhiyunif (RKAIQ_HAVE_CCM_V1 OR RKAIQ_HAVE_CCM_V2)
392*4882a593Smuzhiyun    if (RKAIQ_HAVE_CCM_V1)
393*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_CCM_V1=1)
394*4882a593Smuzhiyun    endif()
395*4882a593Smuzhiyun    if (RKAIQ_HAVE_CCM_V2)
396*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_CCM_V2=1)
397*4882a593Smuzhiyun    endif()
398*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAccmHandle.cpp)
399*4882a593Smuzhiyunendif()
400*4882a593Smuzhiyun
401*4882a593Smuzhiyunif (RKAIQ_HAVE_GAMMA_V10 OR RKAIQ_HAVE_GAMMA_V11)
402*4882a593Smuzhiyun    if (RKAIQ_HAVE_GAMMA_V10)
403*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_GAMMA_V10=1)
404*4882a593Smuzhiyun    endif()
405*4882a593Smuzhiyun    if (RKAIQ_HAVE_GAMMA_V11)
406*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_GAMMA_V11=1)
407*4882a593Smuzhiyun    endif()
408*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAgammaHandle.cpp)
409*4882a593Smuzhiyunendif()
410*4882a593Smuzhiyun
411*4882a593Smuzhiyunif (RKAIQ_HAVE_MERGE_V10 OR RKAIQ_HAVE_MERGE_V11 OR RKAIQ_HAVE_MERGE_V12)
412*4882a593Smuzhiyun    if (RKAIQ_HAVE_MERGE_V10)
413*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_MERGE_V10=1)
414*4882a593Smuzhiyun    endif()
415*4882a593Smuzhiyun    if (RKAIQ_HAVE_MERGE_V11)
416*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_MERGE_V11=1)
417*4882a593Smuzhiyun    endif()
418*4882a593Smuzhiyun    if (RKAIQ_HAVE_MERGE_V12)
419*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_MERGE_V12=1)
420*4882a593Smuzhiyun    endif()
421*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAmergeHandle.cpp)
422*4882a593Smuzhiyunendif()
423*4882a593Smuzhiyun
424*4882a593Smuzhiyunif (RKAIQ_HAVE_DRC_V10 OR RKAIQ_HAVE_DRC_V11 OR RKAIQ_HAVE_DRC_V12 OR RKAIQ_HAVE_DRC_V12_LITE)
425*4882a593Smuzhiyun    if (RKAIQ_HAVE_DRC_V10)
426*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DRC_V10=1)
427*4882a593Smuzhiyun    endif()
428*4882a593Smuzhiyun    if (RKAIQ_HAVE_DRC_V11)
429*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DRC_V11=1)
430*4882a593Smuzhiyun    endif()
431*4882a593Smuzhiyun    if (RKAIQ_HAVE_DRC_V12)
432*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DRC_V12=1)
433*4882a593Smuzhiyun    endif()
434*4882a593Smuzhiyun    if (RKAIQ_HAVE_DRC_V12_LITE)
435*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DRC_V12_LITE=1)
436*4882a593Smuzhiyun    endif()
437*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAdrcHandle.cpp)
438*4882a593Smuzhiyunendif()
439*4882a593Smuzhiyun
440*4882a593Smuzhiyunif (RKAIQ_HAVE_DEHAZE_V10 OR RKAIQ_HAVE_DEHAZE_V11 OR RKAIQ_HAVE_DEHAZE_V11_DUO OR RKAIQ_HAVE_DEHAZE_V12)
441*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEHAZE_V10)
442*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEHAZE_V10=1)
443*4882a593Smuzhiyun    endif()
444*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEHAZE_V11)
445*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEHAZE_V11=1)
446*4882a593Smuzhiyun    endif()
447*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEHAZE_V11_DUO)
448*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEHAZE_V11_DUO=1)
449*4882a593Smuzhiyun    endif()
450*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEHAZE_V12)
451*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEHAZE_V12=1)
452*4882a593Smuzhiyun    endif()
453*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAdehazeHandle.cpp)
454*4882a593Smuzhiyunendif()
455*4882a593Smuzhiyun
456*4882a593Smuzhiyunif (RKAIQ_HAVE_DEGAMMA_V1)
457*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_DEGAMMA_V1=1)
458*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAdegammaHandle.cpp)
459*4882a593Smuzhiyunendif()
460*4882a593Smuzhiyun
461*4882a593Smuzhiyunif (RKAIQ_HAVE_TMO_V1)
462*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_TMO_V1=1)
463*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAtmoHandle.cpp)
464*4882a593Smuzhiyunendif()
465*4882a593Smuzhiyun
466*4882a593Smuzhiyunif (RKAIQ_HAVE_WDR_V1)
467*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_WDR_V1=1)
468*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAwdrHandle.cpp)
469*4882a593Smuzhiyunendif()
470*4882a593Smuzhiyun
471*4882a593Smuzhiyunif (RKAIQ_HAVE_LDCH_V10)
472*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_LDCH_V10=1)
473*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAldchHandle.cpp)
474*4882a593Smuzhiyunendif()
475*4882a593Smuzhiyun
476*4882a593Smuzhiyunif (RKAIQ_HAVE_LDCH_V21)
477*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_LDCH_V21=1)
478*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAldchHandle.cpp)
479*4882a593Smuzhiyunendif()
480*4882a593Smuzhiyun
481*4882a593Smuzhiyunif (RKAIQ_HAVE_FEC_V10)
482*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_FEC_V10=1)
483*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAfecHandle.cpp)
484*4882a593Smuzhiyunendif()
485*4882a593Smuzhiyun
486*4882a593Smuzhiyunif (RKAIQ_HAVE_CSM_V1)
487*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CSM_V1=1)
488*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcsmHandle.cpp)
489*4882a593Smuzhiyunendif()
490*4882a593Smuzhiyun
491*4882a593Smuzhiyunif (RKAIQ_HAVE_CGC_V1)
492*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_CGC_V1=1)
493*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcgcHandle.cpp)
494*4882a593Smuzhiyunendif()
495*4882a593Smuzhiyun
496*4882a593Smuzhiyunif (RKAIQ_HAVE_AE_V1)
497*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AE_V1=1)
498*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAeHandle.cpp)
499*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqCustomAeHandle.cpp)
500*4882a593Smuzhiyunendif()
501*4882a593Smuzhiyun
502*4882a593Smuzhiyunif (RKAIQ_HAVE_AFD_V1 OR RKAIQ_HAVE_AFD_V2)
503*4882a593Smuzhiyun    if (RKAIQ_HAVE_AFD_V1)
504*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AFD_V1=1)
505*4882a593Smuzhiyun    endif()
506*4882a593Smuzhiyun    if (RKAIQ_HAVE_AFD_V2)
507*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_AFD_V2=1)
508*4882a593Smuzhiyun    endif()
509*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAfdHandle.cpp)
510*4882a593Smuzhiyunendif()
511*4882a593Smuzhiyun
512*4882a593Smuzhiyunif (RKAIQ_HAVE_DEBAYER_V1 OR RKAIQ_HAVE_DEBAYER_V2 OR RKAIQ_HAVE_DEBAYER_V2_LITE)
513*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEBAYER_V1)
514*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEBAYER_V1=1)
515*4882a593Smuzhiyun    endif()
516*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEBAYER_V2)
517*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEBAYER_V2=1)
518*4882a593Smuzhiyun    endif()
519*4882a593Smuzhiyun    if (RKAIQ_HAVE_DEBAYER_V2_LITE)
520*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_DEBAYER_V2_LITE=1)
521*4882a593Smuzhiyun    endif()
522*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAdebayerHandle.cpp)
523*4882a593Smuzhiyunendif()
524*4882a593Smuzhiyun
525*4882a593Smuzhiyunif (RKAIQ_HAVE_LSC_V1 OR RKAIQ_HAVE_LSC_V2 OR RKAIQ_HAVE_LSC_V3)
526*4882a593Smuzhiyun    if (RKAIQ_HAVE_LSC_V1)
527*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_LSC_V1=1)
528*4882a593Smuzhiyun    endif()
529*4882a593Smuzhiyun    if (RKAIQ_HAVE_LSC_V2)
530*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_LSC_V2=1)
531*4882a593Smuzhiyun    endif()
532*4882a593Smuzhiyun    if (RKAIQ_HAVE_LSC_V3)
533*4882a593Smuzhiyun        add_compile_options(-DRKAIQ_HAVE_LSC_V3=1)
534*4882a593Smuzhiyun    endif()
535*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAlscHandle.cpp)
536*4882a593Smuzhiyunendif()
537*4882a593Smuzhiyun
538*4882a593Smuzhiyunif (RKAIQ_HAVE_DPCC_V1)
539*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_DPCC_V1=1)
540*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAdpccHandle.cpp)
541*4882a593Smuzhiyunendif()
542*4882a593Smuzhiyun
543*4882a593Smuzhiyunif (RKAIQ_HAVE_ACP_V10)
544*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_ACP_V10=1)
545*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAcpHandle.cpp)
546*4882a593Smuzhiyunendif()
547*4882a593Smuzhiyun
548*4882a593Smuzhiyunif (RKAIQ_HAVE_AIE_V10)
549*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_AIE_V10=1)
550*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAieHandle.cpp)
551*4882a593Smuzhiyunendif()
552*4882a593Smuzhiyun
553*4882a593Smuzhiyunif (RKAIQ_HAVE_ASD_V10)
554*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_ASD_V10=1)
555*4882a593Smuzhiyun    list(APPEND ALGO_HANDLE_SRC aiq_core/algo_handlers/RkAiqAsdHandle.cpp)
556*4882a593Smuzhiyunendif()
557*4882a593Smuzhiyun
558*4882a593Smuzhiyunset(AIQ_CORE_SRC
559*4882a593Smuzhiyun    ${ALGO_HANDLE_SRC}
560*4882a593Smuzhiyun    aiq_core/RkAiqHandle.cpp
561*4882a593Smuzhiyun    aiq_core/RkAiqCore.cpp
562*4882a593Smuzhiyun    aiq_core/MessageBus.cpp
563*4882a593Smuzhiyun    aiq_core/RkAiqAnalyzeGroupManager.cpp
564*4882a593Smuzhiyun    aiq_core/RkAiqResourceTranslator.cpp
565*4882a593Smuzhiyun    aiq_core/RkAiqResourceTranslatorV21.cpp
566*4882a593Smuzhiyun    aiq_core/RkAiqResourceTranslatorV3x.cpp
567*4882a593Smuzhiyun    aiq_core/RkAiqResourceTranslatorV32.cpp
568*4882a593Smuzhiyun    RkAiqCamProfiles.cpp
569*4882a593Smuzhiyun    )
570*4882a593Smuzhiyun
571*4882a593Smuzhiyunif (RKAIQ_ISP_VERSION STREQUAL "20")
572*4882a593Smuzhiyun    list(APPEND AIQ_CORE_SRC aiq_core/RkLumaCore.cpp)
573*4882a593Smuzhiyunendif()
574*4882a593Smuzhiyun
575*4882a593Smuzhiyunif (RKAIQ_HAVE_THUMBNAILS)
576*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_THUMBNAILS)
577*4882a593Smuzhiyun    set(AIQ_CORE_SRC
578*4882a593Smuzhiyun        ${AIQ_CORE_SRC}
579*4882a593Smuzhiyun        aiq_core/thumbnails.cpp
580*4882a593Smuzhiyun        )
581*4882a593Smuzhiyunendif()
582*4882a593Smuzhiyun
583*4882a593Smuzhiyunset(ALGO_COMMON_SRC
584*4882a593Smuzhiyun    algos/interpolation.cpp
585*4882a593Smuzhiyun    )
586*4882a593Smuzhiyun
587*4882a593Smuzhiyunif(GENMESH_ONLINE)
588*4882a593Smuzhiyun    set(COMMON_SRC
589*4882a593Smuzhiyun        common/mediactl/mediactl.c
590*4882a593Smuzhiyun        common/gen_mesh/genMesh.cpp
591*4882a593Smuzhiyun        common/code_to_pixel_format.cpp
592*4882a593Smuzhiyun        common/media_buffer/media_buffer.c
593*4882a593Smuzhiyun        common/media_buffer/media_buffer_pool.c
594*4882a593Smuzhiyun        )
595*4882a593Smuzhiyunelse()
596*4882a593Smuzhiyun    set(COMMON_SRC
597*4882a593Smuzhiyun        common/mediactl/mediactl.c
598*4882a593Smuzhiyun        )
599*4882a593Smuzhiyunendif()
600*4882a593Smuzhiyun
601*4882a593Smuzhiyunif(RKAIQ_ENABLE_SIMULATOR)
602*4882a593Smuzhiyun    set(HWI_SRC
603*4882a593Smuzhiyun        hwi/CamHwBase.cpp
604*4882a593Smuzhiyun        hwi/simulator/CamHwSimulator.cpp
605*4882a593Smuzhiyun        )
606*4882a593Smuzhiyunelse()
607*4882a593Smuzhiyun    set(HWI_SRC
608*4882a593Smuzhiyun        hwi/CamHwBase.cpp
609*4882a593Smuzhiyun        hwi/isp20/CamHwIsp20.cpp
610*4882a593Smuzhiyun        hwi/isp20/Isp20Params.cpp
611*4882a593Smuzhiyun        hwi/isp20/Isp20StatsBuffer.cpp
612*4882a593Smuzhiyun        hwi/isp20/Isp20_module_dbg.cpp
613*4882a593Smuzhiyun        hwi/isp20/Stream.cpp
614*4882a593Smuzhiyun        hwi/isp20/RawStreamCapUnit.cpp
615*4882a593Smuzhiyun        hwi/isp20/RawStreamProcUnit.cpp
616*4882a593Smuzhiyun        hwi/isp20/PdafStreamProcUnit.cpp
617*4882a593Smuzhiyun        hwi/isp20/CaptureRawData.cpp
618*4882a593Smuzhiyun        hwi/isp20/CifScaleStream.cpp
619*4882a593Smuzhiyun        hwi/isp21/CamHwIsp21.cpp
620*4882a593Smuzhiyun        hwi/isp3x/CamHwIsp3x.cpp
621*4882a593Smuzhiyun        hwi/isp32/CamHwIsp32.cpp
622*4882a593Smuzhiyun        hwi/SensorHw.cpp
623*4882a593Smuzhiyun        hwi/LensHw.cpp
624*4882a593Smuzhiyun        hwi/FlashLight.cpp
625*4882a593Smuzhiyun        hwi/image_processor.cpp
626*4882a593Smuzhiyun        hwi/isp20/Isp20Evts.cpp
627*4882a593Smuzhiyun        )
628*4882a593Smuzhiyunendif()
629*4882a593Smuzhiyun
630*4882a593Smuzhiyunif (RKAIQ_HAVE_MULTIISP)
631*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_MULTIISP)
632*4882a593Smuzhiyun    set(HWI_SRC
633*4882a593Smuzhiyun        ${HWI_SRC}
634*4882a593Smuzhiyun        hwi/IspParamsSplitter.cpp
635*4882a593Smuzhiyun        )
636*4882a593Smuzhiyunendif()
637*4882a593Smuzhiyun
638*4882a593Smuzhiyunif (RKAIQ_ISP_VERSION STREQUAL "20")
639*4882a593Smuzhiyun    list(APPEND HWI_SRC
640*4882a593Smuzhiyun        hwi/isp20/NrStatsStream.cpp
641*4882a593Smuzhiyun        hwi/isp20/TnrStatsStream.cpp
642*4882a593Smuzhiyun        hwi/isp20/NrStreamProcUnit.cpp
643*4882a593Smuzhiyun        hwi/isp20/FecParamStream.cpp
644*4882a593Smuzhiyun        hwi/isp20/TnrStreamProcUnit.cpp
645*4882a593Smuzhiyun        )
646*4882a593Smuzhiyunendif()
647*4882a593Smuzhiyun
648*4882a593Smuzhiyunif (RKAIQ_HAVE_FAKECAM)
649*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_ENABLE_FAKECAM)
650*4882a593Smuzhiyun    list(APPEND HWI_SRC
651*4882a593Smuzhiyun        hwi/fakecamera/FakeCamHwIsp20.cpp
652*4882a593Smuzhiyun        hwi/fakecamera/FakeSensorHw.cpp
653*4882a593Smuzhiyun        )
654*4882a593Smuzhiyunendif()
655*4882a593Smuzhiyun
656*4882a593Smuzhiyunif (RKAIQ_HAVE_SPSTREAM)
657*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_ENABLE_SPSTREAM)
658*4882a593Smuzhiyun    list(APPEND HWI_SRC
659*4882a593Smuzhiyun        hwi/isp20/SPStreamProcUnit.cpp
660*4882a593Smuzhiyun        )
661*4882a593Smuzhiyunendif()
662*4882a593Smuzhiyun
663*4882a593Smuzhiyunif(RKAIQ_ENABLE_PARSER_V1)
664*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_ENABLE_PARSER_V1)
665*4882a593Smuzhiyun    set(IQ_PARSER_SRC
666*4882a593Smuzhiyun        iq_parser/RkAiqCalibParser.cpp
667*4882a593Smuzhiyun        iq_parser/RkAiqCalibDb.cpp
668*4882a593Smuzhiyun        iq_parser/RkAiqCalibTag.cpp
669*4882a593Smuzhiyun        iq_parser/tinyxml2.cpp
670*4882a593Smuzhiyun        iq_parser/xmltags.cpp
671*4882a593Smuzhiyun        iq_parser/RkAiqCalibApi.cpp
672*4882a593Smuzhiyun        )
673*4882a593Smuzhiyun    set(IQ_PARSER_V2_SRC
674*4882a593Smuzhiyun        iq_parser_v2/awb_xml2json.cpp
675*4882a593Smuzhiyun        iq_parser_v2/bayernr_xml2json_v1.cpp
676*4882a593Smuzhiyun        iq_parser_v2/mfnr_xml2json_v1.cpp
677*4882a593Smuzhiyun        iq_parser_v2/ynr_xml2json_v1.cpp
678*4882a593Smuzhiyun        iq_parser_v2/uvnr_xml2json_v1.cpp
679*4882a593Smuzhiyun        iq_parser_v2/sharp_xml2json_v1.cpp
680*4882a593Smuzhiyun        iq_parser_v2/edgefilter_xml2json_v1.cpp
681*4882a593Smuzhiyun        )
682*4882a593Smuzhiyunendif()
683*4882a593Smuzhiyun
684*4882a593Smuzhiyunset(UAPI_SRC
685*4882a593Smuzhiyun	#uAPI/rk_aiq_user_api_sysctl.cpp
686*4882a593Smuzhiyun    uAPI2/rk_aiq_user_api2_sysctl.cpp
687*4882a593Smuzhiyun    uAPI2/rk_aiq_user_api2_debug.cpp
688*4882a593Smuzhiyun    uAPI2/rk_aiq_user_api2_helper.cpp
689*4882a593Smuzhiyun    uAPI2/rk_aiq_user_api2_wrapper.cpp
690*4882a593Smuzhiyun    )
691*4882a593Smuzhiyun
692*4882a593Smuzhiyunset(XCORE_SRC
693*4882a593Smuzhiyun    xcore/xcam_common.cpp
694*4882a593Smuzhiyun    xcore/xcam_log.cpp
695*4882a593Smuzhiyun    xcore/xcam_thread.cpp
696*4882a593Smuzhiyun    xcore/xcam_buffer.cpp
697*4882a593Smuzhiyun    xcore/video_buffer.cpp
698*4882a593Smuzhiyun    xcore/v4l2_buffer_proxy.cpp
699*4882a593Smuzhiyun    xcore/v4l2_device.cpp
700*4882a593Smuzhiyun    xcore/fake_v4l2_device.cpp
701*4882a593Smuzhiyun    xcore/buffer_pool.cpp
702*4882a593Smuzhiyun    xcore/poll_thread.cpp
703*4882a593Smuzhiyun    xcore/smart_buffer_priv.cpp
704*4882a593Smuzhiyun    )
705*4882a593Smuzhiyun
706*4882a593Smuzhiyunif (libdrm_FOUND)
707*4882a593Smuzhiyun    set(XCORE_SRC
708*4882a593Smuzhiyun        ${XCORE_SRC}
709*4882a593Smuzhiyun        xcore/drm_device.cpp
710*4882a593Smuzhiyun        xcore/drm_buffer.cpp
711*4882a593Smuzhiyun        xcore/dma_buffer.cpp
712*4882a593Smuzhiyun        xcore/dma_video_buffer.cpp
713*4882a593Smuzhiyun        )
714*4882a593Smuzhiyunendif()
715*4882a593Smuzhiyun
716*4882a593Smuzhiyunset (IPC_SERVER_SRC
717*4882a593Smuzhiyun    ipc_server/socket_server.cpp
718*4882a593Smuzhiyun    ipc_server/rkaiq_tool_ae.cpp
719*4882a593Smuzhiyun    ipc_server/rkaiq_tool_anr.cpp
720*4882a593Smuzhiyun    ipc_server/rkaiq_tool_imgproc.cpp
721*4882a593Smuzhiyun    ipc_server/rkaiq_tool_sharp.cpp
722*4882a593Smuzhiyun    ipc_server/rkaiq_tool_sysctl.cpp
723*4882a593Smuzhiyun    ipc_server/command_process.cpp
724*4882a593Smuzhiyun    ipc_server/MessageParser.cpp
725*4882a593Smuzhiyun    )
726*4882a593Smuzhiyun
727*4882a593Smuzhiyunset (INI_READER_SRC
728*4882a593Smuzhiyun    common/rkaiq_ini.c
729*4882a593Smuzhiyun    )
730*4882a593Smuzhiyun
731*4882a593Smuzhiyunset (RK_AIQ_SRC
732*4882a593Smuzhiyun    ${ALGO_COMMON_SRC}
733*4882a593Smuzhiyun    ${COMMON_SRC}
734*4882a593Smuzhiyun    ${HWI_SRC}
735*4882a593Smuzhiyun    ${IPC_SRC}
736*4882a593Smuzhiyun    ${IQ_PARSER_SRC}
737*4882a593Smuzhiyun    ${IQ_PARSER_V2_SRC}
738*4882a593Smuzhiyun    ${UAPI_SRC}
739*4882a593Smuzhiyun    ${XCORE_SRC}
740*4882a593Smuzhiyun    ${AIQ_CORE_SRC}
741*4882a593Smuzhiyun    ${IPC_SERVER_SRC}
742*4882a593Smuzhiyun    ${INI_READER_SRC}
743*4882a593Smuzhiyun    RkAiqManager.cpp
744*4882a593Smuzhiyun    )
745*4882a593Smuzhiyun
746*4882a593Smuzhiyunif (RKAIQ_ENABLE_CAMGROUP)
747*4882a593Smuzhiyun    aux_source_directory(aiq_core/algo_camgroup_handlers ALGO_CAMGROUP_HANDLE_SRC)
748*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_ENABLE_CAMGROUP)
749*4882a593Smuzhiyun    set (RK_AIQ_SRC
750*4882a593Smuzhiyun        ${RK_AIQ_SRC}
751*4882a593Smuzhiyun        RkAiqCamGroupManager.cpp
752*4882a593Smuzhiyun	    aiq_core/RkAiqCamgroupHandle.cpp
753*4882a593Smuzhiyun        ${ALGO_CAMGROUP_HANDLE_SRC}
754*4882a593Smuzhiyun        )
755*4882a593Smuzhiyunendif()
756*4882a593Smuzhiyun
757*4882a593Smuzhiyunset(RK_AIQ_STATIC_LIB_ARS)
758*4882a593Smuzhiyunset(STATIC_LIB_PREFIX $<TARGET_FILE:)
759*4882a593Smuzhiyunset(STATIC_LIB_SUFFIX >)
760*4882a593Smuzhiyun
761*4882a593Smuzhiyunif(GENMESH_ONLINE AND (RKAIQ_HAVE_LDCH_V10 OR RKAIQ_HAVE_LDCH_V21 OR RKAIQ_HAVE_FEC_V10))
762*4882a593Smuzhiyun    set(GENMESH_LIBS genMeshLib)
763*4882a593Smuzhiyun    if(ARCH STREQUAL "aarch64")
764*4882a593Smuzhiyun        set(GENMESH_LIBS_DIR
765*4882a593Smuzhiyun            ${PROJECT_SOURCE_DIR}/common/gen_mesh/linux/genMesh_static_64bit/
766*4882a593Smuzhiyun            )
767*4882a593Smuzhiyun    else()
768*4882a593Smuzhiyun        set(GENMESH_LIBS_DIR
769*4882a593Smuzhiyun            ${PROJECT_SOURCE_DIR}/common/gen_mesh/linux/genMesh_static_32bit/
770*4882a593Smuzhiyun            )
771*4882a593Smuzhiyun    endif()
772*4882a593Smuzhiyun    list(APPEND RK_AIQ_STATIC_LIB_ARS ${GENMESH_LIBS_DIR}/libgenMeshLib.a)
773*4882a593Smuzhiyun    add_compile_options(-DGENMESH_ONLINE)
774*4882a593Smuzhiyunendif()
775*4882a593Smuzhiyun
776*4882a593Smuzhiyunif (RKAIQ_HAVE_AMD_V1)
777*4882a593Smuzhiyunif(MOTION_DETECT)
778*4882a593Smuzhiyun    set(MOTION_DETECT_LIBS rkaiq_tnr_md)
779*4882a593Smuzhiyunendif()
780*4882a593Smuzhiyunendif()
781*4882a593Smuzhiyun
782*4882a593Smuzhiyunif (RKAIQ_HAVE_PDAF)
783*4882a593Smuzhiyun    add_compile_options(-DRKAIQ_HAVE_PDAF=1)
784*4882a593Smuzhiyunendif()
785*4882a593Smuzhiyunif (RKAIQ_HAVE_PDAF)
786*4882a593Smuzhiyun    set (PDAF_LIBS rkaiq_pdaf)
787*4882a593Smuzhiyun	list(APPEND RK_AIQ_STATIC_LIB_ARS
788*4882a593Smuzhiyun		${STATIC_LIB_PREFIX}rkaiq_pdaf${STATIC_LIB_SUFFIX})
789*4882a593Smuzhiyunendif()
790*4882a593Smuzhiyun
791*4882a593Smuzhiyun# set output binary path
792*4882a593Smuzhiyunif(WIN32)
793*4882a593Smuzhiyun    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe)
794*4882a593Smuzhiyun    SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/)
795*4882a593Smuzhiyun    SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH}/${CMAKE_BUILD_TYPE})
796*4882a593Smuzhiyunelse()
797*4882a593Smuzhiyun    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe/${CMAKE_BUILD_TYPE})
798*4882a593Smuzhiyun    SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/${CMAKE_BUILD_TYPE})
799*4882a593Smuzhiyun    SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH})
800*4882a593Smuzhiyunendif()
801*4882a593Smuzhiyun
802*4882a593Smuzhiyun#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
803*4882a593Smuzhiyun#set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
804*4882a593Smuzhiyunmessage(${CMAKE_LIBRARY_PATH})
805*4882a593Smuzhiyunmessage(${LIBRARY_OUTPUT_PATH})
806*4882a593Smuzhiyun
807*4882a593Smuzhiyun
808*4882a593Smuzhiyunadd_subdirectory(iq_parser_v2)
809*4882a593Smuzhiyuninclude_directories(include/iq_parser_v2)
810*4882a593Smuzhiyuninclude_directories(include/iq_parser_v2/j2s)
811*4882a593Smuzhiyun
812*4882a593Smuzhiyunadd_subdirectory(algos)
813*4882a593Smuzhiyunif (RKAIQ_ENABLE_CAMGROUP)
814*4882a593Smuzhiyun    add_subdirectory(algos_camgroup)
815*4882a593Smuzhiyunendif()
816*4882a593Smuzhiyun
817*4882a593Smuzhiyuncmake_policy(SET CMP0015 NEW)
818*4882a593Smuzhiyun
819*4882a593Smuzhiyunlink_directories("${LIBRARY_OUTPUT_PATH}" "${OPENCV_LIBS_DIR}" "${GENMESH_LIBS_DIR}")
820*4882a593Smuzhiyun
821*4882a593Smuzhiyunadd_library(rkaiq_tmp STATIC ${RK_AIQ_SRC})
822*4882a593Smuzhiyunset_target_properties(rkaiq_tmp PROPERTIES FOLDER "rk_aiq")
823*4882a593Smuzhiyunset_target_properties(rkaiq_tmp PROPERTIES CLEAN_DIRECT_OUTPUT 1)
824*4882a593Smuzhiyunadd_dependencies(rkaiq_tmp j2s_parser)
825*4882a593Smuzhiyun
826*4882a593Smuzhiyunif (RKAIQ_BUILD_BINARY_IQ)
827*4882a593Smuzhiyun    add_dependencies(rkaiq_tmp j2s4b)
828*4882a593Smuzhiyunendif()
829*4882a593Smuzhiyun
830*4882a593Smuzhiyunadd_library(rkaiq SHARED ${RK_AIQ_SRC})
831*4882a593Smuzhiyunset_target_properties(rkaiq PROPERTIES FOLDER "rk_aiq")
832*4882a593Smuzhiyunset_target_properties(rkaiq PROPERTIES CLEAN_DIRECT_OUTPUT 1)
833*4882a593Smuzhiyunset_target_properties(rkaiq PROPERTIES C_VISIBILITY_PRESET default)
834*4882a593Smuzhiyunset_target_properties(rkaiq PROPERTIES CXX_VISIBILITY_PRESET default)
835*4882a593Smuzhiyun
836*4882a593Smuzhiyuntarget_link_libraries(rkaiq
837*4882a593Smuzhiyun	PRIVATE
838*4882a593Smuzhiyun    rkaiq_tmp
839*4882a593Smuzhiyun    rkaiq_ae
840*4882a593Smuzhiyun    rkaiq_awb
841*4882a593Smuzhiyun    ${OPENCV_LIBS}
842*4882a593Smuzhiyun    ${OPENCV_3RDPARTY_LIBS}
843*4882a593Smuzhiyun    ${GENMESH_LIBS}
844*4882a593Smuzhiyun    ${MOTION_DETECT_LIBS}
845*4882a593Smuzhiyun    pthread)
846*4882a593Smuzhiyun
847*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS
848*4882a593Smuzhiyun    ${STATIC_LIB_PREFIX}rkaiq_tmp${STATIC_LIB_SUFFIX}
849*4882a593Smuzhiyun    ${STATIC_LIB_PREFIX}rkaiq_ae${STATIC_LIB_SUFFIX}
850*4882a593Smuzhiyun    ${STATIC_LIB_PREFIX}rkaiq_awb${STATIC_LIB_SUFFIX}
851*4882a593Smuzhiyun    )
852*4882a593Smuzhiyun
853*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V2)
854*4882a593Smuzhiyuntarget_link_libraries(rkaiq
855*4882a593Smuzhiyun    PRIVATE
856*4882a593Smuzhiyun    rkaiq_aynr_v2
857*4882a593Smuzhiyun    )
858*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aynr_v2${STATIC_LIB_SUFFIX})
859*4882a593Smuzhiyunendif()
860*4882a593Smuzhiyun
861*4882a593Smuzhiyunif (RKAIQ_HAVE_GIC_V1 OR RKAIQ_HAVE_GIC_V2)
862*4882a593Smuzhiyuntarget_link_libraries(rkaiq
863*4882a593Smuzhiyun    PRIVATE
864*4882a593Smuzhiyun    rkaiq_agic
865*4882a593Smuzhiyun    )
866*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_agic${STATIC_LIB_SUFFIX})
867*4882a593Smuzhiyunendif()
868*4882a593Smuzhiyun
869*4882a593Smuzhiyunif (RKAIQ_HAVE_ORB_V1)
870*4882a593Smuzhiyuntarget_link_libraries(rkaiq
871*4882a593Smuzhiyun    PRIVATE
872*4882a593Smuzhiyun    rkaiq_aorb
873*4882a593Smuzhiyun    )
874*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aorb${STATIC_LIB_SUFFIX})
875*4882a593Smuzhiyunendif()
876*4882a593Smuzhiyun
877*4882a593Smuzhiyunif (RKAIQ_HAVE_EIS_V1)
878*4882a593Smuzhiyuntarget_link_libraries(rkaiq
879*4882a593Smuzhiyun    PRIVATE
880*4882a593Smuzhiyun    rkaiq_aeis
881*4882a593Smuzhiyun    )
882*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aeis${STATIC_LIB_SUFFIX})
883*4882a593Smuzhiyunendif()
884*4882a593Smuzhiyun
885*4882a593Smuzhiyunif (RKAIQ_HAVE_CAC_V03 OR RKAIQ_HAVE_CAC_V10 OR RKAIQ_HAVE_CAC_V11)
886*4882a593Smuzhiyuntarget_link_libraries(rkaiq
887*4882a593Smuzhiyun    PRIVATE
888*4882a593Smuzhiyun    rkaiq_acac
889*4882a593Smuzhiyun    )
890*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acac${STATIC_LIB_SUFFIX})
891*4882a593Smuzhiyunendif()
892*4882a593Smuzhiyun
893*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V1)
894*4882a593Smuzhiyuntarget_link_libraries(rkaiq
895*4882a593Smuzhiyun    PRIVATE
896*4882a593Smuzhiyun    rkaiq_aynr_v1
897*4882a593Smuzhiyun    )
898*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aynr_v1${STATIC_LIB_SUFFIX})
899*4882a593Smuzhiyunendif()
900*4882a593Smuzhiyun
901*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V3)
902*4882a593Smuzhiyuntarget_link_libraries(rkaiq
903*4882a593Smuzhiyun    PRIVATE
904*4882a593Smuzhiyun    rkaiq_aynr_v3
905*4882a593Smuzhiyun    )
906*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aynr_v3${STATIC_LIB_SUFFIX})
907*4882a593Smuzhiyunendif()
908*4882a593Smuzhiyun
909*4882a593Smuzhiyunif (RKAIQ_HAVE_YNR_V22)
910*4882a593Smuzhiyuntarget_link_libraries(rkaiq
911*4882a593Smuzhiyun    PRIVATE
912*4882a593Smuzhiyun    rkaiq_aynr_v22
913*4882a593Smuzhiyun    )
914*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aynr_v22${STATIC_LIB_SUFFIX})
915*4882a593Smuzhiyunendif()
916*4882a593Smuzhiyun
917*4882a593Smuzhiyunif (RKAIQ_HAVE_UVNR_V1)
918*4882a593Smuzhiyuntarget_link_libraries(rkaiq
919*4882a593Smuzhiyun    PRIVATE
920*4882a593Smuzhiyun    rkaiq_auvnr_v1
921*4882a593Smuzhiyun    )
922*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_auvnr_v1${STATIC_LIB_SUFFIX})
923*4882a593Smuzhiyunendif()
924*4882a593Smuzhiyun
925*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V1)
926*4882a593Smuzhiyuntarget_link_libraries(rkaiq
927*4882a593Smuzhiyun    PRIVATE
928*4882a593Smuzhiyun    rkaiq_acnr_v1
929*4882a593Smuzhiyun    )
930*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acnr_v1${STATIC_LIB_SUFFIX})
931*4882a593Smuzhiyunendif()
932*4882a593Smuzhiyun
933*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V2)
934*4882a593Smuzhiyuntarget_link_libraries(rkaiq
935*4882a593Smuzhiyun    PRIVATE
936*4882a593Smuzhiyun    rkaiq_acnr_v2
937*4882a593Smuzhiyun    )
938*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acnr_v2${STATIC_LIB_SUFFIX})
939*4882a593Smuzhiyunendif()
940*4882a593Smuzhiyun
941*4882a593Smuzhiyunif (RKAIQ_HAVE_CNR_V30 OR RKAIQ_HAVE_CNR_V30_LITE)
942*4882a593Smuzhiyuntarget_link_libraries(rkaiq
943*4882a593Smuzhiyun    PRIVATE
944*4882a593Smuzhiyun    rkaiq_acnr_v30
945*4882a593Smuzhiyun    )
946*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acnr_v30${STATIC_LIB_SUFFIX})
947*4882a593Smuzhiyunendif()
948*4882a593Smuzhiyun
949*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V1)
950*4882a593Smuzhiyuntarget_link_libraries(rkaiq
951*4882a593Smuzhiyun    PRIVATE
952*4882a593Smuzhiyun    rkaiq_asharp
953*4882a593Smuzhiyun    )
954*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_asharp${STATIC_LIB_SUFFIX})
955*4882a593Smuzhiyunendif()
956*4882a593Smuzhiyun
957*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V3)
958*4882a593Smuzhiyuntarget_link_libraries(rkaiq
959*4882a593Smuzhiyun    PRIVATE
960*4882a593Smuzhiyun    rkaiq_asharp_v3
961*4882a593Smuzhiyun    )
962*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_asharp_v3${STATIC_LIB_SUFFIX})
963*4882a593Smuzhiyunendif()
964*4882a593Smuzhiyun
965*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V4)
966*4882a593Smuzhiyuntarget_link_libraries(rkaiq
967*4882a593Smuzhiyun    PRIVATE
968*4882a593Smuzhiyun    rkaiq_asharp_v4
969*4882a593Smuzhiyun    )
970*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_asharp_v4${STATIC_LIB_SUFFIX})
971*4882a593Smuzhiyunendif()
972*4882a593Smuzhiyun
973*4882a593Smuzhiyunif (RKAIQ_HAVE_SHARP_V33 OR RKAIQ_HAVE_SHARP_V33_LITE)
974*4882a593Smuzhiyuntarget_link_libraries(rkaiq
975*4882a593Smuzhiyun    PRIVATE
976*4882a593Smuzhiyun    rkaiq_asharp_v33
977*4882a593Smuzhiyun    )
978*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_asharp_v33${STATIC_LIB_SUFFIX})
979*4882a593Smuzhiyunendif()
980*4882a593Smuzhiyun
981*4882a593Smuzhiyunif (RKAIQ_HAVE_MFNR_V1)
982*4882a593Smuzhiyuntarget_link_libraries(rkaiq
983*4882a593Smuzhiyun    PRIVATE
984*4882a593Smuzhiyun    rkaiq_amfnr_v1
985*4882a593Smuzhiyun    )
986*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_amfnr_v1${STATIC_LIB_SUFFIX})
987*4882a593Smuzhiyunendif()
988*4882a593Smuzhiyun
989*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERNR_V1)
990*4882a593Smuzhiyuntarget_link_libraries(rkaiq
991*4882a593Smuzhiyun    PRIVATE
992*4882a593Smuzhiyun    rkaiq_arawnr_v1
993*4882a593Smuzhiyun    )
994*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_arawnr_v1${STATIC_LIB_SUFFIX})
995*4882a593Smuzhiyunendif()
996*4882a593Smuzhiyun
997*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERNR_V2)
998*4882a593Smuzhiyuntarget_link_libraries(rkaiq
999*4882a593Smuzhiyun    PRIVATE
1000*4882a593Smuzhiyun    rkaiq_arawnr_v2
1001*4882a593Smuzhiyun    )
1002*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_arawnr_v2${STATIC_LIB_SUFFIX})
1003*4882a593Smuzhiyunendif()
1004*4882a593Smuzhiyun
1005*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYER2DNR_V2)
1006*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1007*4882a593Smuzhiyun    PRIVATE
1008*4882a593Smuzhiyun    rkaiq_abayer2dnr_v2
1009*4882a593Smuzhiyun    )
1010*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_abayer2dnr_v2${STATIC_LIB_SUFFIX})
1011*4882a593Smuzhiyunendif()
1012*4882a593Smuzhiyun
1013*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYER2DNR_V23)
1014*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1015*4882a593Smuzhiyun    PRIVATE
1016*4882a593Smuzhiyun    rkaiq_abayer2dnr_v23
1017*4882a593Smuzhiyun    )
1018*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_abayer2dnr_v23${STATIC_LIB_SUFFIX})
1019*4882a593Smuzhiyunendif()
1020*4882a593Smuzhiyun
1021*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERTNR_V2)
1022*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1023*4882a593Smuzhiyun    PRIVATE
1024*4882a593Smuzhiyun    rkaiq_abayertnr_v2
1025*4882a593Smuzhiyun    )
1026*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_abayertnr_v2${STATIC_LIB_SUFFIX})
1027*4882a593Smuzhiyunendif()
1028*4882a593Smuzhiyun
1029*4882a593Smuzhiyunif (RKAIQ_HAVE_BAYERTNR_V23 OR RKAIQ_HAVE_BAYERTNR_V23_LITE)
1030*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1031*4882a593Smuzhiyun    PRIVATE
1032*4882a593Smuzhiyun    rkaiq_abayertnr_v23
1033*4882a593Smuzhiyun    )
1034*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_abayertnr_v23${STATIC_LIB_SUFFIX})
1035*4882a593Smuzhiyunendif()
1036*4882a593Smuzhiyun
1037*4882a593Smuzhiyunif (RKAIQ_HAVE_GAIN_V1)
1038*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1039*4882a593Smuzhiyun    PRIVATE
1040*4882a593Smuzhiyun    rkaiq_again_v1
1041*4882a593Smuzhiyun    )
1042*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_again_v1${STATIC_LIB_SUFFIX})
1043*4882a593Smuzhiyunendif()
1044*4882a593Smuzhiyun
1045*4882a593Smuzhiyunif (RKAIQ_HAVE_GAIN_V2)
1046*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1047*4882a593Smuzhiyun    PRIVATE
1048*4882a593Smuzhiyun    rkaiq_again_v2
1049*4882a593Smuzhiyun    )
1050*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_again_v2${STATIC_LIB_SUFFIX})
1051*4882a593Smuzhiyunendif()
1052*4882a593Smuzhiyun
1053*4882a593Smuzhiyunif (RKAIQ_HAVE_BLC_V1)
1054*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1055*4882a593Smuzhiyun    PRIVATE
1056*4882a593Smuzhiyun    rkaiq_ablc
1057*4882a593Smuzhiyun    )
1058*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_ablc${STATIC_LIB_SUFFIX})
1059*4882a593Smuzhiyunendif()
1060*4882a593Smuzhiyun
1061*4882a593Smuzhiyunif (RKAIQ_HAVE_BLC_V32)
1062*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1063*4882a593Smuzhiyun    PRIVATE
1064*4882a593Smuzhiyun    rkaiq_ablc_v32
1065*4882a593Smuzhiyun    )
1066*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_ablc_v32${STATIC_LIB_SUFFIX})
1067*4882a593Smuzhiyunendif()
1068*4882a593Smuzhiyun
1069*4882a593Smuzhiyunif (RKAIQ_HAVE_ANR_V1)
1070*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1071*4882a593Smuzhiyun    PRIVATE
1072*4882a593Smuzhiyun    rkaiq_anr
1073*4882a593Smuzhiyun    )
1074*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_anr${STATIC_LIB_SUFFIX})
1075*4882a593Smuzhiyunendif()
1076*4882a593Smuzhiyun
1077*4882a593Smuzhiyun
1078*4882a593Smuzhiyunif (RKAIQ_HAVE_AMD_V1)
1079*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1080*4882a593Smuzhiyun    PRIVATE
1081*4882a593Smuzhiyun    rkaiq_amd
1082*4882a593Smuzhiyun    )
1083*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_amd${STATIC_LIB_SUFFIX})
1084*4882a593Smuzhiyunendif()
1085*4882a593Smuzhiyun
1086*4882a593Smuzhiyunif (RKAIQ_HAVE_AF_V20 OR RKAIQ_HAVE_AF_V30 OR RKAIQ_HAVE_AF_V31 OR RKAIQ_HAVE_AF_V32_LITE)
1087*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1088*4882a593Smuzhiyun    PRIVATE
1089*4882a593Smuzhiyun    rkaiq_af
1090*4882a593Smuzhiyun    ${PDAF_LIBS}
1091*4882a593Smuzhiyun    )
1092*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_af${STATIC_LIB_SUFFIX})
1093*4882a593Smuzhiyunelseif (RKAIQ_ONLY_AF_STATS_V20 OR RKAIQ_ONLY_AF_STATS_V30 OR RKAIQ_ONLY_AF_STATS_V31 OR RKAIQ_ONLY_AF_STATS_V32_LITE)
1094*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1095*4882a593Smuzhiyun    PRIVATE
1096*4882a593Smuzhiyun    rkaiq_thirdaf
1097*4882a593Smuzhiyun    )
1098*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_thirdaf${STATIC_LIB_SUFFIX})
1099*4882a593Smuzhiyunendif()
1100*4882a593Smuzhiyun
1101*4882a593Smuzhiyunif (RKAIQ_HAVE_3DLUT_V1)
1102*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1103*4882a593Smuzhiyun    PRIVATE
1104*4882a593Smuzhiyun    rkaiq_a3dlut
1105*4882a593Smuzhiyun    )
1106*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_a3dlut${STATIC_LIB_SUFFIX})
1107*4882a593Smuzhiyunendif()
1108*4882a593Smuzhiyunif (RKAIQ_HAVE_CCM_V1 OR RKAIQ_HAVE_CCM_V2)
1109*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1110*4882a593Smuzhiyun    PRIVATE
1111*4882a593Smuzhiyun    rkaiq_accm
1112*4882a593Smuzhiyun    )
1113*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_accm${STATIC_LIB_SUFFIX})
1114*4882a593Smuzhiyunendif()
1115*4882a593Smuzhiyun
1116*4882a593Smuzhiyunif (RKAIQ_HAVE_GAMMA_V10 OR RKAIQ_HAVE_GAMMA_V11)
1117*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1118*4882a593Smuzhiyun    PRIVATE
1119*4882a593Smuzhiyun    rkaiq_agamma
1120*4882a593Smuzhiyun    )
1121*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_agamma${STATIC_LIB_SUFFIX})
1122*4882a593Smuzhiyunendif()
1123*4882a593Smuzhiyun
1124*4882a593Smuzhiyunif (RKAIQ_HAVE_MERGE_V10 OR RKAIQ_HAVE_MERGE_V11 OR RKAIQ_HAVE_MERGE_V12)
1125*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1126*4882a593Smuzhiyun    PRIVATE
1127*4882a593Smuzhiyun    rkaiq_amerge
1128*4882a593Smuzhiyun    )
1129*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_amerge${STATIC_LIB_SUFFIX})
1130*4882a593Smuzhiyunendif()
1131*4882a593Smuzhiyun
1132*4882a593Smuzhiyunif (RKAIQ_HAVE_DRC_V10 OR RKAIQ_HAVE_DRC_V11 OR RKAIQ_HAVE_DRC_V12 OR RKAIQ_HAVE_DRC_V12_LITE)
1133*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1134*4882a593Smuzhiyun    PRIVATE
1135*4882a593Smuzhiyun    rkaiq_adrc
1136*4882a593Smuzhiyun    )
1137*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_adrc${STATIC_LIB_SUFFIX})
1138*4882a593Smuzhiyunendif()
1139*4882a593Smuzhiyun
1140*4882a593Smuzhiyunif (RKAIQ_HAVE_DEHAZE_V10 OR RKAIQ_HAVE_DEHAZE_V11 OR RKAIQ_HAVE_DEHAZE_V11_DUO OR RKAIQ_HAVE_DEHAZE_V12)
1141*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1142*4882a593Smuzhiyun    PRIVATE
1143*4882a593Smuzhiyun    rkaiq_adehaze
1144*4882a593Smuzhiyun    )
1145*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_adehaze${STATIC_LIB_SUFFIX})
1146*4882a593Smuzhiyunendif()
1147*4882a593Smuzhiyun
1148*4882a593Smuzhiyunif (RKAIQ_HAVE_DEGAMMA_V1)
1149*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1150*4882a593Smuzhiyun    PRIVATE
1151*4882a593Smuzhiyun    rkaiq_adegamma
1152*4882a593Smuzhiyun    )
1153*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_adegamma${STATIC_LIB_SUFFIX})
1154*4882a593Smuzhiyunendif()
1155*4882a593Smuzhiyun
1156*4882a593Smuzhiyunif (RKAIQ_HAVE_TMO_V1)
1157*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1158*4882a593Smuzhiyun    PRIVATE
1159*4882a593Smuzhiyun    rkaiq_atmo
1160*4882a593Smuzhiyun    )
1161*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_atmo${STATIC_LIB_SUFFIX})
1162*4882a593Smuzhiyunendif()
1163*4882a593Smuzhiyun
1164*4882a593Smuzhiyunif (RKAIQ_HAVE_WDR_V1)
1165*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1166*4882a593Smuzhiyun    PRIVATE
1167*4882a593Smuzhiyun    rkaiq_awdr
1168*4882a593Smuzhiyun    )
1169*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_awdr${STATIC_LIB_SUFFIX})
1170*4882a593Smuzhiyunendif()
1171*4882a593Smuzhiyun
1172*4882a593Smuzhiyunif (RKAIQ_HAVE_LDCH_V10 OR RKAIQ_HAVE_LDCH_V21)
1173*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1174*4882a593Smuzhiyun    PRIVATE
1175*4882a593Smuzhiyun    rkaiq_aldch
1176*4882a593Smuzhiyun    )
1177*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aldch${STATIC_LIB_SUFFIX})
1178*4882a593Smuzhiyunendif()
1179*4882a593Smuzhiyun
1180*4882a593Smuzhiyunif (RKAIQ_HAVE_FEC_V10)
1181*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1182*4882a593Smuzhiyun    PRIVATE
1183*4882a593Smuzhiyun    rkaiq_afec
1184*4882a593Smuzhiyun    )
1185*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_afec${STATIC_LIB_SUFFIX})
1186*4882a593Smuzhiyunendif()
1187*4882a593Smuzhiyun
1188*4882a593Smuzhiyunif (RKAIQ_HAVE_CSM_V1)
1189*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1190*4882a593Smuzhiyun    PRIVATE
1191*4882a593Smuzhiyun    rkaiq_acsm
1192*4882a593Smuzhiyun    )
1193*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acsm${STATIC_LIB_SUFFIX})
1194*4882a593Smuzhiyunendif()
1195*4882a593Smuzhiyun
1196*4882a593Smuzhiyunif (RKAIQ_HAVE_CGC_V1)
1197*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1198*4882a593Smuzhiyun    PRIVATE
1199*4882a593Smuzhiyun    rkaiq_acgc
1200*4882a593Smuzhiyun    )
1201*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acgc${STATIC_LIB_SUFFIX})
1202*4882a593Smuzhiyunendif()
1203*4882a593Smuzhiyun
1204*4882a593Smuzhiyunif (RKAIQ_ENABLE_CAMGROUP)
1205*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1206*4882a593Smuzhiyun    PRIVATE
1207*4882a593Smuzhiyun    rkaiq_camgroup_ae
1208*4882a593Smuzhiyun    rkaiq_camgroup_awb
1209*4882a593Smuzhiyun    rkaiq_camgroup_misc
1210*4882a593Smuzhiyun    )
1211*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS
1212*4882a593Smuzhiyun    ${STATIC_LIB_PREFIX}rkaiq_camgroup_ae${STATIC_LIB_SUFFIX}
1213*4882a593Smuzhiyun    ${STATIC_LIB_PREFIX}rkaiq_camgroup_awb${STATIC_LIB_SUFFIX}
1214*4882a593Smuzhiyun    ${STATIC_LIB_PREFIX}rkaiq_camgroup_misc${STATIC_LIB_SUFFIX}
1215*4882a593Smuzhiyun    )
1216*4882a593Smuzhiyunendif()
1217*4882a593Smuzhiyun
1218*4882a593Smuzhiyunif (RKAIQ_HAVE_DEBAYER_V1 OR RKAIQ_HAVE_DEBAYER_V2 OR RKAIQ_HAVE_DEBAYER_V2_LITE)
1219*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1220*4882a593Smuzhiyun    PRIVATE
1221*4882a593Smuzhiyun    rkaiq_adebayer
1222*4882a593Smuzhiyun    )
1223*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_adebayer${STATIC_LIB_SUFFIX})
1224*4882a593Smuzhiyunendif()
1225*4882a593Smuzhiyun
1226*4882a593Smuzhiyunif (RKAIQ_HAVE_AFD_V1 OR RKAIQ_HAVE_AFD_V2)
1227*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1228*4882a593Smuzhiyun    PRIVATE
1229*4882a593Smuzhiyun    rkaiq_afd
1230*4882a593Smuzhiyun    )
1231*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_afd${STATIC_LIB_SUFFIX})
1232*4882a593Smuzhiyunendif()
1233*4882a593Smuzhiyun
1234*4882a593Smuzhiyunif (RKAIQ_HAVE_LSC_V1 OR RKAIQ_HAVE_LSC_V2 OR RKAIQ_HAVE_LSC_V3)
1235*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1236*4882a593Smuzhiyun    PRIVATE
1237*4882a593Smuzhiyun    rkaiq_alsc
1238*4882a593Smuzhiyun    )
1239*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_alsc${STATIC_LIB_SUFFIX})
1240*4882a593Smuzhiyunendif()
1241*4882a593Smuzhiyun
1242*4882a593Smuzhiyunif (RKAIQ_HAVE_DPCC_V1)
1243*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1244*4882a593Smuzhiyun    PRIVATE
1245*4882a593Smuzhiyun    rkaiq_adpcc
1246*4882a593Smuzhiyun    )
1247*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_adpcc${STATIC_LIB_SUFFIX})
1248*4882a593Smuzhiyunendif()
1249*4882a593Smuzhiyun
1250*4882a593Smuzhiyunif (RKAIQ_HAVE_AIE_V10)
1251*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1252*4882a593Smuzhiyun    PRIVATE
1253*4882a593Smuzhiyun    rkaiq_aie
1254*4882a593Smuzhiyun    )
1255*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_aie${STATIC_LIB_SUFFIX})
1256*4882a593Smuzhiyunendif()
1257*4882a593Smuzhiyun
1258*4882a593Smuzhiyunif (RKAIQ_HAVE_ACP_V10)
1259*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1260*4882a593Smuzhiyun    PRIVATE
1261*4882a593Smuzhiyun    rkaiq_acp
1262*4882a593Smuzhiyun    )
1263*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_acp${STATIC_LIB_SUFFIX})
1264*4882a593Smuzhiyunendif()
1265*4882a593Smuzhiyun
1266*4882a593Smuzhiyunif (RKAIQ_HAVE_ASD_V10)
1267*4882a593Smuzhiyuntarget_link_libraries(rkaiq
1268*4882a593Smuzhiyun    PRIVATE
1269*4882a593Smuzhiyun    rkaiq_asd
1270*4882a593Smuzhiyun    )
1271*4882a593Smuzhiyunlist(APPEND RK_AIQ_STATIC_LIB_ARS ${STATIC_LIB_PREFIX}rkaiq_asd${STATIC_LIB_SUFFIX})
1272*4882a593Smuzhiyunendif()
1273*4882a593Smuzhiyun
1274*4882a593Smuzhiyunif (libdl_FOUND)
1275*4882a593Smuzhiyun    target_link_libraries(rkaiq
1276*4882a593Smuzhiyun        PRIVATE
1277*4882a593Smuzhiyun        libdl::libdl
1278*4882a593Smuzhiyun        )
1279*4882a593Smuzhiyunendif()
1280*4882a593Smuzhiyun
1281*4882a593Smuzhiyunif (libdrm_FOUND)
1282*4882a593Smuzhiyun    target_link_libraries(rkaiq
1283*4882a593Smuzhiyun        PRIVATE
1284*4882a593Smuzhiyun        libdrm::libdrm
1285*4882a593Smuzhiyun        )
1286*4882a593Smuzhiyunendif()
1287*4882a593Smuzhiyun
1288*4882a593Smuzhiyun#build static librkaiq.a
1289*4882a593Smuzhiyun
1290*4882a593Smuzhiyunforeach(STATIC_LIB_AR ${RK_AIQ_STATIC_LIB_ARS})
1291*4882a593Smuzhiyun	add_custom_command (TARGET rkaiq_tmp POST_BUILD
1292*4882a593Smuzhiyun	COMMAND ${CMAKE_AR} x ${STATIC_LIB_AR}
1293*4882a593Smuzhiyun	)
1294*4882a593Smuzhiyunendforeach()
1295*4882a593Smuzhiyun
1296*4882a593Smuzhiyunadd_custom_command (TARGET rkaiq_tmp POST_BUILD
1297*4882a593Smuzhiyun	COMMAND ${CMAKE_AR} rcs ${CMAKE_LIBRARY_PATH}/librkaiq.a *.o
1298*4882a593Smuzhiyun	COMMAND ${CMAKE_STRIP} --strip-debug ${CMAKE_LIBRARY_PATH}/librkaiq.a
1299*4882a593Smuzhiyun	COMMAND rm *.o
1300*4882a593Smuzhiyun	)
1301*4882a593Smuzhiyun
1302*4882a593Smuzhiyunset(RKAIQ_HEAD_DEPENDENCE
1303*4882a593Smuzhiyun    include/
1304*4882a593Smuzhiyun    include/algos/
1305*4882a593Smuzhiyun    include/uAPI2/
1306*4882a593Smuzhiyun    include/xcore/
1307*4882a593Smuzhiyun    include/common/
1308*4882a593Smuzhiyun    include/iq_parser/
1309*4882a593Smuzhiyun    include/iq_parser_v2/)
1310*4882a593Smuzhiyuntarget_include_directories(rkaiq PUBLIC ${RKAIQ_HEAD_DEPENDENCE})
1311*4882a593Smuzhiyun
1312*4882a593Smuzhiyun
1313*4882a593Smuzhiyuninstall(DIRECTORY include/
1314*4882a593Smuzhiyun    DESTINATION include/rkaiq
1315*4882a593Smuzhiyun    FILES_MATCHING PATTERN "*.h")
1316*4882a593Smuzhiyuninstall(FILES ${PROJECT_BINARY_DIR}/config.h
1317*4882a593Smuzhiyun    DESTINATION include/rkaiq)
1318*4882a593Smuzhiyuninstall(TARGETS rkaiq
1319*4882a593Smuzhiyun    LIBRARY DESTINATION lib)
1320*4882a593Smuzhiyuninstall(FILES ${CMAKE_LIBRARY_PATH}/librkaiq.a DESTINATION lib)
1321