xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/algos_camgroup/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# surpress CXX_VISIBILITY_PRESET warning
12if (POLICY CMP0063) # Visibility
13    cmake_policy(SET CMP0063 NEW)
14endif (POLICY CMP0063)
15
16include_directories(
17	../xcore
18	../xcore/base
19	../algos
20	./
21)
22
23if(WIN32)
24    set(PREFIX )
25	set(SUFFIX lib)
26else()
27    set(PREFIX ${LIBRARY_OUTPUT_PATH}/lib)
28	set(SUFFIX a)
29endif()
30
31if (${C_LIBRARY_NAME} EQUAL "")
32    set(C_LIBRARY_NAME "glibc" CACHE INTERNAL "" FORCE)
33endif()
34
35string(TOLOWER ${CMAKE_SYSTEM_NAME} OS)
36string(TOLOWER ${RKAIQ_TARGET_SOC} SOC)
37set(AWBPREBUILT_DIR "${CMAKE_CURRENT_LIST_DIR}/awb/${OS}/${SOC}/${ARCH}/${C_LIBRARY_NAME}")
38set(AEPREBUILT_DIR "${CMAKE_CURRENT_LIST_DIR}/ae/${OS}/${SOC}/${ARCH}/${C_LIBRARY_NAME}")
39
40# ----------------------------------------------------------------------------
41# add ae implement
42# ----------------------------------------------------------------------------
43set (GROUP_AE_SRC
44    ae/rk_aiq_algo_camgroup_ae_itf.cpp
45	ae/rk_aiq_group_ae_algo.cpp
46)
47
48if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ae/rk_aiq_algo_camgroup_ae_itf.cpp")
49	message(${LIBRARY_OUTPUT_PATH})
50	add_library(rkaiq_camgroup_ae STATIC ${GROUP_AE_SRC})
51	set_target_properties(rkaiq_camgroup_ae PROPERTIES FOLDER "algos_camgroup/ae")
52	set_target_properties(rkaiq_camgroup_ae PROPERTIES CLEAN_DIRECT_OUTPUT 1)
53	set_target_properties(rkaiq_camgroup_ae PROPERTIES C_VISIBILITY_PRESET default)
54	set_target_properties(rkaiq_camgroup_ae PROPERTIES CXX_VISIBILITY_PRESET default)
55	install(TARGETS rkaiq_camgroup_ae ARCHIVE DESTINATION ${AEPREBUILT_DIR})
56else()
57    message(STATUS "Can NOT found ${CMAKE_CURRENT_SOURCE_DIR}/ae/rk_aiq_algo_camgroup_ae_itf.cpp. Using lib")
58    set(PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/ae/${OS}/${SOC}/${ARCH}/${C_LIBRARY_NAME}/lib")
59	add_library(rkaiq_camgroup_ae STATIC IMPORTED GLOBAL)
60	set_target_properties(rkaiq_camgroup_ae PROPERTIES IMPORTED_LOCATION
61        "${PREFIX}rkaiq_camgroup_ae.${SUFFIX}")
62	set_target_properties(rkaiq_camgroup_ae PROPERTIES IMPORTED_IMPLIB
63        "${PREFIX}rkaiq_camgroup_ae.${SUFFIX}")
64endif()
65
66# ----------------------------------------------------------------------------
67# add awb implement
68# ----------------------------------------------------------------------------
69set (AWB_SRC
70    awb/rk_aiq_algo_camgroup_awb_itf.cpp
71	# uapi
72	awb/rk_aiq_uapiv2_camgroup_awb_int.cpp
73)
74
75if (RKAIQ_HAVE_AWB_V21)
76    add_compile_options(-DRKAIQ_HAVE_AWB_V21=1)
77    list(APPEND AWB_SRC awb/rk_aiq_awb_algo_surround_view_v201.cpp)
78endif()
79
80if (RKAIQ_HAVE_AWB_V32)
81    add_compile_options(-DRKAIQ_HAVE_AWB_V32=1)
82    list(APPEND AWB_SRC awb/rk_aiq_awb_algo_surround_view_v32.cpp)
83endif()
84
85if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/awb/rk_aiq_algo_camgroup_awb_itf.cpp")
86	message(${LIBRARY_OUTPUT_PATH})
87	add_library(rkaiq_camgroup_awb STATIC ${AWB_SRC})
88	set_target_properties(rkaiq_camgroup_awb PROPERTIES FOLDER "algos_camgroup/awb")
89	set_target_properties(rkaiq_camgroup_awb PROPERTIES CLEAN_DIRECT_OUTPUT 1)
90	set_target_properties(rkaiq_camgroup_awb PROPERTIES C_VISIBILITY_PRESET default)
91	set_target_properties(rkaiq_camgroup_awb PROPERTIES CXX_VISIBILITY_PRESET default)
92	install(TARGETS rkaiq_camgroup_awb ARCHIVE DESTINATION ${AWBPREBUILT_DIR})
93else()
94    message(STATUS "Can NOT found ${CMAKE_CURRENT_SOURCE_DIR}/awb/rk_aiq_algo_camgroup_awb_itf.cpp. Using lib")
95    set(PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/awb/${OS}/${SOC}/${ARCH}/${C_LIBRARY_NAME}/lib")
96	add_library(rkaiq_camgroup_awb STATIC IMPORTED GLOBAL)
97	set_target_properties(rkaiq_camgroup_awb PROPERTIES IMPORTED_LOCATION
98        "${PREFIX}rkaiq_camgroup_awb.${SUFFIX}")
99	set_target_properties(rkaiq_camgroup_awb PROPERTIES IMPORTED_IMPLIB
100        "${PREFIX}rkaiq_camgroup_awb.${SUFFIX}")
101endif()
102
103# ----------------------------------------------------------------------------
104# add camgroup misc implement
105# ----------------------------------------------------------------------------
106set (MISC_SRC
107	misc/rk_aiq_algo_camgroup_alsc_itf.cpp
108	misc/rk_aiq_algo_camgroup_adpcc_itf.cpp
109	misc/rk_aiq_algo_camgroup_accm_itf.cpp
110	misc/rk_aiq_algo_camgroup_a3dlut_itf.cpp
111	misc/rk_aiq_algo_camgroup_adehaze_itf.cpp
112	misc/rk_aiq_algo_camgroup_agamma_itf.cpp
113	misc/rk_aiq_algo_camgroup_amerge_itf.cpp
114	misc/rk_aiq_algo_camgroup_adrc_itf.cpp
115	misc/rk_aiq_algo_camgroup_ablc_itf.cpp
116	misc/rk_aiq_algo_camgroup_ablc_itf_v32.cpp
117	aynr2/rk_aiq_algo_camgroup_aynr_itf_v2.cpp
118	aynr3/rk_aiq_algo_camgroup_aynr_itf_v3.cpp
119	aynr3/rk_aiq_uapi_camgroup_aynr_int_v3.cpp
120	aynrV22/rk_aiq_algo_camgroup_aynr_itf_v22.cpp
121	aynrV22/rk_aiq_uapi_camgroup_aynr_int_v22.cpp
122	acnr/rk_aiq_algo_camgroup_acnr_itf.cpp
123	acnr2/rk_aiq_algo_camgroup_acnr_itf_v2.cpp
124	acnr2/rk_aiq_uapi_camgroup_acnr_int_v2.cpp
125	acnrV30/rk_aiq_algo_camgroup_acnr_itf_v30.cpp
126	acnrV30/rk_aiq_uapi_camgroup_acnr_int_v30.cpp
127	asharp3/rk_aiq_algo_camgroup_asharp_itf_v3.cpp
128	asharp4/rk_aiq_algo_camgroup_asharp_itf_v4.cpp
129	asharp4/rk_aiq_uapi_camgroup_asharp_int_v4.cpp
130	asharpV33/rk_aiq_uapi_camgroup_asharp_int_v33.cpp
131	asharpV33/rk_aiq_algo_camgroup_asharp_itf_v33.cpp
132	abayernr2/rk_aiq_algo_camgroup_abayernr_itf_v2.cpp
133	abayer2dnr2/rk_aiq_algo_camgroup_abayer2dnr_itf_v2.cpp
134	abayer2dnr2/rk_aiq_uapi_camgroup_abayer2dnr_int_v2.cpp
135	abayer2dnrV23/rk_aiq_uapi_camgroup_abayer2dnr_int_v23.cpp
136	abayer2dnrV23/rk_aiq_algo_camgroup_abayer2dnr_itf_v23.cpp
137	abayertnr2/rk_aiq_algo_camgroup_abayertnr_itf_v2.cpp
138	abayertnr2/rk_aiq_uapi_camgroup_abayertnr_int_v2.cpp
139	abayertnrV23/rk_aiq_uapi_camgroup_abayertnr_int_v23.cpp
140	abayertnrV23/rk_aiq_algo_camgroup_abayertnr_itf_v23.cpp
141	again2/rk_aiq_algo_camgroup_again_itf_v2.cpp
142	again2/rk_aiq_uapi_camgroup_again_int_v2.cpp
143)
144add_library(rkaiq_camgroup_misc STATIC ${MISC_SRC})
145set_target_properties(rkaiq_camgroup_misc PROPERTIES FOLDER "algos_camgroup/misc")
146
147
148