android13/external/camera_engine_rkaiq/algos/CMakeLists.txt

233 lines
6.0 KiB
CMake

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."
FORCE)
endif()
cmake_minimum_required(VERSION 2.8...3.22)
# surpress CXX_VISIBILITY_PRESET warning
if (POLICY CMP0063) # Visibility
cmake_policy(SET CMP0063 NEW)
endif (POLICY CMP0063)
include_directories(
../xcore
../xcore/base
./
)
if(WIN32)
set(PREFIX )
set(SUFFIX lib)
else()
set(PREFIX ${LIBRARY_OUTPUT_PATH}/lib)
set(SUFFIX a)
endif()
if (${CMAKE_SYSTEM_NAME} EQUAL "")
set(OS "linux")
else()
string(TOLOWER ${CMAKE_SYSTEM_NAME} OS)
endif()
if (${C_LIBRARY_NAME} EQUAL "")
set(C_LIBRARY_NAME "glibc" CACHE INTERNAL "" FORCE)
endif()
string(TOLOWER ${RKAIQ_TARGET_SOC} SOC)
macro(dec_algo_v name version chk_file src_list)
set(_src_list ${src_list} ${ARGN} )
set(PREBUILT_DIR "${CMAKE_CURRENT_LIST_DIR}/${OS}/${SOC}/${ARCH}/${C_LIBRARY_NAME}")
set(LIBPREFIX "${PREBUILT_DIR}/lib")
if (${version} EQUAL 0)
set(target_name "rkaiq_${name}")
set(target_folder "algos/${name}")
else()
set(target_name "rkaiq_${name}_v${version}")
set(target_folder "algos/${name}${version}")
endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${chk_file}")
add_library(${target_name} STATIC ${_src_list})
set_target_properties(${target_name} PROPERTIES FOLDER "${target_folder}")
set_target_properties(${target_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
set_target_properties(${target_name} PROPERTIES C_VISIBILITY_PRESET default)
set_target_properties(${target_name} PROPERTIES CXX_VISIBILITY_PRESET default)
if (${RKAIQ_INSTALL_ALGOS_LIB})
install(TARGETS ${target_name} ARCHIVE DESTINATION ${PREBUILT_DIR})
endif()
else()
message(STATUS "Can NOT found ${CMAKE_CURRENT_SOURCE_DIR}/${chk_file}. Using lib")
add_library(${target_name} STATIC IMPORTED GLOBAL)
set_target_properties(${target_name} PROPERTIES IMPORTED_LOCATION
"${LIBPREFIX}${target_name}.${SUFFIX}")
set_target_properties(${target_name} PROPERTIES IMPORTED_IMPLIB
"${LIBPREFIX}${target_name}.${SUFFIX}")
endif()
endmacro(dec_algo_v)
macro(dec_algo name chk_file src_list)
set(_src_list ${src_list} ${ARGN})
dec_algo_v(${name} 0 ${chk_file} ${_src_list})
endmacro(dec_algo)
if (RKAIQ_HAVE_AE_V1)
add_subdirectory(ae)
endif()
add_subdirectory(awb)
if (RKAIQ_HAVE_AF_V20 OR RKAIQ_ONLY_AF_STATS_V20 OR
RKAIQ_HAVE_AF_V30 OR RKAIQ_ONLY_AF_STATS_V30 OR
RKAIQ_HAVE_AF_V31 OR RKAIQ_ONLY_AF_STATS_V31 OR
RKAIQ_HAVE_AF_V32_LITE OR RKAIQ_ONLY_AF_STATS_V32_LITE)
add_subdirectory(af)
endif()
if (RKAIQ_HAVE_AIE_V10)
add_subdirectory(aie)
endif()
if (RKAIQ_HAVE_MERGE_V10 OR RKAIQ_HAVE_MERGE_V11 OR RKAIQ_HAVE_MERGE_V12)
add_subdirectory(amerge)
endif()
if (RKAIQ_HAVE_TMO_V1)
add_subdirectory(atmo)
endif()
if (RKAIQ_HAVE_DRC_V10 OR RKAIQ_HAVE_DRC_V11 OR RKAIQ_HAVE_DRC_V12 OR RKAIQ_HAVE_DRC_V12_LITE)
add_subdirectory(adrc)
endif()
if (RKAIQ_HAVE_ANR_V1)
add_subdirectory(anr)
endif()
if (RKAIQ_HAVE_SHARP_V1)
add_subdirectory(asharp)
endif()
if (RKAIQ_HAVE_ASD_V10)
add_subdirectory(asd)
endif()
if (RKAIQ_HAVE_ACP_V10)
add_subdirectory(acp)
endif()
if (RKAIQ_HAVE_DEHAZE_V10 OR RKAIQ_HAVE_DEHAZE_V11 OR RKAIQ_HAVE_DEHAZE_V11_DUO OR RKAIQ_HAVE_DEHAZE_V12)
add_subdirectory(adehaze)
endif()
if (RKAIQ_HAVE_3DLUT_V1)
add_subdirectory(a3dlut)
endif()
if (RKAIQ_HAVE_BLC_V1)
add_subdirectory(ablc)
endif()
if (RKAIQ_HAVE_BLC_V32)
add_subdirectory(ablcV32)
endif()
if (RKAIQ_HAVE_CCM_V1 OR RKAIQ_HAVE_CCM_V2)
add_subdirectory(accm)
endif()
if (RKAIQ_HAVE_CGC_V1)
add_subdirectory(acgc)
endif()
if (RKAIQ_HAVE_DEBAYER_V1 OR RKAIQ_HAVE_DEBAYER_V2 OR RKAIQ_HAVE_DEBAYER_V2_LITE)
add_subdirectory(adebayer)
endif()
if (RKAIQ_HAVE_AFD_V1 OR RKAIQ_HAVE_AFD_V2)
add_subdirectory(afd)
endif()
if (RKAIQ_HAVE_FEC_V10)
add_subdirectory(afec)
endif()
if (RKAIQ_HAVE_GAMMA_V10 OR RKAIQ_HAVE_GAMMA_V11)
add_subdirectory(agamma)
endif()
if (RKAIQ_HAVE_DEGAMMA_V1)
add_subdirectory(adegamma)
endif()
if (RKAIQ_HAVE_GIC_V1 OR RKAIQ_HAVE_GIC_V2)
add_subdirectory(agic)
endif()
if (RKAIQ_HAVE_LDCH_V10 OR RKAIQ_HAVE_LDCH_V21)
add_subdirectory(aldch)
endif()
if (RKAIQ_HAVE_LSC_V1 OR RKAIQ_HAVE_LSC_V2 OR RKAIQ_HAVE_LSC_V3)
add_subdirectory(alsc)
endif()
if (RKAIQ_HAVE_ORB_V1)
add_subdirectory(aorb)
endif()
if (RKAIQ_HAVE_CSM_V1)
add_subdirectory(acsm)
endif()
if (RKAIQ_HAVE_WDR_V1)
add_subdirectory(awdr)
endif()
if (RKAIQ_HAVE_SHARP_V3)
add_subdirectory(asharp3)
endif()
if (RKAIQ_HAVE_YNR_V2)
add_subdirectory(aynr2)
endif()
if (RKAIQ_HAVE_CNR_V1)
add_subdirectory(acnr)
endif()
if (RKAIQ_HAVE_BAYERNR_V2)
add_subdirectory(arawnr2)
endif()
if (RKAIQ_HAVE_EIS_V1)
add_subdirectory(aeis)
endif()
if (RKAIQ_HAVE_AMD_V1)
add_subdirectory(amd)
endif()
if (RKAIQ_HAVE_BAYERNR_V1)
add_subdirectory(arawnr)
endif()
if (RKAIQ_HAVE_YNR_V1)
add_subdirectory(aynr)
endif()
if (RKAIQ_HAVE_UVNR_V1)
add_subdirectory(auvnr)
endif()
if (RKAIQ_HAVE_MFNR_V1)
add_subdirectory(amfnr)
endif()
if (RKAIQ_HAVE_GAIN_V1)
add_subdirectory(again)
endif()
if (RKAIQ_HAVE_GAIN_V2)
add_subdirectory(again2)
endif()
if (RKAIQ_HAVE_YNR_V3)
add_subdirectory(aynr3)
endif()
if (RKAIQ_HAVE_YNR_V22)
add_subdirectory(aynrV22)
endif()
if (RKAIQ_HAVE_CNR_V2)
add_subdirectory(acnr2)
endif()
if (RKAIQ_HAVE_SHARP_V4)
add_subdirectory(asharp4)
endif()
if (RKAIQ_HAVE_SHARP_V33 OR RKAIQ_HAVE_SHARP_V33_LITE)
add_subdirectory(asharpV33)
endif()
if (RKAIQ_HAVE_BAYER2DNR_V2)
add_subdirectory(abayer2dnr2)
endif()
if (RKAIQ_HAVE_BAYER2DNR_V23)
add_subdirectory(abayer2dnrV23)
endif()
if (RKAIQ_HAVE_BAYERTNR_V2)
add_subdirectory(abayertnr2)
endif()
if (RKAIQ_HAVE_BAYERTNR_V23 OR RKAIQ_HAVE_BAYERTNR_V23_LITE)
add_subdirectory(abayertnrV23)
endif()
if (RKAIQ_HAVE_CNR_V30 OR RKAIQ_HAVE_CNR_V30_LITE)
add_subdirectory(acnrV30)
endif()
if (RKAIQ_HAVE_CAC_V03 OR RKAIQ_HAVE_CAC_V10 OR RKAIQ_HAVE_CAC_V11)
add_subdirectory(acac)
endif()
if (RKAIQ_HAVE_DPCC_V1)
add_subdirectory(adpcc)
endif()