@@ -71,9 +71,57 @@ find_program(CMAKE_C_COMPILER "xc32-gcc")
71
71
find_program (CMAKE_CXX_COMPILER "xc32-g++" )
72
72
73
73
set (MICROCHIP_C_COMPILER_ID XC32)
74
+
74
75
set (CMAKE_C_STANDARD_COMPUTED_DEFAULT 90)
75
76
set (CMAKE_CXX_COMPILER_FORCED ON )
76
77
78
+ if (MICROCHIP_MCU_FAMILY STREQUAL "PIC32MX" )
79
+ set (lib_directory pic32mx)
80
+ else ()
81
+ set (lib_directory pic32-libs)
82
+ endif ()
83
+ include_directories (SYSTEM ${MICROCHIP_XC32_PATH} /${lib_directory} /include )
84
+
85
+ set (link_flags "" )
86
+ set (compile_flags "" )
87
+
88
+ list (APPEND compile_flags
89
+ "-mprocessor=${MICROCHIP_MCU_MODEL} "
90
+ )
91
+ string (APPEND link_flags
92
+ " -mprocessor=${MICROCHIP_MCU_MODEL} "
93
+ )
94
+ if (MICROCHIP_LINK_SCRIPT OR MICROCHIP_MIN_HEAP_SIZE)
95
+ string (APPEND link_flags
96
+ " -Wl"
97
+ )
98
+ if (MICROCHIP_LINK_SCRIPT)
99
+ string (APPEND link_flags
100
+ ",--script=\" ${MICROCHIP_LINK_SCRIPT} \" "
101
+ )
102
+ endif ()
103
+ if (MICROCHIP_MIN_HEAP_SIZE)
104
+ string (APPEND link_flags
105
+ ",--defsym=_min_heap_size=${MICROCHIP_MIN_HEAP_SIZE} "
106
+ )
107
+ endif ()
108
+ if (MICROCHIP_MAP_FILE)
109
+ string (APPEND link_flags
110
+ ",-Map=\" ${MICROCHIP_MAP_FILE} \" "
111
+ )
112
+ set_property (DIRECTORY APPEND
113
+ PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
114
+ "${MICROCHIP_MAP_FILE} "
115
+ )
116
+ endif ()
117
+ endif ()
118
+ string (APPEND CMAKE_C_LINK_FLAGS
119
+ ${link_flags}
120
+ )
121
+ add_compile_options (
122
+ ${compile_flags}
123
+ )
124
+
77
125
if (CMAKE_C_COMPILER)
78
126
_xc32_get_version()
79
127
endif ()
0 commit comments