mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-01 19:30:13 -06:00
ctest: Fix generator platform under --build-nocmake
When constructing a global generator instance in `--build-and-test` mode we need to set the platform passed by `--build-generator-platform` directly on the generator. The old code that set it on the `cmake` class instance did nothing because that only affects cache initialization, which is not done by `--build-nocmake`.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include "cmCTest.h"
|
||||
#include "cmCTestTestHandler.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmWorkingDirectory.h"
|
||||
#include "cmake.h"
|
||||
@@ -210,9 +211,14 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
|
||||
|
||||
if (this->BuildNoCMake) {
|
||||
// Make the generator available for the Build call below.
|
||||
cm.SetGlobalGenerator(cm.CreateGlobalGenerator(this->BuildGenerator));
|
||||
cm.SetGeneratorPlatform(this->BuildGeneratorPlatform);
|
||||
cm.SetGeneratorToolset(this->BuildGeneratorToolset);
|
||||
cmGlobalGenerator* gen = cm.CreateGlobalGenerator(this->BuildGenerator);
|
||||
cm.SetGlobalGenerator(gen);
|
||||
if (!this->BuildGeneratorPlatform.empty()) {
|
||||
cmMakefile mf(gen, cm.GetCurrentSnapshot());
|
||||
if (!gen->SetGeneratorPlatform(this->BuildGeneratorPlatform, &mf)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Load the cache to make CMAKE_MAKE_PROGRAM available.
|
||||
cm.LoadCache(this->BinaryDir);
|
||||
|
||||
Reference in New Issue
Block a user