docs: add changelogs [ci skip]
[awesomized/libmemcached] / docs / source / CMakeLists.txt
diff --git a/docs/source/CMakeLists.txt b/docs/source/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ff33055
--- /dev/null
@@ -0,0 +1,25 @@
+find_program(M2R m2r)
+
+if(M2R)
+    file(GLOB CHANGELOGS "${CMAKE_SOURCE_DIR}/ChangeLog-*.md")
+    message("-- Checking ChangeLogs ...")
+    foreach(CHANGELOG IN LISTS CHANGELOGS)
+        string(REGEX REPLACE "\\.md$" ".rst" FILEPATH ${CHANGELOG})
+        get_filename_component(FILENAME ${FILEPATH} NAME)
+
+        set(RESTFILE "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+        if(${CHANGELOG} IS_NEWER_THAN ${RESTFILE})
+            message("--   Processing ${CHANGELOG} ...")
+            execute_process(
+                    COMMAND ${M2R} --overwrite --parse-relative-links ${CHANGELOG}
+                    RESULTS_VARIABLE M2R_STATUS
+            )
+            if(M2R_STATUS)
+                message("     Failed to update ${RESTFILE}: ${M2R_STATUS}")
+            else()
+                file(RENAME ${FILEPATH} ${RESTFILE} )
+                message("     Updated ${RESTFILE}: OK")
+            endif()
+        endif()
+    endforeach()
+endif()