<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Approximatrix Forums — Multiple project versions in the same project]]></title>
	<link rel="self" href="https://forums.approximatrix.com/extern.php?action=feed&amp;tid=166&amp;type=atom" />
	<updated>2013-03-14T14:10:29Z</updated>
	<generator>PunBB</generator>
	<id>https://forums.approximatrix.com/viewtopic.php?id=166</id>
		<entry>
			<title type="html"><![CDATA[Re: Multiple project versions in the same project]]></title>
			<link rel="alternate" href="https://forums.approximatrix.com/viewtopic.php?pid=627#p627" />
			<content type="html"><![CDATA[<p>Jeff, if you put a button or three, somewhere, you might be able to automate this a bit.</p><p>You could, for example, enable users to create versions A, B and C of a project, switching between them with a mouse click.<br />Users not wanting to use this could find themselves automatically in version A, where they could just do as we all do now.<br />You could ghost or hide the B and C options somehow if not wanted.</p><p>The labelling alongside the selector could call them A, B and C, but it could also suggest <br />their uses as&nbsp; &nbsp;DEV,&nbsp; &nbsp;REL-32&nbsp; and&nbsp; REL-64.</p><p>The letter A, B or C could auto-append the BUILD and MODULES subdirectory name setting.&nbsp; </p><p>By default, any&nbsp; .for&nbsp; .f90&nbsp; .f95&nbsp; etc&nbsp; &nbsp;source files added to or removed from one would be added/removed to/from all three but adding or removing binary files would affect only the currently selected sub-project.</p><p>Changing other options (eg 32/64 bit architecture) would affect only the currently-selected sub-project. <br />--- <br />John</p>]]></content>
			<author>
				<name><![CDATA[JohnWasilewski]]></name>
				<uri>https://forums.approximatrix.com/profile.php?id=102</uri>
			</author>
			<updated>2013-03-14T14:10:29Z</updated>
			<id>https://forums.approximatrix.com/viewtopic.php?pid=627#p627</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Multiple project versions in the same project]]></title>
			<link rel="alternate" href="https://forums.approximatrix.com/viewtopic.php?pid=626#p626" />
			<content type="html"><![CDATA[<p>I build both 32-bit and 64-bit executables.&nbsp; <br />64 because that&#039;s what I need for myself.<br />32 because colleagues using my programs sometimes have Windows 32-bit systems.</p><p>What I describe below is for TWO projects and executables in the same project directory - a 32bit and a 64bit version.</p><p>Although I don&#039;t deal here with how to manage more than two .prj files and executables in one project, the same process could equally be used to create in the same project directory, for example:<br />&nbsp; &nbsp;- A <em>development</em> version of the project<br />&nbsp; &nbsp;- A 32bit <em>release</em> version<br />&nbsp; &nbsp;- A 64bit <em>release</em> version</p><p>HOW TO DO IT</p><p>The technique enables us to select any one of the above at the click of the mouse on the &#039;open project&#039; menu, whilst&nbsp; keeping all of them synchronised.&nbsp; At least i <em>think</em> this is right.&nbsp; Someone please tell me if it&#039;s not.</p><p>I do it by having, in the same project directory, two .prj project files and one SOURCE subdirectory.<br />The project files have different settings, but they both pull in the same source files from the same subdirectory.<br />If I debug/edit/ improve, and even sometimes actually make a program work, then everything I&#039;ve done to the source files works equally on both the 32bit and 64bit versions.</p><p>Jeff gave me a useful tip the other day, and I&#039;ve realised some other, related ones, of my own.</p><p>Here are all of them so far:</p><p>1.&nbsp; FIRST, repeat all of the following for all user-made own library<br />&nbsp; &nbsp; &nbsp;projects for which the current project links the&nbsp; .a&nbsp; library file.</p><p>2. Now select project options for the 32bit project,<br />&nbsp; &nbsp; - Switch on &#039;Always generate makefile&#039;<br />&nbsp; &nbsp; - Select 32-bit architecture<br />&nbsp; &nbsp; - Overwrite the default build directory name with eg Build32<br />&nbsp; &nbsp; - Overwrite the default module directory name with eg Module32<br />&nbsp; &nbsp; - Set a target executable name with &#039;32&#039; in the name somewhere<br />&nbsp; &nbsp; - add whatever other options are wanted<br />&nbsp; &nbsp; - Add an icon (optional)<br />&nbsp; &nbsp; - SAVE the project (or SAVE-AS)</p><p>3. In the 32-bit project outline<br />&nbsp; &nbsp; - Add all user source files<br />&nbsp; &nbsp; - Add all libraries - <em>(taking care to add only 32-bit ones)</em><br />&nbsp; &nbsp; - SAVE the project (or SAVE-AS) and give the 32-bit project name</p><p>4. Now use all the 32-bit options as above to select project options for the 64bit project,<br />&nbsp; &nbsp; - Change to 64-bit architecture<br />&nbsp; &nbsp; - Overwrite the 32-bit build directory name with eg Build64<br />&nbsp; &nbsp; - Overwrite the 32-bit module directory name with eg Module64<br />&nbsp; &nbsp; - Change the target executable name to include &#039;64&#039; in the name somewhere<br />&nbsp; &nbsp; - add whatever other options are wanted<br />&nbsp; &nbsp; - Change the icon (optional)<br />&nbsp; &nbsp; - DO NOT SAVE<br />&nbsp; &nbsp; - SAVE-AS and give the 64-bit project name </p><p>5. For the 64-bit project outline<br />&nbsp; &nbsp; - Keep &#039;Always generate makefile&#039; switched on<br />&nbsp; &nbsp; - Keep all the same user source files<br />&nbsp; &nbsp; - Remove all 32-bit libraries<br />&nbsp; &nbsp; - Add all 64-bit libraries <em>(taking care to add only 64-bit ones)</em><br />&nbsp; &nbsp; - SAVE the project (or SAVE-AS)</p><p>You can then flip back and forth between 32-bit and 64-bit projects, and it won&#039;t matter which one you are in when editing source files.<br />--- <br />John</p>]]></content>
			<author>
				<name><![CDATA[JohnWasilewski]]></name>
				<uri>https://forums.approximatrix.com/profile.php?id=102</uri>
			</author>
			<updated>2013-03-14T13:33:29Z</updated>
			<id>https://forums.approximatrix.com/viewtopic.php?pid=626#p626</id>
		</entry>
</feed>
