ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Richards" <>
Subject Setting path to MSVC compiler with cctask
Date Wed, 23 Apr 2008 10:55:50 GMT
I'm trying to use cpptasks-1.0b5 with Ant 1.7.0 on a C++ a project
that must be built with MSVC in both 32-bit and 64-bit flavours.  With
MSVC this means we must build the project with two different versions
of "cl.exe".

I can't put both on my PATH, and so I'd like to specify in my Ant
build script the correct version of the cl.exe compiler for cctask to
use each time.

Attempt #1 (failure):

>From what I can tell I can't set the environment on the fly in Ant.
For example I tried the following code before my cc task, and this
didn't work.
    <property environment="env"/>
    <property name="env.Path" value="${env.Path};C:\Program Files
(x86)\Microsoft Visual Studio 8\VC\bin"/>
The cc task fails to find cl.exe if I try this.

Attempt #2 (success):

My next option is to set the PATH using Ant's exec task in a recursive
call to "ant".  This works but doesn't seem very elegant:
    <property environment="env"/>
    <target name="compile-1">
        <exec executable="cmd">
            <arg line="/c ant.bat compile-2"/>
            <env key="Path" value="${env.Path};C:\Program Files
(x86)\Microsoft Visual Studio 8\VC\bin"/>
    <target name="compile-2">
        <cc ...>...</cc>
As my build.xml grows larger I'm sure this will cause pain when debugging.

So my question is how to specify the path to cl.exe neatly?  Can the
path to cl.exe be specified manually to cctask?  Does Ant support
calling itself in a neater way that doesn't require spawning a new

Paul Richards

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message