Skip to content

Commit 3fbe3a1

Browse files
Tecnologicsalkinium
authored andcommitted
[cmake] Fix CMP0175 warnings for CMake ≥v3.31
1 parent 464c35f commit 3fbe3a1

File tree

1 file changed

+81
-73
lines changed

1 file changed

+81
-73
lines changed

tools/build_script_generator/cmake/resources/ModmConfiguration.cmake.in

Lines changed: 81 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -175,132 +175,140 @@ function(modm_targets_create project_name)
175175
%% if core.startswith("cortex-m")
176176
add_custom_command(TARGET ${project_name}
177177
POST_BUILD
178-
COMMAND cmake -E env PYTHONPATH=${PROJECT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.size ${project_name}.elf \"{{ memories }}\")
178+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.size ${project_name}.elf \"{{ memories }}\")
179179
%% endif
180180
181-
add_custom_target(size DEPENDS ${project_name}.elf)
182-
add_custom_command(TARGET size
181+
add_custom_target(TARGET size ALL DEPENDS size.stamp)
182+
add_custom_command(OUTPUT size.stamp
183183
USES_TERMINAL
184-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.size ${PROJECT_BINARY_DIR}/${project_name}.elf \"{{ memories }}\"
185-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
184+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.size ${PROJECT_BINARY_DIR}/${project_name}.elf \"{{ memories }}\"
185+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
186186
187-
add_custom_target(program DEPENDS ${project_name}.elf)
188-
add_custom_command(TARGET program
187+
188+
add_custom_target(program DEPENDS program.done)
189+
add_custom_command(OUTPUT program.done
189190
USES_TERMINAL
190-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.openocd -f modm/openocd.cfg
191+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.openocd -f modm/openocd.cfg
191192
${PROJECT_BINARY_DIR}/${project_name}.elf
192-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
193+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
194+
193195
194-
add_custom_target(program-bmp DEPENDS ${project_name}.elf)
195-
add_custom_command(TARGET program-bmp
196+
add_custom_target(program-bmp DEPENDS program-bmp.done)
197+
add_custom_command(OUTPUT program-bmp.done
196198
USES_TERMINAL
197-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.bmp -p ${MODM_BMP_PORT}
199+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.bmp -p ${MODM_BMP_PORT}
198200
${PROJECT_BINARY_DIR}/${project_name}.elf
199-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
201+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
202+
DEPENDS ${PROJECT_BINARY_DIR}/${project_name}.elf)
200203
201-
add_custom_target(program-jlink DEPENDS ${project_name}.elf)
202-
add_custom_command(TARGET program-jlink
204+
add_custom_target(program-jlink DEPENDS program-jlink.done)
205+
add_custom_command(OUTPUT program-jlink.done
203206
USES_TERMINAL
204-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.jlink -device {{ jlink_partname }}
207+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.jlink -device {{ jlink_partname }}
205208
${PROJECT_BINARY_DIR}/${project_name}.elf
206-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
209+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
210+
DEPENDS ${PROJECT_BINARY_DIR}/${project_name}.elf)
207211
208-
add_custom_target(debug DEPENDS ${project_name}.elf)
209-
add_custom_command(TARGET debug
212+
add_custom_target(debug DEPENDS debug.done)
213+
add_custom_command(OUTPUT debug.done
210214
USES_TERMINAL
211-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit -x modm/openocd_gdbinit
215+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit -x modm/openocd_gdbinit
212216
--elf ${PROJECT_BINARY_DIR}/${project_name}.elf --ui=${MODM_DBG_UI}
213217
openocd -f modm/openocd.cfg
214-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
218+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
219+
DEPENDS ${PROJECT_BINARY_DIR}/${project_name}.elf)
215220
216-
add_custom_target(debug-bmp DEPENDS ${project_name}.elf)
217-
add_custom_command(TARGET debug-bmp
221+
add_custom_target(debug-bmp DEPENDS debug-bmp.done)
222+
add_custom_command(OUTPUT debug-bmp.done
218223
USES_TERMINAL
219-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit -x modm/openocd_bmp
224+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit -x modm/openocd_bmp
220225
--elf ${PROJECT_BINARY_DIR}/${project_name}.elf --ui=${MODM_DBG_UI}
221226
bmp -p ${MODM_BMP_PORT}
222-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
227+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
228+
DEPENDS ${PROJECT_BINARY_DIR}/${project_name}.elf)
223229
224-
add_custom_target(debug-jlink DEPENDS ${project_name}.elf)
225-
add_custom_command(TARGET debug-jlink
230+
add_custom_target(debug-jlink DEPENDS debug-jlink.done)
231+
add_custom_command(OUTPUT debug-jlink.done
226232
USES_TERMINAL
227-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit -x modm/openocd_jlink
233+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit -x modm/openocd_jlink
228234
--elf ${PROJECT_BINARY_DIR}/${project_name}.elf --ui=${MODM_DBG_UI}
229235
jlink -device {{ jlink_partname }}
230-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
236+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
237+
DEPENDS ${PROJECT_BINARY_DIR}/${project_name}.elf)
231238
232-
add_custom_target(debug-coredump DEPENDS ${project_name}.elf)
233-
add_custom_command(TARGET debug-coredump
239+
add_custom_target(debug-coredump DEPENDS debug-coredump.done)
240+
add_custom_command(OUTPUT debug-coredump
234241
USES_TERMINAL
235-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
242+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
236243
--elf ${PROJECT_BINARY_DIR}/${project_name}.elf --ui=${MODM_DBG_UI}
237244
crashdebug
238-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
245+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
246+
DEPENDS ${PROJECT_BINARY_DIR}/${project_name}.elf)
239247
240-
add_custom_target(coredump)
241-
add_custom_command(TARGET coredump
248+
add_custom_target(coredump DEPENDS coredump.done)
249+
add_custom_command(OUTPUT coredump.done
242250
USES_TERMINAL
243-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
251+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
244252
-ex "modm_coredump" -ex "modm_build_id" -ex "quit"
245253
openocd -f modm/openocd.cfg
246-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
254+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
247255
248-
add_custom_target(coredump-bmp)
249-
add_custom_command(TARGET coredump-bmp
256+
add_custom_target(coredump-bmp DEPENDS coredump-bmp.done)
257+
add_custom_command(OUTPUT coredump-bmp.done
250258
USES_TERMINAL
251-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
259+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
252260
-ex "modm_coredump" -ex "modm_build_id" -ex "quit"
253261
bmp -p ${MODM_BMP_PORT}
254-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
262+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
255263
256-
add_custom_target(coredump-jlink)
257-
add_custom_command(TARGET coredump-jlink
264+
add_custom_target(coredump-jlink DEPENDS coredump-jlink.done)
265+
add_custom_command(OUTPUT coredump-jlink.done
258266
USES_TERMINAL
259-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
267+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.gdb -x modm/gdbinit
260268
-ex "modm_coredump" -ex "modm_build_id" -ex "quit"
261269
jlink -device {{ jlink_partname }}
262-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
270+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
263271
264-
add_custom_target(reset)
265-
add_custom_command(TARGET reset
272+
add_custom_target(reset DEPENDS reset.done)
273+
add_custom_command(OUTPUT reset.done
266274
USES_TERMINAL
267-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.openocd -f modm/openocd.cfg --reset
268-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
275+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.openocd -f modm/openocd.cfg --reset
276+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
269277
270-
add_custom_target(reset-bmp)
271-
add_custom_command(TARGET reset-bmp
278+
add_custom_target(reset-bmp DEPENDS reset-bmp.done)
279+
add_custom_command(OUTPUT reset-bmp.done
272280
USES_TERMINAL
273-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.bmp -p ${MODM_BMP_PORT} --reset
274-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
281+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.bmp -p ${MODM_BMP_PORT} --reset
282+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
275283
276-
add_custom_target(reset-jlink)
277-
add_custom_command(TARGET reset-jlink
284+
add_custom_target(reset-jlink DEPENDS reset-jlink.done)
285+
add_custom_command(OUTPUT reset-jlink.done
278286
USES_TERMINAL
279-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.jlink -device {{ jlink_partname }} --reset
280-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
287+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.jlink -device {{ jlink_partname }} --reset
288+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
281289
282-
add_custom_target(log-itm)
283-
add_custom_command(TARGET log-itm
290+
add_custom_target(log-itm DEPENDS log-itm.done)
291+
add_custom_command(OUTPUT log-itm.done
284292
USES_TERMINAL
285-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.itm openocd -f modm/openocd.cfg --fcpu ${MODM_ITM_FCPU}
286-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
293+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.itm openocd -f modm/openocd.cfg --fcpu ${MODM_ITM_FCPU}
294+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
287295
288-
add_custom_target(log-itm-jlink)
289-
add_custom_command(TARGET log-itm-jlink
296+
add_custom_target(log-itm-jlink DEPENDS log-itm-jlink.done)
297+
add_custom_command(OUTPUT log-itm-jlink.done
290298
USES_TERMINAL
291-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.itm jlink -device {{ jlink_partname }}
292-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
299+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.itm jlink -device {{ jlink_partname }}
300+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
293301
294-
add_custom_target(log-rtt)
295-
add_custom_command(TARGET log-rtt
302+
add_custom_target(log-rtt DEPENDS log-rtt.done)
303+
add_custom_command(OUTPUT log-rtt.done
296304
USES_TERMINAL
297-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.rtt --channel ${MODM_RTT_CHANNEL} openocd -f modm/openocd.cfg
298-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
305+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.rtt --channel ${MODM_RTT_CHANNEL} openocd -f modm/openocd.cfg
306+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
299307
300-
add_custom_target(log-rtt-jlink)
301-
add_custom_command(TARGET log-rtt-jlink
308+
add_custom_target(log-rtt-jlink DEPENDS log-rtt-jlink.done)
309+
add_custom_command(OUTPUT log-rtt-jlink.done
302310
USES_TERMINAL
303-
COMMAND cmake -E env PYTHONPATH=modm ${Python3_EXECUTABLE} -m modm_tools.rtt --channel ${MODM_RTT_CHANNEL} jlink -device {{ jlink_partname }}
304-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
311+
COMMAND cmake -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/modm ${Python3_EXECUTABLE} -m modm_tools.rtt --channel ${MODM_RTT_CHANNEL} jlink -device {{ jlink_partname }}
312+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
305313
endfunction()
306314

0 commit comments

Comments
 (0)