cmCTestBuildCommand: code improvement

This commit is contained in:
Vitaly Stakhovsky
2020-11-29 08:00:00 -05:00
parent f85f86415b
commit 4d9b1b42bc

View File

@@ -54,22 +54,21 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
// //
cmProp ctestBuildConfiguration = cmProp ctestBuildConfiguration =
this->Makefile->GetDefinition("CTEST_BUILD_CONFIGURATION"); this->Makefile->GetDefinition("CTEST_BUILD_CONFIGURATION");
const std::string* cmakeBuildConfiguration = !this->Configuration.empty() std::string cmakeBuildConfiguration = cmNonempty(this->Configuration)
? &this->Configuration ? this->Configuration
: (cmNonempty(ctestBuildConfiguration) ? ctestBuildConfiguration : cmNonempty(ctestBuildConfiguration) ? *ctestBuildConfiguration
: &this->CTest->GetConfigType()); : this->CTest->GetConfigType();
const std::string* cmakeBuildAdditionalFlags = !this->Flags.empty() const std::string& cmakeBuildAdditionalFlags = cmNonempty(this->Flags)
? &this->Flags ? this->Flags
: this->Makefile->GetDefinition("CTEST_BUILD_FLAGS"); : this->Makefile->GetSafeDefinition("CTEST_BUILD_FLAGS");
const std::string* cmakeBuildTarget = !this->Target.empty() const std::string& cmakeBuildTarget = cmNonempty(this->Target)
? &this->Target ? this->Target
: this->Makefile->GetDefinition("CTEST_BUILD_TARGET"); : this->Makefile->GetSafeDefinition("CTEST_BUILD_TARGET");
if (cmNonempty(cmakeGeneratorName)) { if (cmNonempty(cmakeGeneratorName)) {
if (!cmakeBuildConfiguration) { if (cmakeBuildConfiguration.empty()) {
static const std::string sRelease = "Release"; cmakeBuildConfiguration = "Release";
cmakeBuildConfiguration = &sRelease;
} }
if (this->GlobalGenerator) { if (this->GlobalGenerator) {
if (this->GlobalGenerator->GetName() != *cmakeGeneratorName) { if (this->GlobalGenerator->GetName() != *cmakeGeneratorName) {
@@ -88,24 +87,18 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
return nullptr; return nullptr;
} }
} }
if (cmakeBuildConfiguration->empty()) { if (cmakeBuildConfiguration.empty()) {
const std::string* config = nullptr;
#ifdef CMAKE_INTDIR #ifdef CMAKE_INTDIR
static const std::string sIntDir = CMAKE_INTDIR; cmakeBuildConfiguration = CMAKE_INTDIR;
config = &sIntDir; #else
cmakeBuildConfiguration = "Debug";
#endif #endif
if (!config) {
static const std::string sDebug = "Debug";
config = &sDebug;
}
cmakeBuildConfiguration = config;
} }
std::string dir = this->CTest->GetCTestConfiguration("BuildDirectory"); std::string dir = this->CTest->GetCTestConfiguration("BuildDirectory");
std::string buildCommand = std::string buildCommand =
this->GlobalGenerator->GenerateCMakeBuildCommand( this->GlobalGenerator->GenerateCMakeBuildCommand(
cmakeBuildTarget ? *cmakeBuildTarget : "", *cmakeBuildConfiguration, cmakeBuildTarget, cmakeBuildConfiguration, cmakeBuildAdditionalFlags,
cmakeBuildAdditionalFlags ? *cmakeBuildAdditionalFlags : "",
this->Makefile->IgnoreErrorsCMP0061()); this->Makefile->IgnoreErrorsCMP0061());
cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
"SetMakeCommand:" << buildCommand << "\n", "SetMakeCommand:" << buildCommand << "\n",