#
# Copyright (c) 2019 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(app_startup_test)

# Set CMake path variables for convenience
set(PROJECT_DIR ../..)
set(NRF_SDK_DIR ${ZEPHYR_BASE}/../nrf)

# generate runner for the test
test_runner_generate(src/app_startup_test.c)

# Create mock for nRF SDK
cmock_handle(${NRF_SDK_DIR}/include/event_manager.h )
cmock_handle(${ZEPHYR_BASE}/include/sys/reboot.h)

# Add debug module (Unit Under Test)
target_sources(app PRIVATE ${PROJECT_DIR}/src/modules/app_startup.c)

# Add test source file
target_sources(app PRIVATE src/app_startup_test.c)

# Include application folders
target_include_directories(app PRIVATE .)
target_include_directories(app PRIVATE ${PROJECT_DIR}/src/events)
target_include_directories(app PRIVATE ${PROJECT_DIR}/src/modules)

# Include nRF SDK directories
target_include_directories(app PRIVATE ${NRF_SDK_DIR}/subsys/event_manager)
target_include_directories(app PRIVATE ${NRF_SDK_DIR}/include/caf/events)

# Options that cannot be passed through Kconfig fragments.
target_compile_options(app PRIVATE
    -DCONFIG_EVENT_MANAGER_MAX_EVENT_CNT=32
    -DCONFIG_CAF_MODULES_FLAGS_COUNT=32)
# target_compile_options(app PRIVATE
#     -DCONFIG_EVENT_MANAGER_MAX_EVENT_CNT=32
#     -DCONFIG_CAF_MODULES_FLAGS_COUNT=32
#     -DCONFIG_APP_STARTUP_ENABLE=y
#     -DCONFIG_APP_STARTUP_TIMEOUT_ENABLE=y
#     -DCONFIG_APP_STARTUP_TIMEOUT_INTERVAL=200	
#     -DCONFIG_APP_STARTUP_TIMEOUT_DURATION=1000)
