if (NOT TARGET pico_clib_interface) pico_add_library(pico_clib_interface) # ---- newlib ---- pico_add_library(pico_newlib_interface) target_sources(pico_newlib_interface INTERFACE ${CMAKE_CURRENT_LIST_DIR}/newlib_interface.c ) # ---- picolibc ---- pico_add_library(pico_picolibc_interface) target_sources(pico_picolibc_interface INTERFACE ${CMAKE_CURRENT_LIST_DIR}/picolibc_interface.c ) # replacing the functions is fine it seems #target_compile_definitions(pico_picolibc_interface INTERFACE # PICO_STDIO_SHORT_CIRCUIT_CLIB_FUNCS=0 #) # ---- llvm_libc ---- pico_add_library(pico_llvm_libc_interface) target_sources(pico_llvm_libc_interface INTERFACE ${CMAKE_CURRENT_LIST_DIR}/llvm_libc_interface.c ) target_include_directories(pico_llvm_libc_interface SYSTEM INTERFACE ${CMAKE_CURRENT_LIST_DIR}/include/llvm_libc ) target_link_libraries(pico_llvm_libc_interface INTERFACE pico_atomic) pico_mirrored_target_link_libraries(pico_llvm_libc_interface INTERFACE pico_stdio) if (NOT PICO_CLIB) set(PICO_CLIB newlib) endif() target_link_libraries(pico_clib_interface INTERFACE pico_${PICO_CLIB}_interface) endif()