[CMake] [VS gen] Multiple configurations code

John Drescher drescherjm at gmail.com
Mon Jul 26 16:50:43 EDT 2010


On Mon, Jul 26, 2010 at 4:42 PM, John Drescher <drescherjm at gmail.com> wrote:
> On Mon, Jul 26, 2010 at 4:35 PM, Olaf van der Spek <olafvdspek at gmail.com> wrote:
>> On Mon, Jul 26, 2010 at 10:31 PM, John Drescher <drescherjm at gmail.com> wrote:
>>> You do not have multiple copies of the source. You have 1 copy of the
>>> source that you build in multiple trees. For me I build 32 and 64 bit
>>> for multiple compilers. They all share the same source tree but have
>>> different build trees.
>>>
>>> For example my source is in
>>>
>>> X:\CmakeBased
>>>
>>> My builds are in
>>>
>>> X:\32bit\vs.71
>>> X:\32bit\vs.80
>>> X:\32bit\vs.90
>>>
>>> X:\64bit\vs.80
>>> X:\64bit\vs.90
>>>
>>> For each build I need to open the appropriate project file in the build tree.
>>
>> Isn't it easier to use the command line?
>> If this is automated, it's not too bad.
>> Does CMake provide a way to automate this?
>>
>
> I do a mix of both.
>
> Additionally I have my projects generate a batch file in the build
> tree called Batch\install.bat
>
> calling that from a batch file for each dependent project causes all
> projects to build and install and at the end I get a NSIS installer
> for the main application.
>

Here is one such batch file.
X:\64bit\vc.90\install_la.bat

call Lung\CT_Imaging\Batch\install.bat
call Lung\BZ_Airway\Batch\install.bat
call Lung\SCP_LS\Batch\install.bat
call Lung\JPU_Lobe\Batch\install.bat
call Qt\QtbasicUtils\Batch\install.bat
call Qt\LungAnalysis\Batch\install.bat

This is the same exact file I use for the 32 bit build under vs.80 as
well. Since I used relative paths I just copied the batch file when I
wanted to build 64bit.

Note the build trees have the same structure as the source tree.

John

John


More information about the CMake mailing list