mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 01:10:05 +08:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
# Filename: xmgen.py
|
|
# Author: luzhlon
|
|
# Description: Generate xmake.lua
|
|
import vim
|
|
|
|
try:
|
|
_cfg = vim.eval('g:xcfg')
|
|
_f = open('xmake.lua', 'w')
|
|
_f.writelines([
|
|
'''if is_mode("release") then
|
|
set_symbols("hidden")
|
|
set_optimize("fastest")
|
|
set_strip("all")
|
|
elseif is_mode("debug") then
|
|
set_symbols("debug")
|
|
set_optimize("none")
|
|
end''', '\n\n'])
|
|
# 写入工程名称
|
|
_f.writelines(["set_project '%s'" % _cfg['project'], '\n\n'])
|
|
Filelist = lambda l: ','.join(list(map(lambda v:"'%s'" % v, l)))
|
|
# 写入目标配置
|
|
for (name, target) in _cfg['targets'].items():
|
|
t = ["target '%s'" % name, '\n',
|
|
"set_kind '%s'" % target['targetkind'], '\n']
|
|
if 'headerfiles' in target:
|
|
t.append("add_headers(%s)" % Filelist(target['headerfiles']))
|
|
t.append('\n')
|
|
if 'sourcefiles' in target:
|
|
t.append("add_files(%s)" % Filelist(target['sourcefiles']))
|
|
t.append('\n')
|
|
t.append('\n')
|
|
_f.writelines(t)
|
|
_f.close()
|
|
except OSError:
|
|
print('open xmake.lua failure')
|
|
except vim.error as e:
|
|
print(e)
|