summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-09-10 15:23:22 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-09-10 15:23:22 (GMT)
commit0a92b23c52675bf8fe93cb9959266a49ab509ac1 (patch)
tree0f7a40cbf62c8fbbb6b19843a118faa942ce9a51 /Source/cmake.cxx
parent2bfe48d6af963472fbd4073f729669306eccac69 (diff)
parent09c8ad99433df06ed36791bfaef97996cd2de04e (diff)
downloadCMake-0a92b23c52675bf8fe93cb9959266a49ab509ac1.zip
CMake-0a92b23c52675bf8fe93cb9959266a49ab509ac1.tar.gz
CMake-0a92b23c52675bf8fe93cb9959266a49ab509ac1.tar.bz2
Merge topic 'vs-generator-platform'
09c8ad99 enable_language: Initialize system-specific generator info only once 09ab207c Tests: Add generator platform support 6944997b ExternalProject: Propagate the generator platform 8d332091 CTest: Add options to set generator platform b97736a2 VS: Implement CMAKE_GENERATOR_PLATFORM for VS >= 8 0f1f1271 CMake: Add CMAKE_GENERATOR_PLATFORM option 4f7d0c42 Help: Document CMAKE_VS_PLATFORM_NAME variable 68d4280a VS: Refactor internal default platform name selection ad2a4776 cmGlobalVisualStudio10Generator: Re-order some methods 03b7b6cd cmGlobalGenerator: Call SetGeneratorToolset even for empty toolset
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx28
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 6cc3b81..c9c63c7 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1445,6 +1445,34 @@ int cmake::ActualConfigure()
cmCacheManager::INTERNAL);
}
+ if(const char* platformName =
+ this->CacheManager->GetCacheValue("CMAKE_GENERATOR_PLATFORM"))
+ {
+ if(this->GeneratorPlatform.empty())
+ {
+ this->GeneratorPlatform = platformName;
+ }
+ else if(this->GeneratorPlatform != platformName)
+ {
+ std::string message = "Error: generator platform: ";
+ message += this->GeneratorPlatform;
+ message += "\nDoes not match the platform used previously: ";
+ message += platformName;
+ message +=
+ "\nEither remove the CMakeCache.txt file and CMakeFiles "
+ "directory or choose a different binary directory.";
+ cmSystemTools::Error(message.c_str());
+ return -2;
+ }
+ }
+ else
+ {
+ this->CacheManager->AddCacheEntry("CMAKE_GENERATOR_PLATFORM",
+ this->GeneratorPlatform.c_str(),
+ "Name of generator platform.",
+ cmCacheManager::INTERNAL);
+ }
+
if(const char* tsName =
this->CacheManager->GetCacheValue("CMAKE_GENERATOR_TOOLSET"))
{