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
