# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})

set(output_file ${PROJECT_BINARY_DIR}/check_init_priorities_output.txt)
set(output_file_initlevels ${PROJECT_BINARY_DIR}/check_init_priorities_output_initlevels.txt)

add_custom_command(
	COMMENT "Running check_init_priorities.py"
	OUTPUT ${output_file} ${output_file_initlevels}
	DEPENDS
	  ${logical_target_for_zephyr_elf}
	  $<$<TARGET_EXISTS:native_runner_executable>:native_runner_executable>
	COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/check_init_priorities.py
	  --elf-file=$<IF:$<TARGET_EXISTS:native_runner_executable>,${BYPRODUCT_KERNEL_EXE_NAME},${BYPRODUCT_KERNEL_ELF_NAME}>
	  --verbose
	  --output ${output_file}
	  --always-succeed
	COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/check_init_priorities.py
	  --elf-file=$<IF:$<TARGET_EXISTS:native_runner_executable>,${BYPRODUCT_KERNEL_EXE_NAME},${BYPRODUCT_KERNEL_ELF_NAME}>
	  --initlevels
	  --always-succeed
	  > ${output_file_initlevels}
	COMMAND ${PYTHON_EXECUTABLE} ${APPLICATION_SOURCE_DIR}/validate_check_init_priorities_output.py
	  ${output_file} ${output_file_initlevels}
)

add_custom_target(check_init_priorities_output ALL DEPENDS ${output_file} ${output_file_initlevels})

project(check_init_priorities)

target_sources(app PRIVATE src/main.c)
