cmake_minimum_required(VERSION 3.12) if (NOT USE_PRECOMPILED) set(PICO_NO_PICOTOOL 1) # default build type set(CMAKE_BUILD_TYPE "MinSizeRel" CACHE STRING "build type") # If the user set these environment variables to influence the picotool # build, unset them here so that they do not influence the pico-sdk # build. This is especially required for flags that are not supported # by arm-none-eabi compilers. unset(ENV{CFLAGS}) unset(ENV{CXXFLAGS}) unset(ENV{LDFLAGS}) include(${PICO_SDK_PATH}/external/pico_sdk_import.cmake) project(flash_id C CXX ASM) pico_sdk_init() add_executable(flash_id flash_id.c) target_link_libraries(flash_id PRIVATE hardware_regs hardware_structs hardware_flash_headers ) target_link_options(flash_id PRIVATE -nostartfiles -nodefaultlibs -Ttext=0) pico_add_bin_output(flash_id) pico_add_dis_output(flash_id) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/flash_id.bin DESTINATION ${CMAKE_CURRENT_LIST_DIR}) else() project(flash_id C CXX ASM) message("Using precompiled flash_id.bin") configure_file(${CMAKE_CURRENT_LIST_DIR}/flash_id.bin ${CMAKE_CURRENT_BINARY_DIR}/flash_id.bin COPYONLY) # Use manually specified variables set(NULL ${CMAKE_MAKE_PROGRAM}) set(NULL ${PICO_SDK_PATH}) set(NULL ${PICO_DEBUG_INFO_IN_RELEASE}) endif()