1if (NOT TARGET pico_clib_interface) 2 pico_add_library(pico_clib_interface) 3 4 # ---- newlib ---- 5 pico_add_library(pico_newlib_interface) 6 7 target_sources(pico_newlib_interface INTERFACE 8 ${CMAKE_CURRENT_LIST_DIR}/newlib_interface.c 9 ) 10 11 # ---- picolibc ---- 12 13 pico_add_library(pico_picolibc_interface) 14 15 target_sources(pico_picolibc_interface INTERFACE 16 ${CMAKE_CURRENT_LIST_DIR}/picolibc_interface.c 17 ) 18 19 # replacing the functions is fine it seems 20 #target_compile_definitions(pico_picolibc_interface INTERFACE 21 # PICO_STDIO_SHORT_CIRCUIT_CLIB_FUNCS=0 22 #) 23 24 # ---- llvm_libc ---- 25 pico_add_library(pico_llvm_libc_interface) 26 27 target_sources(pico_llvm_libc_interface INTERFACE 28 ${CMAKE_CURRENT_LIST_DIR}/llvm_libc_interface.c 29 ) 30 31 target_include_directories(pico_llvm_libc_interface SYSTEM INTERFACE 32 ${CMAKE_CURRENT_LIST_DIR}/include/llvm_libc 33 ) 34 target_link_libraries(pico_llvm_libc_interface INTERFACE pico_atomic) 35 pico_mirrored_target_link_libraries(pico_llvm_libc_interface INTERFACE pico_stdio) 36 37 if (NOT PICO_CLIB) 38 set(PICO_CLIB newlib) 39 endif() 40 41 target_link_libraries(pico_clib_interface INTERFACE pico_${PICO_CLIB}_interface) 42endif() 43