1 find_program(M2R NAMES m2r m2r-3)
3 function(DefaultRstPath MDFILE RSTFILE_VAR)
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(${MDFILE} IS_NEWER_THAN ${RSTFILE})
11 message("-- Processing ${MDFILE} ...")
13 COMMAND ${M2R} --overwrite --parse-relative-links ${MDFILE}
14 RESULTS_VARIABLE M2R_STATUS
17 message(" Failed to update ${RSTFILE}: ${M2R_STATUS}")
19 string(REGEX REPLACE "\\.md$" ".rst" FILEPATH ${MDFILE})
20 file(RENAME ${FILEPATH} ${RSTFILE} )
21 message(" Updated ${RSTFILE}: OK")
27 message("-- Checking ChangeLogs, BUGS, etc...")
28 file(GLOB CHANGELOGS "${CMAKE_SOURCE_DIR}/ChangeLog-*.md")
29 foreach(CHANGELOG IN LISTS CHANGELOGS)
30 DefaultRstPath(${CHANGELOG} RESTFILE)
31 UpdateRstFromMd(${RESTFILE} ${CHANGELOG})
33 UpdateRstFromMd(issues.rst "${CMAKE_SOURCE_DIR}/BUGS.md")