예제 #1
0
void SBWorkspace::getAllTargets(PotentialTargetsVec& targets) const {
    for (auto projectKV : m_openProjects) {
        SBProject* sbProject = projectKV.second;
        const PBXProject* pbxProject = sbProject->getPBXProject();
        const PBXTargetList& projectTargets = pbxProject->getTargets();
        std::transform(projectTargets.begin(), projectTargets.end(), back_inserter(targets), [sbProject](const PBXTarget* target) {
            return std::make_pair(target, sbProject);
        });
    }
}
예제 #2
0
SBWorkspace::TargetProjectPair SBWorkspace::findTargetWithName(const String& targetName) const {
    for (auto project : m_openProjects) {
        SBProject* sbProject = project.second;
        const PBXTarget* target = sbProject->getPBXProject()->getTargetWithName(targetName);
        if (target) {
            return make_pair(target, sbProject);
        }
    }

    SBLog::warning() << "Failed to find \"" << targetName << "\" target in workspace." << std::endl;
    return { NULL, NULL };
}