Added project template for VSCode (only Windows for now).
This commit is contained in:
@@ -532,7 +532,8 @@ def _target_entry(target_value):
|
||||
|
||||
def _generate_project(project_type: str) -> None:
|
||||
source_folder, target_folder = {
|
||||
'clion': (os.path.join(_spp_dir.abspath, 'util', 'clion_project_template'), Dir('#.idea').abspath)
|
||||
'clion': (os.path.join(_spp_dir.abspath, 'util', 'clion_project_template'), Dir('#.idea').abspath),
|
||||
'vscode': (os.path.join(_spp_dir.abspath, 'util', 'vscode_project_template'), Dir('#.vscode').abspath)
|
||||
}.get(project_type, (None, None))
|
||||
if not source_folder:
|
||||
_error(None, 'Invalid project type option.')
|
||||
@@ -590,6 +591,8 @@ def _generate_project(project_type: str) -> None:
|
||||
'filename': str(lib_path)
|
||||
})
|
||||
return result
|
||||
def _escape_path(input: str) -> str:
|
||||
return input.replace('\\', '\\\\')
|
||||
|
||||
jinja_env = jinja2.Environment()
|
||||
jinja_env.globals['generate_uuid'] = _generate_uuid
|
||||
@@ -601,6 +604,8 @@ def _generate_project(project_type: str) -> None:
|
||||
}
|
||||
jinja_env.globals['scons_exe'] = shutil.which('scons')
|
||||
jinja_env.globals['nproc'] = multiprocessing.cpu_count()
|
||||
|
||||
jinja_env.filters['escape_path'] = _escape_path
|
||||
|
||||
source_path = pathlib.Path(source_folder)
|
||||
target_path = pathlib.Path(target_folder)
|
||||
@@ -712,7 +717,7 @@ AddOption(
|
||||
'--generate_project',
|
||||
dest = 'generate_project',
|
||||
type = 'choice',
|
||||
choices = ('clion',),
|
||||
choices = ('clion', 'vscode'),
|
||||
nargs = 1,
|
||||
action = 'store'
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user