In my overrides.lua file, I'm doing the following:
-- add in Xbox One system type
premake.XB1 = "XB1"
premake.api.addAllowed("system", premake.XB1)
-- add Durango as allowable architecture
if premake.vstudio.vs2010_architectures ~= nil then
premake.vstudio.vs2010_architectures.xbone = "Durango"
end
Then, I'm generating an "AllProjects" solution, with a bunch of subprojects, and it's working (Durango is properly being selected as a valid architecture in solutions).
solution "AllProjects"
configurations {"Debug", "Full Debug", "Profile", "Release"}
platforms {"Win32", "x64", "Durango"}
...
However, I then go to generate secondary solutions that have subsets of the same projects using "forceincludeexternal" (a working version of "includeexternal" that I put together - discussed in github issue). For whatever reason, secondary solutions can't seem to see the "XB1" system. I've traced it to an issue where the prjCfg returned from this function:
function project.getconfig(prj, buildcfg, platform)
Says that it's a Durango 'platform', but the cfg.system value says "windows".
The internal prj.configs table seems to be made by calling oven.bakeConfigs(sln). I'm not sure why we're losing the XB1 system the second time through.
Does any of this ring a bell, or do you need a fuller explanation?
-Dave