1 find_program(M2R NAMES m2r m2r-3)
3 function(DefaultRstPath RSTFILE_VAR MDFILE)
4 string(REGEX REPLACE "\\.md$" ".rst" FILEPATH ${MDFILE})
5 get_filename_component(FILENAME ${FILEPATH} NAME)
6 set(${RSTFILE_VAR} "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}" PARENT_SCOPE)
9 function(UpdateRstFromMd RSTFILE MDFILE)
10 if(NOT IS_ABSOLUTE ${MDFILE})
11 set(MDFILE ${CMAKE_CURRENT_SOURCE_DIR}/${MDFILE})
13 if (NOT IS_ABSOLUTE ${RSTFILE})
14 set(RSTFILE ${CMAKE_CURRENT_SOURCE_DIR}/${RSTFILE})
16 if(${MDFILE} IS_NEWER_THAN ${RSTFILE})
17 message("-- Processing ${MDFILE} ...")
19 COMMAND ${M2R} --overwrite --parse-relative-links ${MDFILE}
20 RESULTS_VARIABLE M2R_STATUS
23 message(" Failed to update ${RSTFILE}: ${M2R_STATUS}")
25 string(REGEX REPLACE "\\.md$" ".rst" FILEPATH ${MDFILE})
26 file(RENAME ${FILEPATH} ${RSTFILE} )
27 message(" Updated ${RSTFILE}: OK")
33 message("-- Checking ChangeLogs, BUGS, etc...")
34 file(GLOB CHANGELOGS "${CMAKE_SOURCE_DIR}/ChangeLog-*.md")
35 foreach(CHANGELOG IN LISTS CHANGELOGS)
36 DefaultRstPath(RESTFILE ${CHANGELOG})
37 UpdateRstFromMd(${RESTFILE} ${CHANGELOG})
39 UpdateRstFromMd(issues.rst "${CMAKE_SOURCE_DIR}/BUGS.md")