1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 01:10:05 +08:00
SpaceVim/bundle/xmake.vim/plugin/xmgen.py
2023-03-28 12:14:51 +08:00

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)