# #//===----------------------------------------------------------------------===// #// #// The LLVM Compiler Infrastructure #// #// This file is dual licensed under the MIT and the University of Illinois Open #// Source Licenses. See LICENSE.txt for details. #// #//===----------------------------------------------------------------------===// # # This file holds Intel(R) C Compiler / Intel(R) C++ Compiler / Intel(R) Fortran Compiler (icc/icpc/icl.exe/ifort) dependent flags # The flag types are: # 1) Fortran Compiler flags ######################################################### # icc Fortran Compiler flags (for creating .mod files) function(append_fortran_compiler_specific_fort_flags input_fort_flags) set(local_fort_flags) #set(CMAKE_Fortran_FLAGS "$ENV{FFLAGS}" CACHE STRING "Fortran flags" FORCE) #set(CMAKE_Fortran_FLAGS_RELEASE "" CACHE STRING "Fortran flags" FORCE) #set(CMAKE_Fortran_FLAGS_DEBUG "" CACHE STRING "Fortran flags" FORCE) #set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "" CACHE STRING "Fortran flags" FORCE) if(${WINDOWS}) append_fort_flags("-Qdiag-disable:177,5082") append_fort_flags("-Qsox") append_fort_flags("-nologo") append_fort_flags("-GS") append_fort_flags("-DynamicBase") append_fort_flags("-Zi") # On Linux and Windows Intel(R) 64 architecture we need offload attribute # for all Fortran entries in order to support OpenMP function calls inside device contructs if(${INTEL64}) append_fort_flags("/Qoffload-attribute-target:mic") endif() else() if(${MIC}) append_fort_flags("-mmic") endif() if(NOT ${MAC}) append_fort_flags("-sox") if(${INTEL64} AND ${LINUX}) append_fort_flags("-offload-attribute-target=mic") endif() endif() endif() set(${input_fort_flags} ${${input_fort_flags}} "${local_fort_flags}" PARENT_SCOPE) endfunction()