|
| 1 | +cmake_minimum_required(VERSION 3.20) |
| 2 | + |
| 3 | + |
| 4 | +set(CMAKE_CXX_STANDARD 14) |
| 5 | + |
| 6 | +set(CMAKE_SYSTEM_NAME Generic) |
| 7 | +set(CMAKE_SYSTEM_PROCESSOR CORTEX) |
| 8 | +set(CROSS_COMPILE "arm-") |
| 9 | + |
| 10 | +set(CMAKE_C_COMPILER_FORCED true) |
| 11 | +set(CMAKE_CXX_COMPILER_FORCED true) |
| 12 | + |
| 13 | + |
| 14 | +project(ArduinoCore_mbed) |
| 15 | + |
| 16 | + |
| 17 | +file(STRINGS variants/PORTENTA_H7_M7/cflags.txt CFLAGS_TXT REGEX "-[^D].*") |
| 18 | +file(STRINGS variants/PORTENTA_H7_M7/cxxflags.txt CXXFLAGS_TXT REGEX "-[^D].*") |
| 19 | + |
| 20 | +file(STRINGS variants/PORTENTA_H7_M7/cflags.txt CDEFINES_TXT REGEX "-D.*") |
| 21 | +file(STRINGS variants/PORTENTA_H7_M7/cxxflags.txt CXXDEFINES_TXT REGEX "-D.*") |
| 22 | + |
| 23 | +file(STRINGS variants/PORTENTA_H7_M7/defines.txt DEFINES_TXT) |
| 24 | +file(STRINGS variants/PORTENTA_H7_M7/includes.txt INCLUDES_TXT) |
| 25 | + |
| 26 | + |
| 27 | +list(TRANSFORM CDEFINES_TXT REPLACE "-D" "") |
| 28 | +list(TRANSFORM CXXDEFINES_TXT REPLACE "-D" "") |
| 29 | +list(TRANSFORM DEFINES_TXT REPLACE "-D" "") |
| 30 | +list(TRANSFORM INCLUDES_TXT REPLACE "-iwithprefixbefore/mbed" "${CMAKE_CURRENT_LIST_DIR}/cores/arduino/mbed") |
| 31 | + |
| 32 | +#file(GLOB_RECURSE SRC_FILES CONFIGURE_DEPENDS cores/*.cpp cores/*.c) |
| 33 | +file(GLOB_RECURSE SRC_FILES CONFIGURE_DEPENDS cores/*.cpp cores/*.c variants/PORTENTA_H7_M7/*.cpp variants/PORTENTA_H7_M7/*.c) |
| 34 | +file(GLOB_RECURSE H_FILES CONFIGURE_DEPENDS cores/*.h variants/PORTENTA_H7_M7/*.h) |
| 35 | + |
| 36 | +#file(GLOB_RECURSE SRC_VFILES CONFIGURE_DEPENDS variants/PORTENTA_H7_M7/*.cpp variants/PORTENTA_H7_M7/*.c) |
| 37 | + |
| 38 | + |
| 39 | +foreach (S ${SRC_FILES}) |
| 40 | + message("SRC_FILES: ${S}") |
| 41 | +endforeach () |
| 42 | +#foreach (f ${CFLAGS_TXT}) |
| 43 | +# message("C: ${f}") |
| 44 | +#endforeach () |
| 45 | +# |
| 46 | +#foreach (f ${CXXFLAGS_TXT}) |
| 47 | +# message("CXX: ${f}") |
| 48 | +#endforeach () |
| 49 | + |
| 50 | +foreach (i ${INCLUDES_TXT}) |
| 51 | + IF (NOT EXISTS ${i}) |
| 52 | + message("not inc: ${i}") |
| 53 | + endif () |
| 54 | +endforeach () |
| 55 | + |
| 56 | + |
| 57 | +add_compile_options( |
| 58 | + "$<$<COMPILE_LANGUAGE:C>:${CFLAGS_TXT}>" |
| 59 | + "$<$<COMPILE_LANGUAGE:CXX>:${CXXFLAGS_TXT}>" |
| 60 | +) |
| 61 | +add_compile_definitions( |
| 62 | + "$<$<COMPILE_LANGUAGE:C>:${CDEFINES_TXT}>" |
| 63 | + "$<$<COMPILE_LANGUAGE:CXX>:${CXXDEFINES_TXT}>" |
| 64 | +# ARDUINO_AS_MBED_LIBRARY |
| 65 | +# USE_ARDUINO_PINOUT |
| 66 | + ${DEFINES_TXT} |
| 67 | +) |
| 68 | + |
| 69 | + |
| 70 | +include_directories( |
| 71 | + ${INCLUDES_TXT} |
| 72 | +) |
| 73 | + |
| 74 | +add_compile_definitions( |
| 75 | + ARDUINO=10816 |
| 76 | + ARDUINO_PORTENTA_H7_M7 |
| 77 | + # ARDUINO_ARCH_ARDUINOCORE-MBED |
| 78 | + ARDUINO_ARCH_MBED |
| 79 | + ARDUINO_LIBRARY_DISCOVERY_PHASE=0 |
| 80 | + CM4_BINARY_START=0x08100000 |
| 81 | +) |
| 82 | + |
| 83 | +include_directories( |
| 84 | + cores/arduino |
| 85 | + variants/PORTENTA_H7_M7 |
| 86 | + cores/arduino/api/deprecated |
| 87 | + cores/arduino/api/deprecated-avr-comp |
| 88 | +) |
| 89 | +# |
| 90 | +add_library(ArduinoCore_mbed |
| 91 | + ${SRC_FILES} |
| 92 | + ${H_FILES} |
| 93 | + ) |
0 commit comments