cmCTestMemCheckCommand.cxx 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #include "cmCTestMemCheckCommand.h"
  4. #include <cmext/string_view>
  5. #include "cmCTest.h"
  6. #include "cmCTestMemCheckHandler.h"
  7. #include "cmMakefile.h"
  8. void cmCTestMemCheckCommand::BindArguments()
  9. {
  10. this->cmCTestTestCommand::BindArguments();
  11. this->Bind("DEFECT_COUNT"_s, this->DefectCount);
  12. }
  13. cmCTestGenericHandler* cmCTestMemCheckCommand::InitializeActualHandler()
  14. {
  15. cmCTestMemCheckHandler* handler = this->CTest->GetMemCheckHandler();
  16. handler->Initialize();
  17. this->CTest->SetCTestConfigurationFromCMakeVariable(
  18. this->Makefile, "MemoryCheckType", "CTEST_MEMORYCHECK_TYPE", this->Quiet);
  19. this->CTest->SetCTestConfigurationFromCMakeVariable(
  20. this->Makefile, "MemoryCheckSanitizerOptions",
  21. "CTEST_MEMORYCHECK_SANITIZER_OPTIONS", this->Quiet);
  22. this->CTest->SetCTestConfigurationFromCMakeVariable(
  23. this->Makefile, "MemoryCheckCommand", "CTEST_MEMORYCHECK_COMMAND",
  24. this->Quiet);
  25. this->CTest->SetCTestConfigurationFromCMakeVariable(
  26. this->Makefile, "MemoryCheckCommandOptions",
  27. "CTEST_MEMORYCHECK_COMMAND_OPTIONS", this->Quiet);
  28. this->CTest->SetCTestConfigurationFromCMakeVariable(
  29. this->Makefile, "MemoryCheckSuppressionFile",
  30. "CTEST_MEMORYCHECK_SUPPRESSIONS_FILE", this->Quiet);
  31. handler->SetQuiet(this->Quiet);
  32. return handler;
  33. }
  34. void cmCTestMemCheckCommand::ProcessAdditionalValues(
  35. cmCTestGenericHandler* handler)
  36. {
  37. if (!this->DefectCount.empty()) {
  38. this->Makefile->AddDefinition(
  39. this->DefectCount,
  40. std::to_string(
  41. static_cast<cmCTestMemCheckHandler*>(handler)->GetDefectCount()));
  42. }
  43. }