summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio15Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Select and save a VS 2017 instance persistentlyBrad King2017-10-191-0/+47
| | | | | | | | | | Visual Studio 2017 supports multiple instances installed on a single machine. We use the Visual Studio Installer tool to enumerate instances and select one. Once we select an instance for a given build tree, save the result in `CMAKE_GENERATOR_INSTANCE` so we can re-configure the tree with the same instance on future re-runs of CMake. Fixes: #17268
* Use C++11 override instead of CM_OVERRIDEBrad King2017-09-151-2/+2
| | | | | | | | We now require C++11 support including `override`. Drop use of the old compatibility macro. Convert references as follows: git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' | xargs sed -i 's/CM_OVERRIDE/override/g'
* VS: Split link flag table between v140 and v141 toolsetsIan Hojnicki2017-06-281-0/+2
|
* VS2017: Verify Windows 8.1 SDK before using itRoger Leigh2017-04-251-1/+1
| | | | | | | | | | | | | The detection logic added by commit v3.8.0-rc2~14^2 (VS2017: If Win 8.1 SDK is not available, use Win 10 SDK, 2017-02-20) was incomplete. It is possible for the Win 8.1 SDK registry entry to exist, and even the directory, but the header files to not actually be installed. Teach `cmGlobalVisualStudio15Generator::IsWin81SDKInstalled` to verify that the `windows.h` header actually exists in the SDK directory. We do this in `cmGlobalVisualStudio14Generator::GetWindows10SDKVersion` for the Windows 10 SDK already. Fixes: #16811
* VS2017: If Win 8.1 SDK is not available, use Win 10 SDKBrad King2017-02-211-0/+34
| | | | | | | | | We try to choose the Windows SDK version based on the version of Windows targeted by the build. However, if using VS 2017 without the Windows 8.1 SDK installed then we must fall back to the Windows 10 SDK even when targeting an older version of Windows. Inspired-by: gnaggnoyil <gnaggnoyil@gmail.com>
* VS: Use Visual Studio Installer to locate VS 2017Iyyappa Murugandi2016-12-161-12/+36
| | | | | | | | VS 2017 and later may no longer populate the Windows Registry entries CMake has traditionally used to find the VS installations. This is because VS now supports having multiple installations of the same version. The Visual Studio Installer tool provides a COM interface we can query to locate installations.
* VS: Fix VS 2017 Windows Store toolset selectionIyyappa Murugandi2016-12-161-1/+1
| | | | VS 2017 uses the `v141` toolset, not `v140`.
* VS: Drop check for VS 15 Express EditionIyyappa Murugandi2016-12-161-5/+1
| | | | There is no such version of VS 2017.
* VS: Add flag tables for C#Michael Stürmer2016-12-011-0/+2
| | | | | | | Add these (currently unused) tables in preparation for `.csproj` generation support. Populate the tables for every version with a set of initial values that work well for me with VS 12 and VS 14. Later we may need to generate them more thoroughly from MSBuild `.xml` files.
* Merge branch 'vs15-rename-generator' into vs15-rename-generator-for-masterBrad King2016-11-291-4/+7
|\
| * VS: Rename VS 15 generator to 'Visual Studio 15 2017'Roman Wüger2016-11-291-4/+7
| | | | | | | | | | | | | | | | | | The final name of this VS version was announced: https://blogs.msdn.microsoft.com/visualstudio/2016/11/16/visual-studio-2017-rc/ Add the year to the generator name accordingly. For convenience, map the name without the year to the name with the year.
* | iwyu: Fix VisualStudio specific issuesDaniel Pfeifer2016-11-281-0/+1
| |
* | VS: Move toolset flag table lookup to global generatorDon Olmstead2016-10-251-0/+2
|/ | | | | Move `Get*FlagTable` methods to the global generator and have each VS generator version pre-populate its default flag table.
* VS: Update VS 15 generator for Preview 5Brad King2016-10-061-1/+1
| | | | | | The `PlatformToolset` is now `v141` instead of `v140`. Closes: #16347
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* VS15: Add Visual Studio 15 generatorBrad King2016-09-071-0/+151
Call the generator "Visual Studio 15" without any year because the preview version of VS 15 does not provide a year in the product name. Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator and update version numbers accordingly. Add the VS15 enumeration value. Note that we do not need to add a MSVC15 variable or v150 toolset because Visual Studio 15 comes with an updated version of the v140 toolset and remains ABI-compatible. Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14. Closes: #16143