# THE VERSION NUMBER SET(CMAKE_SYSTEM_NAME Generic) CMAKE_MINIMUM_REQUIRED (VERSION 3.10) PROJECT(WMRTOS) SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1) SET(CMAKE_NINJA_FORCE_RESPONSE_FILE 1 CACHE INTERNAL "") set(CMAKE_VERBOSE_MAKEFILE OFF) # 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) # C FLAGS SET(CMAKE_C_FLAGS " -mthumb --function-sections --data-sections -mcpu=cortex-m3 -std=gnu99 -mabi=aapcs -march=armv7-m -fno-builtin ") STRING(APPEND CMAKE_C_FLAGS "-DGCC_COMPILE=1 -DWOLFSSL_USER_SETTINGS -D_IN_ADDR_T_DECLARED -D__MACHINE_ENDIAN_H__ -D_TIMEVAL_DEFINED -D__INSIDE_CYGWIN_NET__ ") SET(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -gdwarf-2 -Wall -DDEBUG ") SET(CMAKE_C_FLAGS_RELEASE "-Os -Wall") # DEBUG ASM FLAGS SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -O0 -g3 -gdwarf-2 -Wall -mthumb-interwork -mthumb -std=gnu99 -mcpu=cortex-m3 -march=armv7-m -mabi=aapcs -fno-builtin -DDEBUG ") SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -Os -Wall -mthumb-interwork -mthumb -std=gnu99 -mcpu=cortex-m3 -march=armv7-m -mabi=aapcs -fno-builtin ") # Library sources SET(LIBRARY_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/source/croutine.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/heap_2.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/heap_3.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/heap_4.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/list.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/queue.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/rtostimers.c" "${CMAKE_CURRENT_SOURCE_DIR}/source/tasks.c" "${CMAKE_CURRENT_SOURCE_DIR}/wm_osal_rtos.c" "${CMAKE_CURRENT_SOURCE_DIR}/ports/port_m3_gcc.c" ) function(ADD_LIB_TARGET LIBTARGET) add_library(${LIBTARGET} OBJECT ${LIBRARY_SOURCES}) # ADD_CUSTOM_COMMAND(TARGET ${LIBTARGET} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${EXECUTABLE_OUTPUT_PATH}/${LIBTARGET} ${CMAKE_CURRENT_SOURCE_DIR}/../../../Lib/GNU/${LIBTARGET}) endfunction() ADD_LIB_TARGET(wmrtos.a)