[CMake] Using xilink
Brad King
brad.king at kitware.com
Mon Nov 22 09:44:13 EST 2010
On 11/22/2010 08:34 AM, Michael Wild wrote:
> On 11/22/2010 07:56 AM, ycollette.nospam at free.fr 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
More information about the CMake
mailing list