From 99e06af9c8c2d2c92570796f76baefd405a3b67a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 13 Sep 2018 16:20:02 +1000 Subject: Cleanup: move 'make help_features' into own file --- GNUmakefile | 10 +--------- build_files/cmake/cmake_print_build_options.py | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 build_files/cmake/cmake_print_build_options.py diff --git a/GNUmakefile b/GNUmakefile index 13f8a558c3a..02e081e03df 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -474,15 +474,7 @@ doc_man: .FORCE $(PYTHON) doc/manpage/blender.1.py $(BLENDER_BIN) blender.1 help_features: .FORCE - @$(PYTHON) -c \ - "import re; \ - print('\n'.join([ \ - w for l in open('"$(BLENDER_DIR)"/CMakeLists.txt', 'r').readlines() \ - if not l.lstrip().startswith('#') \ - for w in (re.sub(\ - r'.*\boption\s*\(\s*(WITH_[a-zA-Z0-9_]+)\s+(\".*\")\s*.*', r'\g<1> - \g<2>', l).strip('() \n'),) \ - if w.startswith('WITH_')]))" | uniq - + @$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_print_build_options.py" $(BLENDER_DIR)"/CMakeLists.txt" clean: .FORCE $(MAKE) -C "$(BUILD_DIR)" clean diff --git a/build_files/cmake/cmake_print_build_options.py b/build_files/cmake/cmake_print_build_options.py new file mode 100644 index 00000000000..fb7a5b33bf0 --- /dev/null +++ b/build_files/cmake/cmake_print_build_options.py @@ -0,0 +1,25 @@ +# Apache License, Version 2.0 + +# Simple utility that prints all WITH_* options in a CMakeLists.txt +# Called by 'make help_features' + +import re +import sys + +cmakelists_file = sys.argv[-1] + +def main(): + options = [] + for l in open(cmakelists_file, 'r').readlines(): + if not l.lstrip().startswith('#'): + l_option = re.sub(r'.*\boption\s*\(\s*(WITH_[a-zA-Z0-9_]+)\s+\"(.*)\"\s*.*', r'\g<1> - \g<2>', l) + if l_option != l: + l_option = l_option.strip() + if l_option.startswith('WITH_'): + options.append(l_option) + + print('\n'.join(options)) + + +if __name__ == "__main__": + main() -- cgit v1.2.3