[CMake] CMakeDetermineVSServicePack (was: CMake 3.0-rc3 now ready for testing)

Mourad Boufarguine mourad at boufarguine.name
Thu Apr 10 04:19:24 EDT 2014


On 04/09/2014 07:39 AM, Mourad Boufarguine wrote:
> > CMake Error at D:/Program Files
> (x86)/CMake/share/cmake-3.0/Modules/CMakeDetermineVSServicePack.cmake:140
> (list):
> > list index: 3 out of range (-3, 2)
> [snip]
> > content of the _cl_version variable and it gave me 17.00.61030
> > so there is no 4th component in the version number.
>
> Did this work with a previous version of CMake?  It looks like this
> problem has always existed but did not manifest because normally there
> are four components in the output.
>

I just tried with CMake 2.8.12.2 and I confirm I had the same issue.


>
> Please print and report the content of "_output" so we can see why it
> does not match as expected and fix the module accordingly.
>

Here is the content of the _output variable using CMake *2.8.12.2*:

Change Dir: C:/temp/eigen-eigen-6b38706d90a9/build/CMakeFiles/CMakeTmp


Run Build Command:C:\PROGRA~2\MICROS~3.0\Common7\IDE\devenv.comCMAKE_TRY_COMPILE.sln
/build Debug /project cmTryCompileExec3971839849


Microsoft (R) Microsoft Visual Studio 2012 Version 11.0.61030.0.


Copyright (C) Microsoft Corp. All rights reserved.


1>------ Build started: Project: cmTryCompileExec3971839849, Configuration:
Debug x64 ------


1>Build started 4/10/2014 10:01:40 AM.


1>PrepareForBuild:


1> Creating directory
"C:\temp\eigen-eigen-6b38706d90a9\build\CMakeFiles\CMakeTmp\Debug\".


1>InitializeBuildStatus:


1> Creating
"cmTryCompileExec3971839849.dir\Debug\cmTryCompileExec3971839849.unsuccessfulbuild"
because "AlwaysCreate" was specified.


1>ClCompile:


1> Microsoft (R) C/C++ Optimizing *Compiler Version 17.00.61030* for x64


1> Copyright (C) Microsoft Corporation. All rights reserved.


1>


1> cl /c /Zi /W4 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _DEBUG /D
"CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise
/Zc:wchar_t /Zc:forScope /GR /Fo"cmTryCompileExec3971839849.dir\Debug\\"
/Fd"cmTryCompileExec3971839849.dir\Debug\vc110.pdb" /Gd /TP /wd4127 /wd4505
/wd4714 /errorReport:prompt
"C:\temp\eigen-eigen-6b38706d90a9\build\return0.cc"


1>


1> return0.cc


1>Link:


1> cmTryCompileExec3971839849.vcxproj ->
C:\temp\eigen-eigen-6b38706d90a9\build\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec3971839849.exe


1>FinalizeBuildStatus:


1> Deleting file
"cmTryCompileExec3971839849.dir\Debug\cmTryCompileExec3971839849.unsuccessfulbuild".


1> Touching
"cmTryCompileExec3971839849.dir\Debug\cmTryCompileExec3971839849.lastbuildstate".


1>


1>Build succeeded.


1>


1>Time Elapsed 00:00:00.28


========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========


Here is the content of the _output variable using* CMake 3.0 RC3*:


Change Dir:
C:/temp/eigen-eigen-6b38706d90a9/build-cmake3/CMakeFiles/CMakeTmp


Run Build
Command:"C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe"
"cmTryCompileExec197569480.vcxproj" "/p:Configuration=Debug"
"/p:VisualStudioVersion=11.0"

Microsoft (R) Build Engine version 4.0.30319.17929


[Microsoft .NET Framework, version 4.0.30319.18063]


Copyright (C) Microsoft Corporation. All rights reserved.



Build started 4/10/2014 10:07:10 AM.


Project
"C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\CMakeFiles\CMakeTmp\cmTryCompileExec197569480.vcxproj"
on node 1 (default targets).


PrepareForBuild:


 Creating directory "cmTryCompileExec197569480.dir\Debug\".


 Creating directory
"C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\CMakeFiles\CMakeTmp\Debug\".


InitializeBuildStatus:


 Creating
"cmTryCompileExec197569480.dir\Debug\cmTryCompileExec197569480.unsuccessfulbuild"
because "AlwaysCreate" was specified.


ClCompile:


 C:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\bin\x86_amd64\CL.exe /c /Zi /W4 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS
/D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS
/fp:precise /Zc:wchar_t /Zc:forScope /GR
/Fo"cmTryCompileExec197569480.dir\Debug\\"
/Fd"cmTryCompileExec197569480.dir\Debug\vc110.pdb" /Gd /TP /wd4127 /wd4505
/wd4714 /errorReport:queue
"C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\return0.cc"


 Microsoft (R) C/C++ Optimizing *Compiler Version 17.00.61030* for x64


Copyright (C) Microsoft Corporation. All rights reserved.



cl /c /Zi /W4 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _DEBUG /D
"CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise
/Zc:wchar_t /Zc:forScope /GR /Fo"cmTryCompileExec197569480.dir\Debug\\"
/Fd"cmTryCompileExec197569480.dir\Debug\vc110.pdb" /Gd /TP /wd4127 /wd4505
/wd4714 /errorReport:queue
"C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\return0.cc"



return0.cc


Link:


 C:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:QUEUE
/OUT:"C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec197569480.exe"
/INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
/MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed
/DEBUG
/PDB:"C:/temp/eigen-eigen-6b38706d90a9/build-cmake3/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec197569480.pdb"
/SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT
/IMPLIB:"C:/temp/eigen-eigen-6b38706d90a9/build-cmake3/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec197569480.lib"
/MACHINE:X64 /machine:x64 /debug
cmTryCompileExec197569480.dir\Debug\return0.obj


 cmTryCompileExec197569480.vcxproj ->
C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec197569480.exe


FinalizeBuildStatus:


 Deleting file
"cmTryCompileExec197569480.dir\Debug\cmTryCompileExec197569480.unsuccessfulbuild".


 Touching
"cmTryCompileExec197569480.dir\Debug\cmTryCompileExec197569480.lastbuildstate".


Done Building Project
"C:\temp\eigen-eigen-6b38706d90a9\build-cmake3\CMakeFiles\CMakeTmp\cmTryCompileExec197569480.vcxproj"
(default targets).



Build succeeded.


 0 Warning(s)


 0 Error(s)



Time Elapsed 00:00:01.10



>
> Meanwhile, Eigen should be taught to use CMAKE_<LANG>_COMPILER_VERSION
> which
> has superseded CMakeDetermineVSServicePack as mentioned in the
> documentation:
>
>
> http://www.cmake.org/cmake/help/v3.0/module/CMakeDetermineVSServicePack.html
>
> http://www.cmake.org/cmake/help/v3.0/variable/CMAKE_LANG_COMPILER_VERSION.html
>
> CMAKE_<LANG>_COMPILER_VERSION is available since CMake 2.8.8.
>

All I can do here is to let Eigen developers know of this issue. However,
since CMakeDetermineVSServicePack is still shipped with CMake 3.0, it has
to be fixed anyway.


>
> -Brad
>
>
- Mourad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140410/6d4c9a18/attachment-0001.html>


More information about the CMake mailing list