1# Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2# file Copyright.txt or https://cmake.org/licensing for details. 3 4 5# This module is shared by multiple languages; use include blocker. 6if(__COMPILER_INTEL) 7 return() 8endif() 9set(__COMPILER_INTEL 1) 10 11include(Compiler/CMakeCommonCompilerMacros) 12 13if(CMAKE_HOST_WIN32) 14 # MSVC-like 15 macro(__compiler_intel lang) 16 endmacro() 17else() 18 # GNU-like 19 macro(__compiler_intel lang) 20 set(CMAKE_${lang}_VERBOSE_FLAG "-v") 21 22 string(APPEND CMAKE_${lang}_FLAGS_INIT " ") 23 string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g") 24 string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os") 25 string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3") 26 string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g") 27 28 set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}") 29 if(CMAKE_${lang}_COMPILER_ARG1) 30 separate_arguments(_COMPILER_ARGS NATIVE_COMMAND "${CMAKE_${lang}_COMPILER_ARG1}") 31 list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND ${_COMPILER_ARGS}) 32 unset(_COMPILER_ARGS) 33 endif() 34 list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "-QdM" "-P" "-Za" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp") 35 36 if(NOT "x${lang}" STREQUAL "xFortran") 37 # Precompile Headers 38 set(CMAKE_PCH_EXTENSION .pchi) 39 set(CMAKE_LINK_PCH ON) 40 set(CMAKE_PCH_EPILOGUE "#pragma hdrstop") 41 set(CMAKE_${lang}_COMPILE_OPTIONS_INVALID_PCH -Winvalid-pch) 42 set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Wno-pch-messages -pch-use <PCH_FILE> -include <PCH_HEADER>) 43 set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Wno-pch-messages -pch-create <PCH_FILE> -include <PCH_HEADER>) 44 endif() 45 endmacro() 46endif() 47