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