I have tried to launch cmake from the visual studio console and from a fresh 
dos console in which I set the paths to intel fortran bin directory and the 
result is that cmake doesn't detect xilink.
In the first case (visual console), cmake detect the visual linker.
In the second case (dos console with path set to intel compiler), cmake cannot 
detect a linker.

YC

----- Mail Original -----
De: "ycollette nospam" <[email protected]>
À: [email protected]
Envoyé: Lundi 22 Novembre 2010 16h02:22 GMT +01:00 Amsterdam / Berlin / Berne / 
Rome / Stockholm / Vienne
Objet: Re: [CMake] Using xilink


Hello,

I have added  set_property(TARGET Arc3D PROPERTY INTERPROCEDURAL_OPTIMIZATION 
1) in my CMakeLists.txt.
I have removed the include(CMakeDetermineFortranCompiler) from my 
CMakeLists.txt.

Now, the intel fortran compiler is still correctly detected, but it seems that 
the microsoft visual linker is still used.
I have printed the variable CMAKE_LINKER and it's still set to:

-- CMAKE_LINKER           = C:/Program Files (x86)/Microsoft Visual Studio 
8/VC/bin/link.exe

YC

On 11/22/2010 08:34 AM, Michael Wild wrote:
> On 11/22/2010 07:56 AM, [email protected] wrote:
>> I have a fortran project and I use the fortran intel compiler under windows 
>> XP 64 bits with cmake 2.8.2.
>> I added include(CMakeDetermineFortranCompiler) in my project and the intel 
>> fortran compiler is correctly detected.
> 
> Don't include CMakeDetermineFortranCompiler.cmake directly. That is an
> internal file. Ether use ENABLE_LANGUAGE(Fortran) instead, or list
> Fortran as one of the languages in your PROJECT call.

Correct.

>> But the intel linker is not correctly detected. Only the microsoft linker is 
>> detected. But to be able tu use the IPO option, using the xilink compiler is 
>> a necessity.
>> How can I force my project to use xilink instead of microsoft linker ?

Don't pass "-ipo" directly.  Instead, set the INTERPROCEDURAL_OPTIMIZATION
property on your target:

  
http://www.cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:INTERPROCEDURAL_OPTIMIZATION

CMake will pass -ipo and use xilink as necessary.

Use code like

  set_property(TARGET myexe PROPERTY INTERPROCEDURAL_OPTIMIZATION 1)

to enable IPO for the "myexe" target or perhaps

  set_property(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION 1)

to enable IPO for all targets.

-Brad
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to