diff options
author | Brad King <brad.king@kitware.com> | 2014-09-10 15:23:22 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-09-10 15:23:22 (GMT) |
commit | 0a92b23c52675bf8fe93cb9959266a49ab509ac1 (patch) | |
tree | 0f7a40cbf62c8fbbb6b19843a118faa942ce9a51 /Source/cmake.cxx | |
parent | 2bfe48d6af963472fbd4073f729669306eccac69 (diff) | |
parent | 09c8ad99433df06ed36791bfaef97996cd2de04e (diff) | |
download | CMake-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.cxx | 28 |
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")) { |