[Cmake-commits] CMake branch, next, updated. v2.8.12-4058-gf73ad68

Brad King brad.king at kitware.com
Wed Oct 16 10:42:02 EDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  f73ad68068c72c0fe6be891a8073e9059e852b3f (commit)
       via  f6bf9d06f489ed701a4ce508bf990fe31ad06b28 (commit)
       via  493ae42ac7a998ea15b3ba788f170ff2b215b923 (commit)
       via  2d36c9ab60f9d1fa5304ebf23b09fa79ff8b667e (commit)
       via  a6fd17ce50b18dd9d06cdd7fdb34bf68e987f7fc (commit)
      from  7b90706f34c1b5e6598283524bf1b6c4df84a93a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f73ad68068c72c0fe6be891a8073e9059e852b3f
commit f73ad68068c72c0fe6be891a8073e9059e852b3f
Merge: 7b90706 f6bf9d0
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Oct 16 10:41:59 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Oct 16 10:41:59 2013 -0400

    Merge topic 'vs-intel-compiler' into next
    
    f6bf9d0 Intel: When simulating MSVC, re-use Windows-MSVC (#14476)
    493ae42 VS: Detect Intel Fortran compiler id and version
    2d36c9a CMakeDetermineCompilerId: Fix Intel Fortran compiler id detection
    a6fd17c VS: Fix CMAKE_<LANG>_COMPILER detection with Intel toolset (#14471)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f6bf9d06f489ed701a4ce508bf990fe31ad06b28
commit f6bf9d06f489ed701a4ce508bf990fe31ad06b28
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Oct 11 13:54:50 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Oct 16 10:37:49 2013 -0400

    Intel: When simulating MSVC, re-use Windows-MSVC (#14476)
    
    Teach CMake(C|CXX|Fortran)CompilerId* to report the MSVC version
    simulated by the Intel compiler, if any.  Refactor the Windows-Intel
    platform information helper module to load Windows-MSVC instead of
    duplicating the information.  Teach Windows-MSVC to understand when
    it is loaded as the simulated Fortran compiler (its preprocessor is
    simulated).

diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index 6dde1c3..871cccd 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/Modules/CMakeCCompilerId.c.in
@@ -19,6 +19,12 @@
   /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
 #  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
 # endif
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
 
 #elif defined(__PATHCC__)
 # define COMPILER_ID "PathScale"
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 3a60922..f32fee0 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/Modules/CMakeCXXCompilerId.cpp.in
@@ -24,6 +24,12 @@
   /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
 #  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
 # endif
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
 
 #elif defined(__PATHCC__)
 # define COMPILER_ID "PathScale"
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index b4e2ae5..315d57e 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -32,6 +32,7 @@
 # if it's the MS C/CXX compiler, search for link
 if("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC"
    OR "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC"
+   OR "${CMAKE_Fortran_SIMULATE_ID}" STREQUAL "MSVC"
    OR "${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC"
    OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC"
    OR "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
diff --git a/Modules/CMakeFortranCompiler.cmake.in b/Modules/CMakeFortranCompiler.cmake.in
index d193881..e4c7618 100644
--- a/Modules/CMakeFortranCompiler.cmake.in
+++ b/Modules/CMakeFortranCompiler.cmake.in
@@ -2,6 +2,8 @@ set(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
 set(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
 set(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
 set(CMAKE_Fortran_PLATFORM_ID "@CMAKE_Fortran_PLATFORM_ID@")
+set(CMAKE_Fortran_SIMULATE_ID "@CMAKE_Fortran_SIMULATE_ID@")
+set(CMAKE_Fortran_SIMULATE_VERSION "@CMAKE_Fortran_SIMULATE_VERSION@")
 @SET_MSVC_Fortran_ARCHITECTURE_ID@
 set(CMAKE_AR "@CMAKE_AR@")
 set(CMAKE_RANLIB "@CMAKE_RANLIB@")
diff --git a/Modules/CMakeFortranCompilerId.F.in b/Modules/CMakeFortranCompilerId.F.in
index f84852a..b8f8f7d 100644
--- a/Modules/CMakeFortranCompilerId.F.in
+++ b/Modules/CMakeFortranCompilerId.F.in
@@ -4,6 +4,26 @@
 #endif
 #if defined(__INTEL_COMPILER) || defined(__ICC)
         PRINT *, 'INFO:compiler[Intel]'
+# if defined(_MSC_VER)
+        PRINT *, 'INFO:simulate[MSVC]'
+#  if _MSC_VER >= 1800
+        PRINT *, 'INFO:simulate_version[018.00]'
+#  elif _MSC_VER >= 1700
+        PRINT *, 'INFO:simulate_version[017.00]'
+#  elif _MSC_VER >= 1600
+        PRINT *, 'INFO:simulate_version[016.00]'
+#  elif _MSC_VER >= 1500
+        PRINT *, 'INFO:simulate_version[015.00]'
+#  elif _MSC_VER >= 1400
+        PRINT *, 'INFO:simulate_version[014.00]'
+#  elif _MSC_VER >= 1310
+        PRINT *, 'INFO:simulate_version[013.01]'
+#  elif _MSC_VER >= 1300
+        PRINT *, 'INFO:simulate_version[013.00]'
+#  elif _MSC_VER >= 1200
+        PRINT *, 'INFO:simulate_version[012.00]'
+#  endif
+# endif
 #elif defined(__SUNPRO_F90) || defined(__SUNPRO_F95)
         PRINT *, 'INFO:compiler[SunPro]'
 #elif defined(_CRAYFTN)
diff --git a/Modules/Platform/Windows-Intel-CXX.cmake b/Modules/Platform/Windows-Intel-CXX.cmake
index ec5f0ae..84cd303 100644
--- a/Modules/Platform/Windows-Intel-CXX.cmake
+++ b/Modules/Platform/Windows-Intel-CXX.cmake
@@ -1,4 +1,3 @@
 include(Platform/Windows-Intel)
 set(_COMPILE_CXX " /TP")
-set(_FLAGS_CXX " /EHsc /GR")
 __windows_compiler_intel(CXX)
diff --git a/Modules/Platform/Windows-Intel.cmake b/Modules/Platform/Windows-Intel.cmake
index 69a7f2f..34e6b37 100644
--- a/Modules/Platform/Windows-Intel.cmake
+++ b/Modules/Platform/Windows-Intel.cmake
@@ -18,92 +18,11 @@ if(__WINDOWS_INTEL)
 endif()
 set(__WINDOWS_INTEL 1)
 
-# make sure to enable languages after setting configuration types
-enable_language(RC)
-set(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
-
-set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
-set(CMAKE_LINK_LIBRARY_FLAG "")
-set(WIN32 1)
-if(CMAKE_VERBOSE_MAKEFILE)
-  set(CMAKE_CL_NOLOGO)
-else()
-  set(CMAKE_CL_NOLOGO "/nologo")
-endif()
-set(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
-set(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
-set(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
-
-# default to Debug builds
-#set(CMAKE_BUILD_TYPE_INIT Debug)
-set(CMAKE_BUILD_TYPE_INIT Release)
-
-set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib")
-set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
-
-# executable linker flags
-set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
-if(MSVC_C_ARCHITECTURE_ID)
-  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
-elseif(MSVC_CXX_ARCHITECTURE_ID)
-  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
-elseif(MSVC_Fortran_ARCHITECTURE_ID)
-  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
-endif()
-set (CMAKE_EXE_LINKER_FLAGS_INIT "/INCREMENTAL:YES ${_MACHINE_ARCH_FLAG}")
-set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
-set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
-
-set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-
-include("${CMAKE_PLATFORM_INFO_DIR}/CMakeIntelInformation.cmake" OPTIONAL)
-
-if(NOT _INTEL_XILINK_TEST_RUN)
-  execute_process(COMMAND xilink /?
-    ERROR_VARIABLE _XILINK_ERR
-    OUTPUT_VARIABLE _XILINK_HELP)
-  if(_XILINK_HELP MATCHES MANIFEST)
-    set(_INTEL_COMPILER_SUPPORTS_MANIFEST 1)
-  endif()
-  if(NOT  EXISTS "${CMAKE_PLATFORM_INFO_DIR}/CMakeIntelInformation.cmake")
-    file(WRITE ${CMAKE_PLATFORM_INFO_DIR}/CMakeIntelInformation.cmake
-      "
-set(_INTEL_XILINK_TEST_RUN 1)
-set(_INTEL_COMPILER_SUPPORTS_MANIFEST ${_INTEL_COMPILER_SUPPORTS_MANIFEST})
-")
-  endif()
-endif()
-
+include(Platform/Windows-MSVC)
 macro(__windows_compiler_intel lang)
-  set(CMAKE_${lang}_COMPILE_OBJECT
-    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} /Fo<OBJECT> /Fd<OBJECT_DIR>/ <DEFINES> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
-  set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
-    "<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <DEFINES> <FLAGS> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
-  set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
-  set(CMAKE_${lang}_CREATE_STATIC_LIBRARY  "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
-  set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-    "xilink ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE}  /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll  <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-  set(CMAKE_${lang}_CREATE_SHARED_MODULE "${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
-  set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
-  set(CMAKE_${lang}_LINK_EXECUTABLE
-    "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> <OBJECTS> /link /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
-  set(CMAKE_${lang}_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000${_FLAGS_${lang}}")
-  set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Od /RTC1")
-  set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/DNDEBUG /MD /O1")
-  set(CMAKE_${lang}_FLAGS_RELEASE_INIT "/DNDEBUG /MD /O2")
-  set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "/DNDEBUG /MD /Zi /O2")
-
-  if(_INTEL_COMPILER_SUPPORTS_MANIFEST)
-    set(CMAKE_${lang}_LINK_EXECUTABLE
-      "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_${lang}_LINK_EXECUTABLE}")
-    set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
-      "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
-    set(CMAKE_${lang}_CREATE_SHARED_MODULE
-      "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_${lang}_CREATE_SHARED_MODULE}")
-  endif()
+  __windows_compiler_msvc(${lang})
+  string(REPLACE "<CMAKE_LINKER> /lib" "lib" CMAKE_${lang}_CREATE_STATIC_LIBRARY "${CMAKE_${lang}_CREATE_STATIC_LIBRARY}")
+  foreach(rule CREATE_SHARED_LIBRARY CREATE_SHARED_MODULE LINK_EXECUTABLE)
+    string(REPLACE "<CMAKE_LINKER>" "xilink" CMAKE_${lang}_${rule} "${CMAKE_${lang}_${rule}}")
+  endforeach()
 endmacro()
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
index a2cfe33..8f0add7 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -69,6 +69,8 @@ if(NOT MSVC_VERSION)
     set(_compiler_version ${CMAKE_C_SIMULATE_VERSION})
   elseif(CMAKE_CXX_SIMULATE_VERSION)
     set(_compiler_version ${CMAKE_CXX_SIMULATE_VERSION})
+  elseif(CMAKE_Fortran_SIMULATE_VERSION)
+    set(_compiler_version ${CMAKE_Fortran_SIMULATE_VERSION})
   elseif(CMAKE_C_COMPILER_VERSION)
     set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
   else()
@@ -182,12 +184,15 @@ set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
 # executable linker flags
 set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
 # set the machine type
-set(_MACHINE_ARCH_FLAG ${MSVC_C_ARCHITECTURE_ID})
-if(NOT _MACHINE_ARCH_FLAG)
-  set(_MACHINE_ARCH_FLAG ${MSVC_CXX_ARCHITECTURE_ID})
+if(MSVC_C_ARCHITECTURE_ID)
+  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
+elseif(MSVC_CXX_ARCHITECTURE_ID)
+  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
+elseif(MSVC_Fortran_ARCHITECTURE_ID)
+  set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
 endif()
-set (CMAKE_EXE_LINKER_FLAGS_INIT
-    "${CMAKE_EXE_LINKER_FLAGS_INIT} /machine:${_MACHINE_ARCH_FLAG}")
+set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} ${_MACHINE_ARCH_FLAG}")
+unset(_MACHINE_ARCH_FLAG)
 
 # add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
 # on versions that support it

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=493ae42ac7a998ea15b3ba788f170ff2b215b923
commit 493ae42ac7a998ea15b3ba788f170ff2b215b923
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Oct 11 13:40:43 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Oct 16 10:37:49 2013 -0400

    VS: Detect Intel Fortran compiler id and version
    
    Teach CMakeDetermineCompilerId to use a .vfproj project file to
    build the Fortran compiler id source file under the Visual Studio
    generators.

diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index 4c2b506..d55fcdf 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -114,7 +114,11 @@ Id flags: ${testflags}
     set(id_platform ${CMAKE_VS_PLATFORM_NAME})
     set(id_lang "${lang}")
     set(id_cl cl.exe)
-    if(NOT "${vs_version}" VERSION_LESS 10)
+    if(lang STREQUAL Fortran)
+      set(v Intel-11)
+      set(ext vfproj)
+      set(id_cl ifort.exe)
+    elseif(NOT "${vs_version}" VERSION_LESS 10)
       set(v 10)
       set(ext vcxproj)
     elseif(NOT "${vs_version}" VERSION_LESS 7)
diff --git a/Modules/CMakeDetermineFortranCompiler.cmake b/Modules/CMakeDetermineFortranCompiler.cmake
index 4d3fb90..13cfb00 100644
--- a/Modules/CMakeDetermineFortranCompiler.cmake
+++ b/Modules/CMakeDetermineFortranCompiler.cmake
@@ -26,10 +26,6 @@ if(NOT CMAKE_Fortran_COMPILER_NAMES)
 endif()
 
 if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-  set(CMAKE_Fortran_COMPILER_ID_RUN 1)
-  set(CMAKE_Fortran_PLATFORM_ID "Windows")
-  set(CMAKE_Fortran_COMPILER_ID "Intel")
-  set(CMAKE_Fortran_COMPILER "${CMAKE_GENERATOR_FC}")
 elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
   set(CMAKE_Fortran_COMPILER_XCODE_TYPE sourcecode.fortran.f90)
 else()
diff --git a/Modules/CompilerId/VS-Intel-11.vfproj.in b/Modules/CompilerId/VS-Intel-11.vfproj.in
new file mode 100644
index 0000000..4128513
--- /dev/null
+++ b/Modules/CompilerId/VS-Intel-11.vfproj.in
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VisualStudioProject
+	ProjectCreator="Intel Fortran"
+	Keyword="Console Application"
+	Version="11.0"
+	ProjectIdGuid="{AB67BAB7-D7AE-4E97-B492-FE5420447509}"
+	>
+	<Platforms>
+		<Platform Name="@id_platform@"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|@id_platform@"
+			OutputDirectory="."
+			IntermediateDirectory="$(ConfigurationName)"
+			>
+			<Tool
+				Name="VFFortranCompilerTool"
+				DebugInformationFormat="debugEnabled"
+				Optimization="optimizeDisabled"
+				Preprocess="preprocessYes"
+				RuntimeLibrary="rtMultiThreadedDebugDLL"
+			/>
+			<Tool
+				Name="VFLinkerTool"
+				LinkIncremental="linkIncrementalNo"
+				GenerateDebugInformation="true"
+				SubSystem="subSystemConsole"
+			/>
+			<Tool
+				Name="VFPostBuildEventTool"
+				CommandLine="for %%i in (@id_cl@) do @echo CMAKE_ at id_lang@_COMPILER=%%~$PATH:i"
+			/>
+		</Configuration>
+	</Configurations>
+	<Files>
+		<Filter Name="Source Files" Filter="F">
+			<File RelativePath="@id_src@"/>
+		</Filter>
+	</Files>
+	<Globals/>
+</VisualStudioProject>
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 0b9796d..9db3c0c 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -36,7 +36,6 @@ void cmGlobalVisualStudio7Generator
 {
   mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
   mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
-  mf->AddDefinition("CMAKE_GENERATOR_FC", "ifort");
   this->AddPlatformDefinitions(mf);
   if(!mf->GetDefinition("CMAKE_CONFIGURATION_TYPES"))
     {

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2d36c9ab60f9d1fa5304ebf23b09fa79ff8b667e
commit 2d36c9ab60f9d1fa5304ebf23b09fa79ff8b667e
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Oct 11 10:40:18 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Oct 16 10:37:48 2013 -0400

    CMakeDetermineCompilerId: Fix Intel Fortran compiler id detection
    
    The Intel Fortran compiler needs the /fpp option to enable C
    preprocessing.  Without the option the compiler may warn and ignore
    preprocessor lines instead of failing with an error.  Detect the
    warning and treat it as failure so that we move on to try /fpp and
    detect the correct id.  Without this it works only by luck because
    Intel is the first compiler id in our detection source file.

diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index 71f15df..4c2b506 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -248,7 +248,10 @@ Id flags: ${testflags}
   endif()
 
   # Check the result of compilation.
-  if(CMAKE_${lang}_COMPILER_ID_RESULT)
+  if(CMAKE_${lang}_COMPILER_ID_RESULT
+     # Intel Fortran warns and ignores preprocessor lines without /fpp
+     OR CMAKE_${lang}_COMPILER_ID_OUTPUT MATCHES "Bad # preprocessor line"
+     )
     # Compilation failed.
     set(MSG
       "Compiling the ${lang} compiler identification source file \"${src}\" failed.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a6fd17ce50b18dd9d06cdd7fdb34bf68e987f7fc
commit a6fd17ce50b18dd9d06cdd7fdb34bf68e987f7fc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Oct 9 13:50:59 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Oct 16 10:37:48 2013 -0400

    VS: Fix CMAKE_<LANG>_COMPILER detection with Intel toolset (#14471)
    
    When the platform toolset is from Intel, look for "icl.exe" instead of
    "cl.exe".

diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index de4a882..71f15df 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -130,6 +130,9 @@ Id flags: ${testflags}
     endif()
     if(CMAKE_VS_PLATFORM_TOOLSET)
       set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
+      if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "Intel")
+        set(id_cl icl.exe)
+      endif()
     else()
       set(id_toolset "")
     endif()

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list