Building projects...

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
mikejs
Enthusiast
Enthusiast
Posts: 175
Joined: Thu Oct 21, 2010 9:46 pm

Building projects...

Post by mikejs »

Sorry if there's already a way of doing this, but I've searched and not found...

I have a project that consists of multipe source files and multiple targets to compile.

I'd like to be able to compile this project such that I get a separate set of binaries produced for 32 and 64bit windows - i.e. where the executable name depends on the bit-type of the platform. But, also, I'd like the resulting executables to have their version and other info populated as specified in the Version Info tab in the compiler options.

If I use the command line compiler directly, I can specify the executable names and get the output files I want, but they lack the version info stuff.

If I use the IDE command line options, I get the version info stuff, but can no longer provide separate 32 and 64bit names for the resulting binaries.

The best solution I've come up with so far is to have a script that clears the existing bin folder, runs the IDE with parameters to build the 32bit set, renames all the executables, runs the IDE again to build the 64bit set, and renames those.

This seems a bit clunky - is there a better way of doing this?

Also, while I'm after the moon on a stick, is there a way of populating the Version Info tab in the compiler options from version information specified in the program source?
User avatar
skywalk
Addict
Addict
Posts: 4211
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Building projects...

Post by skywalk »

You can use resource files and specify which to load in the command line.
Or write a tool that closes the main source file and edits the Version Info located in hidden comments at the bottom of the file if PB -> Preferences -> Editor -> Save Settings to: The end of the Source file.
Or change the settings to PB -> Preferences -> Editor -> Save Settings to: The file <filename>.pb.cfg and edit that one.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
spikey
Enthusiast
Enthusiast
Posts: 751
Joined: Wed Sep 22, 2010 1:17 pm
Location: United Kingdom

Re: Building projects...

Post by spikey »

Use a Project file (if you aren't already). Add two targets - one for 32 and one for 64 (use the copy target button). Each compile target has its own options in the project file. Specify the same input source files for each pair of targets but then override the compiler version to use and also the output executable name to add your 32/64 identifier there.

Each defined target appears in Compiler/Build Target submenu - or you also have the Build All Targets menu item to build all in sequence.

See Help/The PureBasic IDE/Managing Projects. http://www.purearea.net/pb/english/manu ... jects.html
mikejs
Enthusiast
Enthusiast
Posts: 175
Joined: Thu Oct 21, 2010 9:46 pm

Re: Building projects...

Post by mikejs »

Cheers, that's given me a few things to try...
Post Reply