https://github.com/Kitware/CMake
Revision 8d6a0b9364581fbb95746c93cac4ec3c213f534b authored by Brad King on 27 October 2020, 12:20:48 UTC, committed by Kitware Robot on 27 October 2020, 12:20:54 UTC
dd77dec18d VS: Don't compute CUDA options unless necessary
e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18
7c0de4175b Merge branch 'cmake-E-cat-binary' into release-3.18

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5422
2 parent s 698851c + dd77dec
Raw File
Tip revision: 8d6a0b9364581fbb95746c93cac4ec3c213f534b authored by Brad King on 27 October 2020, 12:20:48 UTC
Merge topic 'cuda_vs_skip_computation' into release-3.19
Tip revision: 8d6a0b9
cmExportSet.cxx
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#include "cmExportSet.h"

#include <tuple>
#include <utility>

#include "cmLocalGenerator.h"
#include "cmTargetExport.h"

cmExportSet::cmExportSet(std::string name)
  : Name(std::move(name))
{
}

cmExportSet::~cmExportSet() = default;

void cmExportSet::Compute(cmLocalGenerator* lg)
{
  for (std::unique_ptr<cmTargetExport>& tgtExport : this->TargetExports) {
    tgtExport->Target = lg->FindGeneratorTargetToUse(tgtExport->TargetName);
  }
}

void cmExportSet::AddTargetExport(std::unique_ptr<cmTargetExport> te)
{
  this->TargetExports.emplace_back(std::move(te));
}

void cmExportSet::AddInstallation(cmInstallExportGenerator const* installation)
{
  this->Installations.push_back(installation);
}

cmExportSet& cmExportSetMap::operator[](const std::string& name)
{
  auto it = this->find(name);
  if (it == this->end()) // Export set not found
  {
    auto tup_name = std::make_tuple(name);
    it = this->emplace(std::piecewise_construct, tup_name, tup_name).first;
  }
  return it->second;
}
back to top