34 lines
994 B
Python
Executable file
34 lines
994 B
Python
Executable file
#!/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")
|
|
|