Open richard-sim opened 3 days ago
%[..]
makes path relative and usable for generated solution, so generally make the path relative to generated project.
%{!cfg.buildtarget.abspath}
(without enclosing %[..]
) would be shown absolute.
Even some relative paths are returned as absolute and transformed into relative path "later" (as in includedirs "%{cfg.xx}/{cfg.yy}"
)
So %{cfg.buildtarget.relpath}
might show relative or absolute path (I don't remember)
Even for some paths and some generators, there are transformed into special token (as $(SolutionDir)
).
I'm using %[%{cfg.buildtarget.directory}%{cfg.buildtarget.basename}.ext], which while is an absolute path, is fine for my needs.
I'm expecting resulting path is relative. But at least it is working :-) as explained in path in commands
What seems to be the problem? The various cfg.buildtarget tokens appear to be incorrect in postbuildcommands.
The complete (dummy) project I'm using for learning Premake demonstrates the bug: https://github.com/richard-sim/build-sys-eval/blob/248c0abae20a8509e0d8eb63e435fa3925e3cb06/foobar/src/premake5.lua#L62
output:
Partial directory structure:
What did you expect to happen?
cfg.buildtarget.directory
I'd expect to be relative tofoobar/src/Premake5.lua
as per Premake convention, not absolute.cfg.buildtarget.relpath
I'd expect to be relative tofoobar/src/Premake5.lua
, not relative to what seems to befoobar/src/.build/obj/
for some reason?!!cfg.buildtarget.relpath
I'd expect to be the absolute path.cfg.buildtarget.abspath
I'd also expect to be the absolute path.!cfg.buildtarget.abspath
I'd expect to... also be the abs path.cfg.buildtarget.extension
I'd expect to be.exe
not..\.exe
. That's quite a unique definition of extension!What have you tried so far? I'm using
%[%{cfg.buildtarget.directory}%{cfg.buildtarget.basename}.ext]
, which while is an absolute path, is fine for my needs.How can we reproduce this? This bare-bones repo can be cloned: https://github.com/richard-sim/build-sys-eval/blob/248c0abae20a8509e0d8eb63e435fa3925e3cb06/foobar/src/premake5.lua#L62
What version of Premake are you using? Latest master branch.
Anything else we should know? I'm new here. :)