Hello, this is a question I recently asked on stackoverflow ( http://stackoverflow.com/questions/9129233/recommended-ways-to-use-cmake-with-icc-via-configuration-options) but that has not received any response since then. Maybe this mailing list is a better place to ask... Here goes
I would like to use the Intel compiler icc (or icpc) with a CMake-based project (on Linux for what it's worth). I can of course export the CXX variable when calling cmake, e.g. like CXX=icpc cmake ../ and this works fine. I would however like to make this choice available via a custom option. For this I parse custom option, e.g. cmake -DMY_COMPILER_OPTION=Intel .. as IF (MY_COMPILER_OPTION STREQUAL "Intel") MESSAGE(STATUS "** Compiling with Intel settings **") SET(CMAKE_CXX_COMPILER "icpc") SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -w") SET(CMAKE_CXX_FLAGS_DEBUG "-g") ENDIF () and set CMAKE_CXX_COMPILER together with some compiler flags. This also works, however there is an important "but". I would also like to use the option -ipo (interprocedural optimization) for my code when compiling with icc plus I need to compile a static library within the build process. For this to work, I need to use Intel's xiar (and also xilink I guess). cmake actually offers a special property for this set_property(TARGET mytarget PROPERTY INTERPROCEDURAL_OPTIMIZATION 1) however this only seems to works properly when the compiler has been set via the environment variable (then xiar is used). When setting the compiler via CMAKE_CXX_COMPILER this property is ignored. Is there another way to do this?. Some recommended way? Or at least a work-around? Cheers, Oliver
-- 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