Community
cancel
Showing results for 
Search instead for 
Did you mean: 
laena
Beginner
417 Views

Generating Visual Studio Projects with Intel C++ Compiler and CMake

Hi,

We use CMake in our project and would like to generate Visual Studio projects which automatically use the Intel C++ Compiler (instead of the VS one).
In our CMakeLists we have:

option(USE_INTEL_COMPILER ON)
if (USE_INTEL_COMPILER)
include(ForceCompiler)
set(CMAKE_VS_PLATFORM_TOOLSET "Intel C++ Compiler XE 13")
CMAKE_FORCE_C_COMPILER(icc Intel)
CMAKE_FORCE_CXX_COMPILER(icpc Intel)
message(STATUS "Using compiler: ${CMAKE_CXX_COMPILER_ID}") # outputs "Using compiler: Intel"
endif()

 This does not seem to work. The generated project files still have the VS compiler configured.

What is the recommended way of cmake-generating projects using icc?

Thanks in advance

Lena

0 Kudos
6 Replies
SergeyKostrov
Valued Contributor II
417 Views

Hi Lena, Older versions of Microsoft Visual C++ compiler ( versions 4, 5 and 6 ( also known as VS98 ) ) allowed to generate a Makefile from a Project file. I could generate two Makefiles, that is, one with ICC integration and the second one with MSC integration, and then you could use these Makefiles as prototypes for all the rest cases. Let me know if you're interested.
SergeyKostrov
Valued Contributor II
417 Views

Take a look at attached make file.
laena
Beginner
417 Views

Thanks a lot!
I was hoping for an easier solution, but I'll have a look at your Makefile. 

417 Views

Adding following parameter to cmake command line might help: -T"Intel C++ Compiler XE 13.0"

 

 

J_W
Beginner
417 Views

seams no easy solution for this :(

AVI_T_Intel
Employee
417 Views

Pavel Holoborodko wrote:

Adding following parameter to cmake command line might help: -T"Intel C++ Compiler XE 13.0"

 

 

This worked for me - cmake used the VS generator with the Intel compiler.  I found the string for the -T option in the Visual Studio menu: Tools | Options ... | Intel Compilers and Tools | C++ | Compilers, and used one of the listed Platform Toolsets.

Reply