cmake_minimum_required(VERSION 3.21) project(hello-world C) set(TARGET hello) option(HAVE_NO_INIT_FINI "Enable NO_INIT_FINI" OFF) if(HAVE_NO_INIT_FINI) #if HAVE_NO_INIT_FINI is ON add_definitions(-DHAVE_NO_INIT_FINI) endif() add_executable(${TARGET} hello.c) target_compile_options(${TARGET} PRIVATE -mcmodel=medany) #target_compile_options(${TARGET} PRIVATE -mcmodel=medany -fPIC) set(BOARD "iss" CACHE STRING "Target board") message(STATUS, " board ${BOARD}") add_subdirectory(../bare-metal-bsp bsp) target_link_libraries(${TARGET} PRIVATE bsp) target_link_options(${TARGET} PRIVATE -Wl,-Map=${TARGET}.map) add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_OBJDUMP} -S ${TARGET}.elf > ${TARGET}.dis COMMENT "Creating disassembly for ${TARGET}")