Conan: Intel C++ compiler compatibility on Windows

Created on 15 Jan 2018  路  7Comments  路  Source: conan-io/conan

conan v1.0.1, Windows 10, Visual Studio 2017, Intel C++ Compiler 17.0 (part of Intel Parallel Studio XE), CMake 3.8.2

I'm trying to build demo package from tutorial. I've added Intel C++ Compiler 17.0 toolset to my settings.yml and it looks like conan successfully recognises it, but from command:
conan create . demo/testing -s compiler.toolset="Intel C++ Compiler 17.0" I get this output:

...
CMake Error at ../conanbuildinfo.cmake:363 (message):
  Incorrect 'Visual Studio'.  Toolset specifies compiler as 'MSVC' but CMake
  detected 'Intel'
Call Stack (most recent call first):
  ../conanbuildinfo.cmake:59 (conan_check_compiler)
  CMakeLists.txt:3 (conan_basic_setup)
-- Configuring incomplete, errors occurred!

Useful CMake variables:

CONAN_COMPILER=Visual Studio
EXPECTED_CMAKE_CXX_COMPILER_ID=MSVC
CMAKE_CXX_COMPILER_ID=Intel
CMAKE_C_COMPILER_ID=Intel
CMAKE_GENERATOR_TOOLSET=Intel C++ Compiler 17.0
CMAKE_VS_PLATFORM_TOOLSET=Intel C++ Compiler 17.0
CONAN_SETTINGS_COMPILER_TOOLSET=Intel C++ Compiler 17.0
CMAKE_CXX_SIMULATE_ID=MSVC
CMAKE_C_SIMULATE_ID=MSVC

Performance is the main reason of using C++ for me, so I prefer Intel C++ Compiler. It integrates as a custom toolset to Microsoft Visual Studio named Intel C++ Compiler 17.0.

How to use conan with this platform toolset on Windows?

bug

All 7 comments

Hi @wizardsd

Thanks for the report. Yes, it seems a bug, and the check for compiler should be extended for it. I will check if possible to include it in the next minor.

In the meantime, you can try the workaround to disable the compiler check, something like this:

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
set(CONAN_DISABLE_CHECK_COMPILER True)
conan_basic_setup()

Yes, this is not documented, opened issue: https://github.com/conan-io/docs/issues/477

Thank you for quick response and useful workaround, it works!

Great! :)

I am having a look for information about the Intel toolsets for MSVC, but so far not very clear. Can you please point to where are such toolsets defined? What other possible toolsets are besides Intel C++ Compiler 17.0?

I am thinking if it could be worth to standardize them into the defaults settings.yml file. Thanks!

As far as I remember, there were

  • Intel C++ Compiler XE 12.0
  • Intel C++ Compiler XE 12.1
  • Intel C++ Compiler XE 13.0
  • Intel C++ Compiler XE 14.0
  • Intel C++ Compiler XE 15.0
    platform toolsets, but Intel calls modern platform toolsets without XE:
  • Intel C++ Compiler 16.0
  • Intel C++ Compiler 17.0
  • Intel C++ Compiler 18.0.

Some of them could be found in this github project
Integrations are installed to paths similar to this one: c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Win32\PlatformToolsets\Intel C++ Compiler 17.0

There was ICC v11.1 in 2009 (wiki), but I don't think that it should be supported by conan.

Released in 1.0.2, please update and try (No need to skip the compiler check anymore) Thanks!

Now it works with cmake generator at least, thank you!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

niosHD picture niosHD  路  3Comments

liberforce picture liberforce  路  3Comments

Polibif picture Polibif  路  3Comments

bobeff picture bobeff  路  3Comments

zomeck picture zomeck  路  3Comments