[CMake] Why does CMake 3.9.0 open VS2017 when targeting 2013 after installing 2017... sigh.

Brian Davis bitminer at gmail.com
Fri Aug 17 12:05:01 EDT 2018


> > Can't that be set by passing the toolset with a -T
>
> That is what I was trying to say with my last sentence. You will need
> to use CMake 3.12 to have support for specifying the minor toolset
> version though.
>




> >>>
> >>> The MSVC / CUDA support recently has been very challenging to keep
> track of. In general CUDA will only support a single patch release of MSVC,
> and given how MSVC 2017 doesn't easily allow rollbacks and has a pretty
> aggressive update policy ( compared to older MSVC versions ) causes lots of
> pain. This in general has been a community wide MSVC+CUDA issue.
> >>>
> >>> CUDA 8 has zero support for VS2017 ( https://docs.nvidia.com/cuda/
> archive/8.0/cuda-installation-guide-microsoft-windows/index.html )
> >>> CUDA 9.0 and 9.1 only supports VS 2017 15.0 (
> https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-
> guide-microsoft-windows/index.html, https://docs.nvidia.com/cuda/
> archive/9.1/cuda-installation-guide-microsoft-windows/index.html)
> >>> CUDA 9.2 only supports VS 2017 15.0 and 15.6
> >>>
> >>> When using MSVC 2017 and CUDA you will need to specify an explicit
> host side compiler with -T version=15.## including the minor version (
> https://cmake.org/cmake/help/v3.12/release/3.12.html#id3 ).
> >>
>
> > Can't that be set by passing the toolset with a -T ? like -T "v120_xp"
>   or -T "v120"
> >
> > This is an article about side-by-side toolsets
> https://blogs.msdn.microsoft.com/vcblog/2017/11/15/side-by-
> side-minor-version-msvc-toolsets-in-visual-studio-2017/  but it looks
> like it only goes back to 2015...
>

Between https://blogs.msdn.microsoft.com/vcblog/2017/11/15/side-by-
side-minor-version-msvc-toolsets-in-visual-studio-2017/ ,
https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-
guide-microsoft-windows/index.html and https://cmake.org/cmake/help/
v3.12/release/3.12.html#id3  I am wondering if MS, NVIDIA, and CMake can
get together and make a super secret decoder ring set (1 CMake, 1 MS, and 1
NVIDIA - imagine the street cred I would have on the internet superhighway
if I had that kind of bling) Bluetooth enabled so as to activate the MS's
stated "escape hatch" (their words not mine) I am working to install in my
bit mine so as I can get quick egress to that when needed.  Also MS might
consider Bluetooth enabled accessory (shock collar)  when decoder ring is
put into versions they rather not support as would alleviate the necessity
to review the "VS servicing guidelines".  Then if when the decoder rings
are set to all the correct versions and with their powers combined I could
compile an application.  Great reads all.

So how do I get this to work?

PROJECT(PROJECT_NAME CXX CUDA )


and then for 2017 and CUDA 9.0 at the toolset -T line in GUI:

cuda=9.0 v141 ???


My -Bv in test app outputs:

1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\CL.exe:
Version 19.14.26433.0
1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\c1.dll:
Version 19.14.26433.0
1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\c1xx.dll:
Version 19.14.26433.0
1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\c2.dll:
Version 19.14.26433.0
1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\link.exe:
Version 14.14.26433.0
1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\mspdb140.dll:
Version 14.14.26433.0
1> C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\1033\clui.dll:
Version 19.14.26433.0

which if I interpret correctly (sadly with out my decoder rings) is not in
https://blogs.msdn.microsoft.com/vcblog/2017/11/15/side-by-side-minor-version-msvc-toolsets-in-visual-studio-2017/

as last entry is:

VS2017, version 15.5     v141 in VS; version 14.12     1912

Also from above

When using MSVC 2017 and CUDA you will need to specify an explicit host
> side compiler with -T version=15.## including the minor version (
> https://cmake.org/cmake/help/v3.12/release/3.12.html#id3 ).
>


would that be:

version=19.14

so putting it all together at -T line:

cuda=9.0 v141 version=19.14


?

Can we just skip to the future where we are defining compile settings in
genetic code sequences?

GCUACGGAGCUUCA


This is becoming a real monster anyway we may all want to just skip ahead
to the punchline.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180817/72c11bd4/attachment.html>


More information about the CMake mailing list