31 lines
964 B
CMake
31 lines
964 B
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
cmake_minimum_required(VERSION 3.20.0)
|
|
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
|
project(interrupt)
|
|
|
|
target_include_directories(app PRIVATE
|
|
${ZEPHYR_BASE}/kernel/include
|
|
${ZEPHYR_BASE}/arch/${ARCH}/include
|
|
${ZEPHYR_BASE}/arch/common/include
|
|
)
|
|
|
|
target_sources(app PRIVATE
|
|
src/prevent_irq.c
|
|
src/interrupt_offload.c
|
|
src/nested_irq.c
|
|
)
|
|
|
|
target_sources_ifdef(CONFIG_DYNAMIC_INTERRUPTS app PRIVATE src/dynamic_isr.c)
|
|
target_sources_ifdef(CONFIG_X86 app PRIVATE src/regular_isr.c)
|
|
target_sources_ifdef(CONFIG_SHARED_INTERRUPTS app PRIVATE src/static_shared_irq.c)
|
|
|
|
if (CONFIG_SHARED_INTERRUPTS)
|
|
target_sources_ifdef(CONFIG_DYNAMIC_INTERRUPTS app PRIVATE src/dynamic_shared_irq.c)
|
|
endif()
|
|
|
|
if(CONFIG_MULTI_LEVEL_INTERRUPTS)
|
|
target_sources_ifdef(CONFIG_DYNAMIC_INTERRUPTS app PRIVATE src/sw_isr_table.c)
|
|
target_sources_ifdef(CONFIG_TEST_MULTILEVEL_IRQ app PRIVATE src/multilevel_irq.c)
|
|
endif()
|