I prefer to name my solutions and projects something like projectname.vsX.sln
and projectname.vsX.vcproj
respectively. However, by default Premake4 generates the names as they are passed to the builtin solution
and project
functions respectively. Not cool enough for me. By the power of Graysk…uh uhm…Lua:
do function myoverride(orig_func) local func = orig_func return function(name) if _ACTION == "vs2003" then name = name .. ".vs7" elseif _ACTION == "vs2005" then name = name .. ".vs8" elseif _ACTION == "vs2008" then name = name .. ".vs9" elseif _ACTION == "vs2010" then name = name .. ".vs10" end elseif _ACTION == "vs2012" then name = name .. ".vs11" end return func(name) end end solution = myoverride(solution) project = myoverride(project) end
… this way the names fit my taste much better.
// Oliver
PS: somewhat more concise but achieving a similar effect:
do function myoverride(orig_func) local func = orig_func return function(name) if _ACTION:sub(1,2) == "vs" then name = name .. "." .. _ACTION end return func(name) end end solution = myoverride(solution) project = myoverride(project) end