cmake_minimum_required(VERSION 3.13)

#
#############################################################
# Create static Library and add source code
# Create Library and add Curent Library to project library list
#############################################################
#
# Create Library
cp_internal_library_register(ms_customize 0)


set(DRIVERPATH ms_customize/source/product/driver)
set(CONFIGPATH ms_customize/source/product/config)
set(COMMONPATH ms_customize/source/common)
set(MOTION_SENSOR_DRV FALSE)
set(PROD_CONFIG ms_customize/source/product/config/${CONFIG_PRODUCT_CONFIG})


set(SRCS
    "source/common/mem_prod_pm.c"
    "source/product/config/${CONFIG_PRODUCT_CONFIG}/prod_outport.c"
    "source/product/config/${CONFIG_PRODUCT_CONFIG}/os_cfg.c"
    "source/product/config/${CONFIG_PRODUCT_CONFIG}/power_cfg.c"
    "source/product/config/${CONFIG_PRODUCT_CONFIG}/sleep_cfg.c"
)

if(CONFIG_MOCONF_RTOS_MM)
    list(APPEND SRCS
        "source/product/config/${CONFIG_PRODUCT_CONFIG}/mem_cfg_common.c"
    )
endif()

if(NOT CONFIG_MOCONF_RTOS_NO_OSA)
    list(APPEND SRCS
        "source/product/config/${CONFIG_PRODUCT_CONFIG}/mem_cfg.c"
    )
endif()

if(CONFIG_MPU_ENABLE)
    list(APPEND SRCS
        "source/product/config/${CONFIG_PRODUCT_CONFIG}/mpu_cfg.c"
    )
endif()

if(CONFIG_CM4_GNSS_CACHE_R3P0_RECFG_ENABLE)
    list(APPEND SRCS
        "source/product/config/${CONFIG_PRODUCT_CONFIG}/cache_cfg.c"
    )
endif()

#
#############################################################
# Add Internel depend header file
#############################################################
#
if(1)
cp_library_include_directories(
        ./source/product/config/${CONFIG_PRODUCT_CONFIG}
)
endif()

#
#############################################################
# Public curent header file to total project
# Add the directory to INTERFACE LIBRARY
#############################################################
#
cp_include_directories(
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/fm/inc
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/fm
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/gpio/inc
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/motionsensor/inc
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/norflash/inc
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/spiflash/inc
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/ubot
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/dc/atv_tlg1120
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/dc/atv_qn8610
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/dc/atv_nmi601
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/config/${CONFIG_PRODUCT_CONFIG}
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/audioservice/inc
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/audioservice/inc_export
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/aud_config/inc_export
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/aud_dev/inc
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/lcd/inc
    ${PROJECT_SOURCE_ROOT}/ms_customize/source/product/driver/norflash/normcp_info
    ${PROJECT_SOURCE_ROOT}/ms_ref/export/inc
    ${PROJECT_SOURCE_ROOT}/ms_ref/source/image_proc/src/img_proc/inc
    ${PROJECT_SOURCE_ROOT}/rtos/kernel/export/inc
    ${PROJECT_SOURCE_ROOT}/rtos/arm_drv/export/inc
)

if(CONFIG_SUBSYS_CONFIG_CH)
    cp_include_directories(
        ${PROJECT_SOURCE_ROOT}/chip_drv_ch/chip_plf/${CONFIG_SOC_ID}/ch
        ${PROJECT_SOURCE_ROOT}/chip_drv_ch/export/inc
        ${PROJECT_SOURCE_ROOT}/chip_drv_ch/chip_module/mmu
        ${PROJECT_SOURCE_ROOT}/chip_drv_ch/chip_module/mpu
    )
else()
    cp_include_directories(
        ${PROJECT_SOURCE_ROOT}/chip_drv_pm/export/inc/outdated
        ${PROJECT_SOURCE_ROOT}/chip_drv_pm/export/inc
        ${PROJECT_SOURCE_ROOT}/chip_drv_pm/chip_module/uart/v8
    )
endif()
#
#############################################################
# Extenel Libriry that need to link
#
#############################################################
#
#cp_library_link_libraries()


#
#############################################################
# The defined flags that compile need use
#############################################################
#
#cp_library_compile_definitions(SOC_SHARKL5PRO)


#
#############################################################
# The compile option flags that need use
#############################################################
#
#cp_library_cc_option()

#
# Add source code to library
#
#cp_library_sources_ifdef(CONFIG_APP main.c)
cp_library_sources(${SRCS})

