From 79263847a6d1b2ceaa835c031ce8cafc3f6bce21 Mon Sep 17 00:00:00 2001 From: PeridexisErrant Date: Thu, 24 Sep 2015 13:33:56 +1000 Subject: [PATCH] Get version string for docs from CMakeLists.txt Because it's better to have a single source. Someone else will need to integrate the makefiles though. --- conf.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/conf.py b/conf.py index c15d55e17..0dccdf303 100644 --- a/conf.py +++ b/conf.py @@ -13,6 +13,7 @@ # All configuration values have a default; values that are commented out # serve to show the default. +import fnmatch import sys import os import shlex @@ -54,11 +55,22 @@ author = 'The DFHack Team' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. -# + +def get_version(): + """Return the DFHack version string, from CMakeLists.txt""" + version, release = '', '' + with open('CMakeLists.txt') as f: + for s in f.readlines(): + if fnmatch.fnmatch(s.upper(), 'SET(DF_VERSION "?.??.??")\n'): + version = s.upper().replace('SET(DF_VERSION "', '') + elif fnmatch.fnmatch(s.upper(), 'SET(DFHACK_RELEASE "r*")\n'): + release = s.upper().replace('SET(DFHACK_RELEASE "', '').lower() + return (version + '-' + release).replace('")\n', '') + # The short X.Y version. -version = '0.40.24-r3' +version = get_version() # The full version, including alpha/beta/rc tags. -release = '0.40.24-r3' +release = get_version() # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -75,7 +87,7 @@ language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['docs/_build'] +exclude_patterns = ['docs/_build/*', 'depends/*'] # The reST default role (used for this markup: `text`) to use for all # documents.