diff options
author | clyne <clyne@bitgloo.com> | 2022-11-17 07:41:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-17 07:41:09 -0500 |
commit | 6663c25633a27fcc14d0648bd1afea7ea12f497f (patch) | |
tree | dcc2ec993db3c4b75c3e7e3df35b0494a9ce1f32 /lib/sol2/list_headers.py | |
parent | da0913771538fd9b1ca538615fd9aa0388608466 (diff) | |
parent | 57013add5b7c524086272be7d395f9ec5109bde2 (diff) |
Lib cleanup
Diffstat (limited to 'lib/sol2/list_headers.py')
-rw-r--r-- | lib/sol2/list_headers.py | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/lib/sol2/list_headers.py b/lib/sol2/list_headers.py deleted file mode 100644 index 7faf73f..0000000 --- a/lib/sol2/list_headers.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python - -import os -import re - -description = "Lists all primary sol3 header files" - -script_path = os.path.normpath(os.path.dirname(os.path.realpath(__file__))) -working_dir = os.getcwd() -os.chdir(script_path) - -includes = set([]) -local_include = re.compile(r'#(\s*?)include "(.*?)"') -project_include = re.compile(r'#(\s*?)include <sol/(.*?)>') -pragma_once_cpp = re.compile(r'(\s*)#(\s*)pragma(\s+)once') -ifndef_cpp = re.compile(r'#ifndef SOL_.*?_HPP') -define_cpp = re.compile(r'#define SOL_.*?_HPP') -endif_cpp = re.compile(r'#endif // SOL_.*?_HPP') - - -def get_include(line, base_path): - local_match = local_include.match(line) - if local_match: - # local include found - full_path = os.path.normpath( - os.path.join(base_path, local_match.group(2))).replace( - '\\', '/') - return full_path - project_match = project_include.match(line) - if project_match: - # local include found - full_path = os.path.normpath( - os.path.join(base_path, project_match.group(2))).replace( - '\\', '/') - return full_path - return None - - -def is_include_guard(line): - return ifndef_cpp.match(line) or define_cpp.match( - line) or endif_cpp.match(line) or pragma_once_cpp.match(line) - - -def process_file(filename): - global includes - filename = os.path.normpath(filename) - relativefilename = filename.replace(script_path + os.sep, "").replace( - "\\", "/") - - rel_filename = os.path.relpath(filename, script_path).replace('\\', '/') - - if rel_filename in includes: - return - - empty_line_state = True - - with open(filename, 'r', encoding='utf-8') as f: - includes.add(rel_filename) - - for line in f: - # skip comments - if line.startswith('//'): - continue - - # skip include guard non-sense - if is_include_guard(line): - continue - - # get relative directory - base_path = os.path.dirname(filename) - - # see if it's an include file - name = get_include(line, base_path) - - if name: - process_file(name) - continue - -processed_files = [os.path.join(script_path, x) for x in ['include/sol/sol.hpp']] - -for processed_file in processed_files: - process_file(processed_file) - -for include in includes: - print(include)
\ No newline at end of file |