summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-10-04 17:01:47 (GMT)
committerBrad King <brad.king@kitware.com>2017-10-19 14:20:12 (GMT)
commit9ffb35386fb923a5959eec482bfa131aa3feaa18 (patch)
treea01b2cc99c387db8f4ef234d70ff35de43009b70 /Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake
parent17edfa41983c61574e897eda923c90fd33ba8ac3 (diff)
downloadCMake-9ffb35386fb923a5959eec482bfa131aa3feaa18.zip
CMake-9ffb35386fb923a5959eec482bfa131aa3feaa18.tar.gz
CMake-9ffb35386fb923a5959eec482bfa131aa3feaa18.tar.bz2
VS: Select and save a VS 2017 instance persistently
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
Diffstat (limited to 'Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake')
-rw-r--r--Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake13
1 files changed, 13 insertions, 0 deletions
diff --git a/Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake b/Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake
new file mode 100644
index 0000000..7750c2e
--- /dev/null
+++ b/Tests/RunCMake/GeneratorInstance/DefaultInstance.cmake
@@ -0,0 +1,13 @@
+if("x${CMAKE_GENERATOR_INSTANCE}" STREQUAL "x")
+ message(FATAL_ERROR "CMAKE_GENERATOR_INSTANCE is empty but should have a value.")
+elseif("x${CMAKE_GENERATOR_INSTANCE}" MATCHES [[\\]])
+ message(FATAL_ERROR
+ "CMAKE_GENERATOR_INSTANCE is\n"
+ " ${CMAKE_GENERATOR_INSTANCE}\n"
+ "which contains a backslash.")
+elseif(NOT IS_DIRECTORY "${CMAKE_GENERATOR_INSTANCE}")
+ message(FATAL_ERROR
+ "CMAKE_GENERATOR_INSTANCE is\n"
+ " ${CMAKE_GENERATOR_INSTANCE}\n"
+ "which is not an existing directory.")
+endif()