From 12f33ce94953b47fb6a81d8941062116a8eab086 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Tue, 16 Jul 2019 00:08:07 +0800 Subject: ... --- .gitignore | 3 ++- tools/generate_ccls.py | 53 ++++++++++++++++++++++++++++++++++++++++ tools/generate_clang_complete.py | 53 ---------------------------------------- 3 files changed, 55 insertions(+), 54 deletions(-) create mode 100644 tools/generate_ccls.py delete mode 100644 tools/generate_clang_complete.py diff --git a/.gitignore b/.gitignore index c27b25a8..926b6fcd 100644 --- a/.gitignore +++ b/.gitignore @@ -588,4 +588,5 @@ flycheck_*.el # End of https://www.gitignore.io/api/emacs -.clang_complete +.ccls +.ccls-cache diff --git a/tools/generate_ccls.py b/tools/generate_ccls.py new file mode 100644 index 00000000..fbd47711 --- /dev/null +++ b/tools/generate_ccls.py @@ -0,0 +1,53 @@ +import argparse +import os +import os.path + +parser = argparse.ArgumentParser() +parser.add_argument('-d', '--debug', action='store_true', + default='Debug', help='specify build configuration') +args = parser.parse_args() + +ccls_file_name = '.ccls' + +# project root dir +project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) +os.chdir(project_root) + +global_std_standard = 'c++17' # change this to change standard +global_std_standard_arg = '--std={}'.format(global_std_standard) + +global_include_paths = [ + os.path.abspath('include') +] + +global_definitions = [] + +if args.debug: + global_definitions.append('_DEBUG') + + +def generate_ccls_content(additional_include_paths=[], additional_definitions=[]): + include_args = [ + '-I{}'.format(path) for path in additional_include_paths + global_include_paths] + definition_args = [ + '-D{}'.format(definition) for definition in additional_definitions + global_definitions] + args = [global_std_standard_arg] + include_args + definition_args + return '\n'.join(args) + + +def generate_root_ccls(): + with open(ccls_file_name, 'w') as f: + print(generate_ccls_content(), file=f) + + +def generate_win_ccls_content(): + return generate_ccls_content(additional_definitions=['UNICODE', '_UNICODE', 'WIN32', '_WINDOWS']) + + +def generate_win_ccls(): + for path in ['src/win/', 'include/cru/win/']: + with open(os.path.join(path, ccls_file_name), 'w') as f: + print(generate_win_ccls_content(), file=f) + +generate_root_ccls() +generate_win_ccls() diff --git a/tools/generate_clang_complete.py b/tools/generate_clang_complete.py deleted file mode 100644 index 9b650b9c..00000000 --- a/tools/generate_clang_complete.py +++ /dev/null @@ -1,53 +0,0 @@ -import argparse -import os -import os.path - -parser = argparse.ArgumentParser() -parser.add_argument('-d', '--debug', action='store_true', - default='Debug', help='specify build configuration') -args = parser.parse_args() - -clang_complete_file_name = '.clang_complete' - -# project root dir -project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) -os.chdir(project_root) - -global_std_standard = 'c++17' # change this to change standard -global_std_standard_arg = '--std={}'.format(global_std_standard) - -global_include_paths = [ - os.path.abspath('include') -] - -global_definitions = [] - -if args.debug: - global_definitions.append('_DEBUG') - - -def generate_clang_complete_content(additional_include_paths=[], additional_definitions=[]): - include_args = [ - '-I{}'.format(path) for path in additional_include_paths + global_include_paths] - definition_args = [ - '-D{}'.format(definition) for definition in additional_definitions + global_definitions] - args = [global_std_standard_arg] + include_args + definition_args - return '\n'.join(args) - - -def generate_root_clang_complete(): - with open(clang_complete_file_name, 'w') as f: - print(generate_clang_complete_content(), file=f) - - -def generate_win_clang_complete_content(): - return generate_clang_complete_content(additional_definitions=['UNICODE', '_UNICODE', 'WIN32', '_WINDOWS']) - - -def generate_win_clang_complete(): - for path in ['src/win/', 'include/cru/win/']: - with open(os.path.join(path, clang_complete_file_name), 'w') as f: - print(generate_win_clang_complete_content(), file=f) - -generate_root_clang_complete() -generate_win_clang_complete() -- cgit v1.2.3