@@ -71,9 +71,57 @@ find_program(CMAKE_C_COMPILER "xc32-gcc")
7171find_program (CMAKE_CXX_COMPILER "xc32-g++" )
7272
7373set (MICROCHIP_C_COMPILER_ID XC32)
74+
7475set (CMAKE_C_STANDARD_COMPUTED_DEFAULT 90)
7576set (CMAKE_CXX_COMPILER_FORCED ON )
7677
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+
77125if (CMAKE_C_COMPILER)
78126 _xc32_get_version()
79127endif ()
0 commit comments