1if (NOT TARGET pico_platform)
2    pico_add_library(pico_platform)
3
4    target_sources(pico_platform INTERFACE
5            ${CMAKE_CURRENT_LIST_DIR}/platform.c
6    )
7
8    target_compile_definitions(pico_platform_headers INTERFACE
9            PICO_NO_HARDWARE=0
10            PICO_ON_DEVICE=1
11            PICO_BUILD=1
12            PICO_RP2350=1
13            PICO_32BIT=1
14    )
15
16    if (PICO_RISCV)
17        target_compile_definitions(pico_platform_headers INTERFACE PICO_RISCV=1)
18    endif()
19
20    target_include_directories(pico_platform_headers SYSTEM INTERFACE ${CMAKE_CURRENT_LIST_DIR}/include)
21
22    target_link_libraries(pico_platform_headers INTERFACE
23            hardware_regs
24    )
25    pico_mirrored_target_link_libraries(pico_platform INTERFACE
26            pico_platform_compiler
27            pico_platform_panic
28            pico_platform_sections
29            hardware_dcp
30            hardware_rcp
31    )
32    if (PICO_RISCV)
33        pico_mirrored_target_link_libraries(pico_platform INTERFACE hardware_hazard3)
34    endif()
35endif()
36
37function(pico_add_platform_library TARGET)
38    target_link_libraries(pico_platform INTERFACE ${TARGET})
39endfunction()