# CROSS COMPILER SETTING SET(CMAKE_SYSTEM_NAME Generic) CMAKE_MINIMUM_REQUIRED (VERSION 3.10.0) # THE VERSION NUMBER SET (MCUXPRESSO_CMAKE_FORMAT_MAJOR_VERSION 2) SET (MCUXPRESSO_CMAKE_FORMAT_MINOR_VERSION 0) include(ide_overrides.cmake OPTIONAL) if(CMAKE_SCRIPT_MODE_FILE) message("${MCUXPRESSO_CMAKE_FORMAT_MAJOR_VERSION}") return() endif() # ENABLE ASM ENABLE_LANGUAGE(ASM) SET(CMAKE_STATIC_LIBRARY_PREFIX) SET(CMAKE_STATIC_LIBRARY_SUFFIX) SET(CMAKE_EXECUTABLE_LIBRARY_PREFIX) SET(CMAKE_EXECUTABLE_LIBRARY_SUFFIX) # CURRENT DIRECTORY SET(ProjDirPath ${CMAKE_CURRENT_SOURCE_DIR}) SET(EXECUTABLE_OUTPUT_PATH ${ProjDirPath}/${CMAKE_BUILD_TYPE}) SET(LIBRARY_OUTPUT_PATH ${ProjDirPath}/${CMAKE_BUILD_TYPE}) project(freertos_hello_cm33) set(MCUX_BUILD_TYPES debug release hyperram_debug hyperram_release flexspi_nor_debug flexspi_nor_release) set(MCUX_SDK_PROJECT_NAME freertos_hello_cm33.elf) if (NOT DEFINED SdkRootDirPath) SET(SdkRootDirPath ${ProjDirPath}/../../../../../..) endif() include(${ProjDirPath}/flags.cmake) include(${ProjDirPath}/config.cmake) add_executable(${MCUX_SDK_PROJECT_NAME} "${ProjDirPath}/../FreeRTOSConfig.h" "${ProjDirPath}/../pin_mux.c" "${ProjDirPath}/../pin_mux.h" "${ProjDirPath}/../freertos_hello.c" "${ProjDirPath}/../board.c" "${ProjDirPath}/../board.h" "${ProjDirPath}/../clock_config.c" "${ProjDirPath}/../clock_config.h" ) target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE ${ProjDirPath}/.. ) set_source_files_properties("${ProjDirPath}/../FreeRTOSConfig.h" PROPERTIES COMPONENT_CONFIG_FILE "middleware_freertos-kernel_template") include(${SdkRootDirPath}/devices/MIMXRT1189/all_lib_device.cmake) IF(NOT DEFINED TARGET_LINK_SYSTEM_LIBRARIES) SET(TARGET_LINK_SYSTEM_LIBRARIES "-lm -lc -lgcc -lnosys") ENDIF() TARGET_LINK_LIBRARIES(${MCUX_SDK_PROJECT_NAME} PRIVATE -Wl,--start-group) target_link_libraries(${MCUX_SDK_PROJECT_NAME} PRIVATE ${TARGET_LINK_SYSTEM_LIBRARIES}) TARGET_LINK_LIBRARIES(${MCUX_SDK_PROJECT_NAME} PRIVATE -Wl,--end-group) ADD_CUSTOM_COMMAND(TARGET ${MCUX_SDK_PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Obinary ${EXECUTABLE_OUTPUT_PATH}/${MCUX_SDK_PROJECT_NAME} ${EXECUTABLE_OUTPUT_PATH}/${PROJECT_NAME}.bin) set_target_properties(${MCUX_SDK_PROJECT_NAME} PROPERTIES ADDITIONAL_CLEAN_FILES "output.map;${EXECUTABLE_OUTPUT_PATH}/${PROJECT_NAME}.bin")