Generating Workspaces for platforms with no SDK installed?

Added by David Cowan over 8 years ago

Is there any way I can generate a VS20xx or XCode workspace for platforms which are either unsupported on the host OS or simply not installed?

E.g... I'm working on a game engine with support for (PC, Xbox360, PSP, Wii, iOS, Mac)
The root jam file has a bunch of SourceGroup and Project directives to group each subsystem and platform implementation into folders in the solution view.

Everything is working fine, except that I can't generate a workspace which contains the platform specific implementations - e.g. Using Windows as my host machine, I edit my .config file to include all of the platforms listed above.
I run 'jam --workspace ...' and it attempts to locate each SDK location (which will fail for iOS and Mac.... and potentially 360, PSP or Wii if the SDK simply isn't installed)
If the SDK isn't found - the files for that platform aren't written to the .vcproj.

Is there any way around this?

Thanks

Dave


Replies (3)

RE: Generating Workspaces for platforms with no SDK installed? - Added by David Cowan over 8 years ago

Is there a variable or state which is set during the workspace generation phase which I can check during the C.Autodetect rule for each non-native target, so that I can set up some dummy vars?

I want to prevent the workspace generation from failing if the relevant SDK isn't installed.

Thanks

Dave

RE: Generating Workspaces for platforms with no SDK installed? - Added by Joshua Jensen over 8 years ago

Did you find a resolution to this? I don't believe it is currently architected to do what you want. I also don't think it would be hard to change to your liking.

RE: Generating Workspaces for platforms with no SDK installed? - Added by David Cowan over 8 years ago

Actually, yes - it was pretty easy when I traced through what was happening... I created a new 'c-autodetect.jam' file in my custom jam user folder - a copy of the stock 'c-autodetect' file.

At line 56 - there's an 'Exit * No supported ... ' statement.

Either just comment it out, or put an IF around it dependent on an environment var.

When building the workspaces - it will fail to execute the C.Autodetect rule on non-installed SDK's - but it doesn't matter

Dave

(1-3/3)