@@ -23,7 +23,9 @@ def json_from_file_ignore_comments(filePath):
2323 return json_data
2424
2525
26- def create_toolchain (toolchains_dir : str | pathlib .Path , toolchain : str ):
26+ def create_toolchain (
27+ toolchains_dir : str | pathlib .Path , toolchain : str , project_name : str
28+ ):
2729 out = ""
2830 cc = ""
2931 cxx = ""
@@ -96,7 +98,7 @@ def create_toolchain(toolchains_dir: str | pathlib.Path, toolchain: str):
9698 parsed_toolchain = parsed_toolchain [: m .start ()] + parsed_toolchain [m .end () :]
9799 if not m .group (1 ) or not m .group (2 ):
98100 raise RuntimeError (
99- f"error while parsing osx toolchain SDK verison: { toolchain } "
101+ f"project: { project_name } : error while parsing osx toolchain SDK verison: { toolchain } "
100102 )
101103 osx_sdk = f"{ m .group (1 )} .{ m .group (2 )} "
102104 out += f"""\
@@ -119,7 +121,7 @@ def create_toolchain(toolchains_dir: str | pathlib.Path, toolchain: str):
119121 parsed_toolchain = parsed_toolchain [: m .start ()] + parsed_toolchain [m .end () :]
120122 if not m .group (1 ) or not m .group (2 ):
121123 raise RuntimeError (
122- f"error while parsing osx toolchain SDK verison: { toolchain } "
124+ f"project: { project_name } : error while parsing osx toolchain SDK verison: { toolchain } "
123125 )
124126 osx_sdk = f"{ m .group (1 )} .{ m .group (2 )} "
125127 out += f"""\
@@ -214,7 +216,7 @@ def create_toolchain(toolchains_dir: str | pathlib.Path, toolchain: str):
214216 c_standard = m .group (1 )
215217 if not c_standard :
216218 raise RuntimeError (
217- f"encountered unhandled '-c<number>' flag in toolchain: '{ toolchain } '"
219+ f"project: { project_name } : encountered unhandled '-c<number>' flag in toolchain: '{ toolchain } '"
218220 )
219221 out += f"""\
220222 set(CMAKE_C_STANDARD { c_standard } )
@@ -243,11 +245,11 @@ def create_toolchain(toolchains_dir: str | pathlib.Path, toolchain: str):
243245"""
244246 if parsed_toolchain != "" :
245247 raise RuntimeError (
246- f"toolchain not handled completely: '{ toolchain } ': unparsed string: '{ parsed_toolchain } '"
248+ f"project: { project_name } : toolchain not handled completely: '{ toolchain } ': unparsed string: '{ parsed_toolchain } '"
247249 )
248250
249251 if out == "" :
250- raise RuntimeError (f"unhandled toolchain: { toolchain } " )
252+ raise RuntimeError (f"project: { project_name } : unhandled toolchain: { toolchain } " )
251253
252254 toolchain_file = toolchains_dir / (
253255 toolchain if toolchain .endswith (".cmake" ) else f"{ toolchain } .cmake"
@@ -259,6 +261,7 @@ def create_toolchain(toolchains_dir: str | pathlib.Path, toolchain: str):
259261
260262def generator_and_runscript (leg : dict ):
261263 toolchain = leg ["toolchain" ]
264+ project_name = leg ["example" ]
262265
263266 generator = None
264267
@@ -276,7 +279,7 @@ def generator_and_runscript(leg: dict):
276279 generator = "MSYS Makefiles"
277280 else :
278281 raise RuntimeError (
279- f"unhandled generator: { m .group ()} in toolchain: { toolchain } "
282+ f"project: { project_name } : unhandled generator: { m .group ()} in toolchain: { toolchain } "
280283 )
281284
282285 m = re .match (r"^vs-([\d]+)-([\d]+)(-win64)?" , parsed_toolchain )
@@ -288,17 +291,21 @@ def generator_and_runscript(leg: dict):
288291 generator_str = None
289292 if vs_version == "16" :
290293 if vs_year != "2019" :
291- raise RuntimeError ("VS 16 expected to have year 2019" )
294+ raise RuntimeError (
295+ f"project: { project_name } : VS 16 expected to have year 2019"
296+ )
292297 generator_str = "Visual Studio 16 2019"
293298 VCVARSALL = "C:\\ Program Files (x86)\\ Microsoft Visual Studio\\ 2019\\ Enterprise\\ Common7\\ Tools\\ VsDevCmd.bat"
294299 elif vs_version == "17" :
295300 if vs_year != "2022" :
296- raise RuntimeError ("VS 17 expected to have year 2022" )
301+ raise RuntimeError (
302+ f"project: { project_name } : VS 17 expected to have year 2022"
303+ )
297304 generator_str = "Visual Studio 17 2022"
298305 VCVARSALL = "C:\\ Program Files (x86)\\ Microsoft Visual Studio\\ 2022\\ Enterprise\\ Common7\\ Tools\\ VsDevCmd.bat"
299306 else :
300307 raise RuntimeError (
301- f"unhandled vs-generator: { m .group ()} in toolchain: { toolchain } "
308+ f"project: { project_name } : unhandled vs-generator: { m .group ()} in toolchain: { toolchain } "
302309 )
303310 if not generator and generator_str :
304311 generator = generator_str
@@ -393,7 +400,9 @@ def main():
393400 leg ["script" ] = (dafault_dir / leg ["script" ]).as_posix ()
394401 # create toolchain file
395402 create_toolchain (
396- toolchains_dir = toolchains_dir , toolchain = leg ["toolchain" ]
403+ toolchains_dir = toolchains_dir ,
404+ toolchain = leg ["toolchain" ],
405+ project_name = project ,
397406 )
398407 # TODO: handle vs-xx-xxxx generator string handling
399408 generator_and_runscript (leg )
0 commit comments