looper/meson2cmake_cfg.py

35 lines
994 B
Python
Raw Normal View History

#!/usr/bin/python3
import os
import sys
def remove_ext(path: str) -> str:
end = path.split('/')[-1]
idx = end.find('.')
if idx == -1:
return path
end = end[idx:]
return path.removesuffix(end)
input = sys.argv[1]
if len(sys.argv) < 2:
output = remove_ext(sys.argv[1]) + ".cmake.in"
else:
output = sys.argv[2]
with open(input, 'rt') as inf:
with open(output, 'wt+') as outf:
inf.seek(0, os.SEEK_END)
end = inf.tell()
inf.seek(0, os.SEEK_SET)
while inf.readable():
if inf.tell() >= end:
break
if inf.closed:
break
line = inf.readline()
if line.startswith("#"):
tmp = line.removeprefix("#")
tmp = tmp.lstrip(" ")
if tmp.startswith("mesondefine"):
line = "#cmakedefine" + tmp.removeprefix("mesondefine")
line = line.strip("\n\r")
outf.write(line + "\n")