HaxeFoundation / hxcpp

Runtime files for c++ backend for haxe
Other
295 stars 184 forks source link

hxcpp does not quote -I paths with spaces #1097

Open 47rooks opened 5 months ago

47rooks commented 5 months ago

When compiling to c++ with this build file:

-cpp cpp
-main ThreadTraceHangHL
--class-path src

--next 

--run .\cpp\ThreadTraceHangHL.exe

I get this error:

Compiling group: haxe
cl.exe -Iinclude -nologo /WX- /fp:precise -DHX_WINDOWS -GR -O2(optim-std) -Zi(debug) -FdD:\UserData\USER\Code\Haxe\haxe-threading-examples\haxe\cpp\obj/msvc19/vc.pdb(debug) -Od(debug) -O2(release) -Os(optim-size) -FS -Oy- -c -EHs -GS- -arch:SSE2 -ID:/Program Files/HaxeToolkit433/haxe/lib/hxcpp/4,3,2/include -DHXCPP_VISIT_ALLOCS(haxe) -DHX_SMART_STRINGS(haxe) 
-DHXCPP_API_LEVEL=430(haxe) -D_CRT_SECURE_NO_DEPRECATE -D_ALLOW_MSC_VER_MISMATCH -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH -wd4996 ... tags=[haxe,static]
 - src/ThreadTraceHangHL.cpp
 - src/Producer.cpp
 - src/Tracer.cpp
Link: ThreadTraceHangHL.exe
   Creating library ThreadTraceHangHL.lib and object ThreadTraceHangHL.exp
Error: Could not find build target "Files\\HaxeToolkit433\\haxe\\extraLibs/"
Error: Build failed

This would appear to be because of the space in the Program Files path segment. I cannot seem to run the command line above manually adding the quotes for other reasons. Powershell tells me this when I try:

optim-std: The term 'optim-std' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Haxe is 4.3.3 hxcpp is 4.3.2