[cmake-developers] VS2010 fortran composer

Bill Hoffman bill.hoffman at kitware.com
Mon Mar 7 09:42:11 EST 2011


On Mon, Mar 7, 2011 at 9:17 AM, Biddiscombe, John A. <biddisco at cscs.ch> wrote:
> Bill
>
>> What if you run DevEnv.exe from the command line with the /Upgrade on
>> the vfproj file?  Does it change it?  Does it work with MSBuild after?
>
> No change. Still fails.
>
>>http://software.intel.com/en-us/forums/showthread.php?t=81140
>>This is explained in the release notes for the Fortran compiler.
>>Please read the section on VS2010.."
>
> yes I found this report - unfortunately it does not tell us anything useful. It deals with dependencies, which is different from our problem. I checked to see the the ALL_BUILD project was referencing the cmTryComile, (and it is), but changing this makes no difference - when running msbuild.exe we only treat the cmtrycompile and deleting all the other stuff doesn't solve anything.
>
> I'll file a bug report with intel and for now, use makefiles to kick off the generator and then switch.- could we not just use nmake always for the compiler detection step?

When you file the report, do not include any mention of CMake.  I
would just tell them that you did this:

1. create a new hello world application with the IDE
2. run msbuild on the application
3. you get an error

We can not use nmake to kick off the generator, it would not even be
testing the same setup that the generator is creating.  Might as well
disable all try-compiles because it would not even be testing what the
user would be seeing during the real build....  We might be able to
use devenv /build, however in earlier versions of VS 2010 using devenv
for running the tests of CMake caused devenv to crash multiple
times...


-Bill

>
> JB
>
> snippet from release notes below
>
> 3.6.2 Adjusting Project Dependencies
> If you are converting a project from an earlier version of Visual Studio and had established
> Project Dependencies, these are converted to References by Visual Studio 2010. A Fortran
> project that is referenced by a C/C++ project will prevent the C/C++ project from building, with
> an MSB4075 error. To solve this:
> 1. Right click on the C/C++ project and select References.
> 2. If any Fortran project is shown as a reference, click Remove Reference. Repeat this for
> all Fortran projects shown as a reference. Click OK.
> 3. Repeat the above steps for any other C/C++ project
> Now you have to reestablish project dependencies.
> 1. Right click on the C/C++ project and select Project Dependencies.
> 2. Check the box for each project that is a dependent of this project.
> 3. Click OK.
> 4. Repeat the above steps for any other C/C++ project that has dependencies.
> Unlike earlier versions of Visual Studio, Visual Studio 2010 does not automatically link in the
> output library of dependent projects, so you will need to add those libraries explicitly to the
> parent project under Linker > Additional Dependencies. You can use the Visual Studio macros
> $(ConfigurationName) and $(PlatformName) as required to qualify the path. For example:
> ..\FLIB\$(ConfigurationName)\FLIB.lib
> Where $(ConfigurationName) will expand to Release or Debug, as appropriate. Similarly,
> $(PlatformName) will expand to Win32 or x64 as appropriate.
>



More information about the cmake-developers mailing list