On Wed, Oct 7, 2009 at 11:24 PM, Belcourt, Kenneth <kbe...@sandia.gov>wrote:

> Hi Philip,
> On Oct 7, 2009, at 7:55 PM, Philip Lowman wrote:
>
> On Wed, Oct 7, 2009 at 11:12 AM, Justin Holewinski 
> <shawmish...@gmail.com>wrote:
>
>>
>> I am trying to compile Boost 1.40 with the Intel C++ Compiler, Version
>> 11.1, using CMake and I've encountered two issues so far.
>>
>>
>> First, on Windows, the Intel C++ Compiler follows Microsoft's naming
>> convention.  The compiler executable is icl.exe, not icc.exe or icpc.exe.
>> Hence, the BoostConfig.cmake script fails to detect the Intel compiler on
>> Windows because it tries to match the compiler name against icpc.exe.  The
>> fix is trivial.  In BoostConfig.cmake, add an additional conditional on line
>> 89:
>>
>> elseif(CMAKE_CXX_COMPILER MATCHES "/icpc$" OR CMAKE_CXX_COMPILER MATCHES
>> "/icpc.exe$" OR CMAKE_CXX_COMPILER MATCHES "/icl.exe$")
>>
>> I'm not sure what impact this has on the build process other than applying
>> the 'intel' branding to the generated libraries instead of 'unknown'.
>>
>
> I can fix this in CVS, but might have a slightly better way.  Can you tell
> me what the value of CMAKE_CXX_COMPILER_ID is on Intel C++?
>
> It's Intel
>

Thanks.  I completely missed the reference to BoostConfig.cmake.  When I
said I could fix this in CVS, I meant CMake's FindBoost.cmake module which
has similar code to what is listed above but on inspection doesn't appear
vulnerable to the problem you identified above.  Regardless, I added the
following condition to FindBoost.cmake, which is probably better anyways.

OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel"

-- 
Philip Lowman
_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake

Reply via email to