完成相机代码
This commit is contained in:
parent
a3493e691b
commit
8a7b419cb6
10
.gitignore
vendored
10
.gitignore
vendored
|
@ -4,3 +4,13 @@ mediapipe/MediaPipe.tulsiproj/*.tulsiconf-user
|
|||
mediapipe/provisioning_profile.mobileprovision
|
||||
.configure.bazelrc
|
||||
.user.bazelrc
|
||||
mediapipe/render/demo/ios/OlapipeExample/OlapipeExample.xcodeproj/project.xcworkspace/xcuserdata/wangrenzhu.xcuserdatad/UserInterfaceState.xcuserstate
|
||||
mediapipe/render/demo/ios/OlapipeExample/OlapipeExample.xcodeproj/xcuserdata/wangrenzhu.xcuserdatad/xcschemes/xcschememanagement.plist
|
||||
mediapipe/render/ios/camera/OlaVideo.xcodeproj/.tulsi/Configs/wangrenzhu.tulsigen-user
|
||||
mediapipe/render/ios/camera/OlaVideo.xcodeproj/project.xcworkspace/xcuserdata/wangrenzhu.xcuserdatad/WorkspaceSettings.xcsettings
|
||||
mediapipe/render/ios/camera/OlaVideo.xcodeproj/xcuserdata/wangrenzhu.xcuserdatad/xcschemes/xcschememanagement.plist
|
||||
mediapipe/render/module/beauty/ios/OlaFaceUnity.xcodeproj/.tulsi/Configs/wangrenzhu.tulsigen-user
|
||||
mediapipe/render/module/beauty/ios/OlaFaceUnity.xcodeproj/project.xcworkspace/xcuserdata/wangrenzhu.xcuserdatad/UserInterfaceState.xcuserstate
|
||||
mediapipe/render/module/beauty/ios/OlaFaceUnity.xcodeproj/project.xcworkspace/xcuserdata/wangrenzhu.xcuserdatad/WorkspaceSettings.xcsettings
|
||||
mediapipe/render/module/beauty/ios/OlaFaceUnity.xcodeproj/xcuserdata/wangrenzhu.xcuserdatad/xcschemes/xcschememanagement.plist
|
||||
mediapipe/render/module/beauty/OlaFaceUnity.tulsiproj/wangrenzhu.tulsiconf-user
|
||||
|
|
250
mediapipe/render/core/dispatch_queue.cpp
Executable file
250
mediapipe/render/core/dispatch_queue.cpp
Executable file
|
@ -0,0 +1,250 @@
|
|||
#include "dispatch_queue.h"
|
||||
|
||||
#include <atomic>
|
||||
#include <thread>
|
||||
#include <queue>
|
||||
#include <deque>
|
||||
#include <chrono>
|
||||
#include <functional>
|
||||
#include <mutex>
|
||||
#include <condition_variable>
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
#if defined(__APPLE__)
|
||||
#include "GPUImageMacros.h"
|
||||
#else
|
||||
#include "GPUImage-x/GPUImageMacros.h"
|
||||
#endif
|
||||
#if defined(__APPLE__)
|
||||
#include <pthread.h>
|
||||
#else
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
using time_point = std::chrono::steady_clock::time_point;
|
||||
|
||||
struct work_entry
|
||||
{
|
||||
explicit work_entry(std::function< void() > func_)
|
||||
: func(std::move(func_))
|
||||
#ifdef TimerEnabled
|
||||
, expiry(time_point())
|
||||
, from_timer(false)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
work_entry(std::function< void() > func_, time_point expiry_)
|
||||
: func(std::move(func_))
|
||||
#ifdef TimerEnabled
|
||||
, expiry(expiry_)
|
||||
, from_timer(true)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
std::function< void() > func;
|
||||
#ifdef TimerEnabled
|
||||
time_point expiry;
|
||||
bool from_timer;
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef TimerEnabled
|
||||
bool operator >(work_entry const &lhs, work_entry const &rhs)
|
||||
{
|
||||
return lhs.expiry > rhs.expiry;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct dispatch_queue::impl
|
||||
{
|
||||
impl(std::string name);
|
||||
std::string name;
|
||||
|
||||
static void dispatch_thread_proc(impl *self);
|
||||
#ifdef TimerEnabled
|
||||
static void timer_thread_proc(impl *self);
|
||||
#endif
|
||||
std::mutex work_queue_mtx;
|
||||
std::condition_variable work_queue_cond;
|
||||
std::deque< work_entry > work_queue;
|
||||
|
||||
#ifdef TimerEnabled
|
||||
std::mutex timer_mtx;
|
||||
std::condition_variable timer_cond;
|
||||
std::priority_queue< work_entry, std::vector< work_entry >, std::greater< work_entry > > timers;
|
||||
#endif
|
||||
std::thread work_queue_thread;
|
||||
#ifdef TimerEnabled
|
||||
std::thread timer_thread;
|
||||
#endif
|
||||
std::atomic< bool > quit;
|
||||
std::atomic< bool > work_queue_thread_started;
|
||||
#ifdef TimerEnabled
|
||||
std::atomic< bool > timer_thread_started;
|
||||
#endif
|
||||
using work_queue_lock = std::unique_lock< decltype(work_queue_mtx) >;
|
||||
#ifdef TimerEnabled
|
||||
using timer_lock = std::unique_lock< decltype(timer_mtx) >;
|
||||
#endif
|
||||
};
|
||||
|
||||
void dispatch_queue::impl::dispatch_thread_proc(dispatch_queue::impl *self)
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
pthread_setname_np(self->name.c_str());
|
||||
#else
|
||||
prctl(PR_SET_NAME, (unsigned long)self->name.c_str());
|
||||
#endif
|
||||
work_queue_lock work_queue_lock(self->work_queue_mtx);
|
||||
self->work_queue_cond.notify_one();
|
||||
self->work_queue_thread_started = true;
|
||||
|
||||
while (self->quit == false)
|
||||
{
|
||||
self->work_queue_cond.wait(work_queue_lock, [&] { return !self->work_queue.empty(); });
|
||||
|
||||
while (!self->work_queue.empty()) {
|
||||
auto work = self->work_queue.back();
|
||||
self->work_queue.pop_back();
|
||||
|
||||
work_queue_lock.unlock();
|
||||
#if defined(__APPLE__)
|
||||
@autoreleasepool {
|
||||
work.func();
|
||||
}
|
||||
#else
|
||||
work.func();
|
||||
#endif
|
||||
work_queue_lock.lock();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef TimerEnabled
|
||||
void dispatch_queue::impl::timer_thread_proc(dispatch_queue::impl *self)
|
||||
{
|
||||
timer_lock timer_lock(self->timer_mtx);
|
||||
self->timer_cond.notify_one();
|
||||
self->timer_thread_started = true;
|
||||
|
||||
while (self->quit == false)
|
||||
{
|
||||
if (self->timers.empty()) {
|
||||
self->timer_cond.wait(timer_lock, [&] { return self->quit || !self->timers.empty(); });
|
||||
}
|
||||
|
||||
while (!self->timers.empty())
|
||||
{
|
||||
auto const& work = self->timers.top();
|
||||
if (self->timer_cond.wait_until(timer_lock, work.expiry, [&] { return self->quit.load(); })) {
|
||||
break;
|
||||
}
|
||||
|
||||
{
|
||||
work_queue_lock _(self->work_queue_mtx);
|
||||
auto where = std::find_if(self->work_queue.rbegin(),
|
||||
self->work_queue.rend(),
|
||||
[] (work_entry const &w) { return !w.from_timer; });
|
||||
self->work_queue.insert(where.base(), work);
|
||||
self->timers.pop();
|
||||
self->work_queue_cond.notify_one();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
dispatch_queue::impl::impl(std::string name)
|
||||
: quit(false)
|
||||
, name(name)
|
||||
, work_queue_thread_started(false)
|
||||
#ifdef TimerEnabled
|
||||
, timer_thread_started(false)
|
||||
#endif
|
||||
{
|
||||
work_queue_lock work_queue_lock(work_queue_mtx);
|
||||
#ifdef TimerEnabled
|
||||
timer_lock timer_lock(timer_mtx);
|
||||
#endif
|
||||
|
||||
work_queue_thread = std::thread(dispatch_thread_proc, this);
|
||||
#ifdef TimerEnabled
|
||||
timer_thread = std::thread(timer_thread_proc, this);
|
||||
#endif
|
||||
|
||||
work_queue_cond.wait(work_queue_lock, [this] { return work_queue_thread_started.load(); });
|
||||
#ifdef TimerEnabled
|
||||
timer_cond.wait(timer_lock, [this] { return timer_thread_started.load(); });
|
||||
#endif
|
||||
}
|
||||
|
||||
dispatch_queue::dispatch_queue(std::string name) : m(new impl(name))
|
||||
{
|
||||
thread_id = m->work_queue_thread.get_id();
|
||||
}
|
||||
|
||||
dispatch_queue::~dispatch_queue()
|
||||
{
|
||||
dispatch_async([this] { m->quit = true; });
|
||||
m->work_queue_thread.join();
|
||||
#ifdef TimerEnabled
|
||||
{
|
||||
impl::timer_lock _(m->timer_mtx);
|
||||
m->timer_cond.notify_one();
|
||||
}
|
||||
m->timer_thread.join();
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void dispatch_queue::dispatch_async(std::function< void() > func)
|
||||
{
|
||||
impl::work_queue_lock _(m->work_queue_mtx);
|
||||
m->work_queue.push_front(work_entry(func));
|
||||
m->work_queue_cond.notify_one();
|
||||
}
|
||||
|
||||
void dispatch_queue::dispatch_sync(std::function< void() > func)
|
||||
{
|
||||
std::mutex sync_mtx;
|
||||
impl::work_queue_lock work_queue_lock(sync_mtx);
|
||||
std::condition_variable sync_cond;
|
||||
std::atomic< bool > completed(false);
|
||||
|
||||
{
|
||||
impl::work_queue_lock _(m->work_queue_mtx);
|
||||
m->work_queue.push_front(work_entry(func));
|
||||
m->work_queue.push_front(work_entry([&] {
|
||||
std::unique_lock< decltype(sync_mtx) > sync_cb_lock(sync_mtx);
|
||||
completed = true;
|
||||
sync_cond.notify_one();
|
||||
}));
|
||||
|
||||
m->work_queue_cond.notify_one();
|
||||
}
|
||||
|
||||
sync_cond.wait(work_queue_lock, [&] { return completed.load(); });
|
||||
}
|
||||
|
||||
#ifdef TimerEnabled
|
||||
void dispatch_queue::dispatch_after(int msec, std::function< void() > func)
|
||||
{
|
||||
impl::timer_lock _(m->timer_mtx);
|
||||
m->timers.push(work_entry(func, std::chrono::steady_clock::now() + std::chrono::milliseconds(msec)));
|
||||
m->timer_cond.notify_one();
|
||||
}
|
||||
#endif
|
||||
|
||||
void dispatch_queue::dispatch_flush()
|
||||
{
|
||||
dispatch_sync([]{});
|
||||
}
|
||||
|
||||
bool dispatch_queue::isCurrent()
|
||||
{
|
||||
bool result = std::this_thread::get_id() == thread_id;
|
||||
return result;
|
||||
}
|
||||
|
30
mediapipe/render/core/dispatch_queue.h
Executable file
30
mediapipe/render/core/dispatch_queue.h
Executable file
|
@ -0,0 +1,30 @@
|
|||
#pragma once
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <thread>
|
||||
|
||||
//#define TimerEnabled
|
||||
|
||||
class dispatch_queue
|
||||
{
|
||||
public:
|
||||
dispatch_queue(std::string name);
|
||||
~dispatch_queue();
|
||||
|
||||
void dispatch_async(std::function< void() > func);
|
||||
void dispatch_sync(std::function< void() > func);
|
||||
#ifdef TimerEnabled
|
||||
void dispatch_after(int msec, std::function< void() > func);
|
||||
#endif
|
||||
void dispatch_flush();
|
||||
bool isCurrent();
|
||||
|
||||
dispatch_queue(dispatch_queue const&) = delete;
|
||||
dispatch_queue& operator =(dispatch_queue const&) = delete;
|
||||
|
||||
private:
|
||||
struct impl;
|
||||
std::unique_ptr< impl > m;
|
||||
std::thread::id thread_id;
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// AppDelegate.h
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
//
|
||||
// AppDelegate.m
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
@interface AppDelegate ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
// Override point for customization after application launch.
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - UISceneSession lifecycle
|
||||
|
||||
|
||||
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {
|
||||
// Called when a new scene session is being created.
|
||||
// Use this method to select a configuration to create the new scene with.
|
||||
return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
|
||||
}
|
||||
|
||||
|
||||
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions {
|
||||
// Called when the user discards a scene session.
|
||||
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
|
||||
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
|
||||
}
|
||||
|
||||
|
||||
@end
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"colors" : [
|
||||
{
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
|
@ -0,0 +1,89 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="hPD-AD-sEe">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="4Ey-qT-eRu">
|
||||
<rect key="frame" x="132" y="248" width="150" height="400"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kns-nk-97a">
|
||||
<rect key="frame" x="0.0" y="0.0" width="150" height="400"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="plain" title="FaceMesh美颜"/>
|
||||
<connections>
|
||||
<segue destination="66D-Sf-OeN" kind="show" id="Li1-U8-wx8"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="150" id="8e4-BY-xwO"/>
|
||||
<constraint firstAttribute="height" constant="400" id="iYr-8x-XFy"/>
|
||||
</constraints>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="4Ey-qT-eRu" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="2Cr-OP-uN9"/>
|
||||
<constraint firstItem="4Ey-qT-eRu" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="Ybl-5l-UEg"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="5c9-f8-9wR"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-10.144927536231885" y="-64.285714285714278"/>
|
||||
</scene>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="BB9-62-CGs">
|
||||
<objects>
|
||||
<viewController id="66D-Sf-OeN" customClass="ViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="EHM-a4-BrR">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<viewLayoutGuide key="safeArea" id="WKa-bR-2Tm"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="wif-zJ-1ej"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="BRq-X0-XYH" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="706" y="62"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="xjP-C5-pyr">
|
||||
<objects>
|
||||
<navigationController id="hPD-AD-sEe" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="kPG-Jy-rFX">
|
||||
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="mhY-vM-lxl"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="zm3-fc-Fll" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-781" y="-93"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>UIApplicationSceneManifest</key>
|
||||
<dict>
|
||||
<key>UIApplicationSupportsMultipleScenes</key>
|
||||
<false/>
|
||||
<key>UISceneConfigurations</key>
|
||||
<dict>
|
||||
<key>UIWindowSceneSessionRoleApplication</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>UISceneConfigurationName</key>
|
||||
<string>Default Configuration</string>
|
||||
<key>UISceneDelegateClassName</key>
|
||||
<string>SceneDelegate</string>
|
||||
<key>UISceneStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,15 @@
|
|||
//
|
||||
// SceneDelegate.h
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface SceneDelegate : UIResponder <UIWindowSceneDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow * window;
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
//
|
||||
// SceneDelegate.m
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import "SceneDelegate.h"
|
||||
|
||||
@interface SceneDelegate ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation SceneDelegate
|
||||
|
||||
|
||||
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
|
||||
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
|
||||
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
|
||||
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
|
||||
}
|
||||
|
||||
|
||||
- (void)sceneDidDisconnect:(UIScene *)scene {
|
||||
// Called as the scene is being released by the system.
|
||||
// This occurs shortly after the scene enters the background, or when its session is discarded.
|
||||
// Release any resources associated with this scene that can be re-created the next time the scene connects.
|
||||
// The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
|
||||
}
|
||||
|
||||
|
||||
- (void)sceneDidBecomeActive:(UIScene *)scene {
|
||||
// Called when the scene has moved from an inactive state to an active state.
|
||||
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
|
||||
}
|
||||
|
||||
|
||||
- (void)sceneWillResignActive:(UIScene *)scene {
|
||||
// Called when the scene will move from an active state to an inactive state.
|
||||
// This may occur due to temporary interruptions (ex. an incoming phone call).
|
||||
}
|
||||
|
||||
|
||||
- (void)sceneWillEnterForeground:(UIScene *)scene {
|
||||
// Called as the scene transitions from the background to the foreground.
|
||||
// Use this method to undo the changes made on entering the background.
|
||||
}
|
||||
|
||||
|
||||
- (void)sceneDidEnterBackground:(UIScene *)scene {
|
||||
// Called as the scene transitions from the foreground to the background.
|
||||
// Use this method to save data, release shared resources, and store enough scene-specific state information
|
||||
// to restore the scene back to its current state.
|
||||
}
|
||||
|
||||
|
||||
@end
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// ViewController.h
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ViewController : UIViewController
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,244 @@
|
|||
//
|
||||
// ViewController.m
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import "ViewController.h"
|
||||
#import <OlaCameraFramework/OlaMTLCameraRenderView.h>
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
|
||||
@interface ViewController () <AVCaptureVideoDataOutputSampleBufferDelegate,
|
||||
AVCaptureAudioDataOutputSampleBufferDelegate> {
|
||||
CFAbsoluteTime _startRunTime;
|
||||
CFAbsoluteTime _currentRunTIme;
|
||||
}
|
||||
|
||||
/**
|
||||
相机当前位置
|
||||
@return 0:后置 1:前置
|
||||
*/
|
||||
- (int)devicePosition;
|
||||
|
||||
/**
|
||||
切换前后摄像头
|
||||
*/
|
||||
- (void)rotateCamera;
|
||||
|
||||
- (void)startCapture;
|
||||
- (void)stopCapture;
|
||||
|
||||
- (void)pauseCapture;
|
||||
- (void)resumeCapture;
|
||||
|
||||
@property (nonatomic, strong) AVCaptureSession *captureSession;
|
||||
@property (nonatomic, retain) AVCaptureDevice *captureDevice;
|
||||
@property (nonatomic, strong) AVCaptureDeviceInput *videoInput;
|
||||
@property (nonatomic, strong) AVCaptureVideoDataOutput *videoOutput;
|
||||
@property (nonatomic, strong) AVCaptureAudioDataOutput *audioOutput;
|
||||
@property (nonatomic, assign) CGSize cameraSize;
|
||||
@property (nonatomic, assign) int pixelFormatType;
|
||||
@property (nonatomic, assign) CGSize previewSize;
|
||||
|
||||
@property (nonatomic, assign) BOOL isCapturePaused;
|
||||
@property (nonatomic, strong) OlaMTLCameraRenderView *renderView;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@implementation ViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.pixelFormatType = kCVPixelFormatType_420YpCbCr8BiPlanarFullRange;
|
||||
_cameraSize = CGSizeMake(1280, 720);
|
||||
if (abs(_currentRunTIme - 0) < 0.0001) {
|
||||
_startRunTime = CFAbsoluteTimeGetCurrent();
|
||||
_currentRunTIme = 0.;
|
||||
}
|
||||
|
||||
[self setupSession];
|
||||
}
|
||||
|
||||
- (void)viewDidLayoutSubviews
|
||||
{
|
||||
[super viewDidLayoutSubviews];
|
||||
if (CGSizeEqualToSize(self.previewSize, self.view.bounds.size)) {
|
||||
return;
|
||||
}
|
||||
_previewSize = self.view.bounds.size;
|
||||
[self setupRenderView];
|
||||
[self.renderView setNeedFlip:YES];
|
||||
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated
|
||||
{
|
||||
[super viewWillAppear:animated];
|
||||
[self startCapture];
|
||||
}
|
||||
|
||||
- (void)setupSession {
|
||||
self.captureSession = [[AVCaptureSession alloc] init];
|
||||
[self.captureSession beginConfiguration];
|
||||
|
||||
// 设置换面尺寸
|
||||
[self.captureSession setSessionPreset:AVCaptureSessionPreset1280x720];
|
||||
// 设置输入设备
|
||||
AVCaptureDevice *inputCamera = nil;
|
||||
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
|
||||
for (AVCaptureDevice *device in devices) {
|
||||
if ([device position] == AVCaptureDevicePositionFront) {
|
||||
inputCamera = device;
|
||||
self.captureDevice = device;
|
||||
}
|
||||
}
|
||||
|
||||
if (!inputCamera) {
|
||||
return;
|
||||
}
|
||||
|
||||
NSError *error = nil;
|
||||
_videoInput = [[AVCaptureDeviceInput alloc] initWithDevice:inputCamera error:&error];
|
||||
if ([self.captureSession canAddInput:_videoInput]) {
|
||||
[self.captureSession addInput:_videoInput];
|
||||
}
|
||||
|
||||
// 设置输出数据
|
||||
_videoOutput = [[AVCaptureVideoDataOutput alloc] init];
|
||||
[_videoOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:self.pixelFormatType]
|
||||
forKey:(id)kCVPixelBufferPixelFormatTypeKey]];
|
||||
[_videoOutput setSampleBufferDelegate:self queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];
|
||||
|
||||
if ([self.captureSession canAddOutput:_videoOutput]) {
|
||||
[self.captureSession addOutput:_videoOutput];
|
||||
}
|
||||
|
||||
//[self setupAudioCapture]; // 音频
|
||||
|
||||
[self.captureSession commitConfiguration];
|
||||
|
||||
NSDictionary* outputSettings = [_videoOutput videoSettings];
|
||||
for(AVCaptureDeviceFormat *vFormat in [self.captureDevice formats]) {
|
||||
CMFormatDescriptionRef description= vFormat.formatDescription;
|
||||
float maxrate = ((AVFrameRateRange*)[vFormat.videoSupportedFrameRateRanges objectAtIndex:0]).maxFrameRate;
|
||||
|
||||
CMVideoDimensions dimensions = CMVideoFormatDescriptionGetDimensions(description);
|
||||
FourCharCode formatType = CMFormatDescriptionGetMediaSubType(description);
|
||||
if(maxrate == 30 && formatType == kCVPixelFormatType_420YpCbCr8BiPlanarFullRange &&
|
||||
dimensions.width ==[[outputSettings objectForKey:@"Width"] intValue] &&
|
||||
dimensions.height ==[[outputSettings objectForKey:@"Height"] intValue]) {
|
||||
if (YES == [self.captureDevice lockForConfiguration:NULL] ) {
|
||||
self.captureDevice.activeFormat = vFormat;
|
||||
[self.captureDevice setActiveVideoMinFrameDuration:CMTimeMake(1,24)];
|
||||
[self.captureDevice setActiveVideoMaxFrameDuration:CMTimeMake(1,24)];
|
||||
[self.captureDevice unlockForConfiguration];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setupRenderView {
|
||||
if(!self.renderView){
|
||||
_renderView = [[OlaMTLCameraRenderView alloc] initWithFrame:self.view.bounds];
|
||||
[self.renderView setBackgroundColor:[UIColor colorWithRed:0.9f green:0.9f blue:0.9f alpha:1.0f]];
|
||||
[self.view addSubview:self.renderView];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - <AVCaptureVideoDataOutputSampleBufferDelegate>
|
||||
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
||||
fromConnection:(AVCaptureConnection *)connection {
|
||||
if (self.isCapturePaused || !self.captureSession.isRunning) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (captureOutput == _videoOutput) {
|
||||
[self.renderView cameraSampleBufferArrive:sampleBuffer];
|
||||
}
|
||||
}
|
||||
|
||||
- (int)devicePosition
|
||||
{
|
||||
AVCaptureDevicePosition currentCameraPosition = [[self.videoInput device] position];
|
||||
if (currentCameraPosition == AVCaptureDevicePositionBack) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)rotateCamera {
|
||||
AVCaptureDevicePosition currentCameraPosition = [[self.videoInput device] position];
|
||||
if (currentCameraPosition == AVCaptureDevicePositionBack) {
|
||||
currentCameraPosition = AVCaptureDevicePositionFront;
|
||||
} else {
|
||||
currentCameraPosition = AVCaptureDevicePositionBack;
|
||||
}
|
||||
|
||||
AVCaptureDevice *backFacingCamera = nil;
|
||||
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
|
||||
for (AVCaptureDevice *device in devices) {
|
||||
if ([device position] == currentCameraPosition) {
|
||||
backFacingCamera = device;
|
||||
}
|
||||
}
|
||||
|
||||
NSError *error;
|
||||
AVCaptureDeviceInput *newVideoInput = [[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error];
|
||||
if (newVideoInput != nil) {
|
||||
[self.captureSession beginConfiguration];
|
||||
[self.captureSession setSessionPreset:AVCaptureSessionPreset1280x720];
|
||||
|
||||
[self.captureSession removeInput:self.videoInput];
|
||||
if ([self.captureSession canAddInput:newVideoInput]) {
|
||||
[self.captureSession addInput:newVideoInput];
|
||||
self.videoInput = newVideoInput;
|
||||
} else {
|
||||
[self.captureSession addInput:self.videoInput];
|
||||
}
|
||||
[self.captureSession commitConfiguration];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)startCapture {
|
||||
self.isCapturePaused = NO;
|
||||
if (self.captureSession && ![self.captureSession isRunning]) {
|
||||
[self.captureSession startRunning];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)stopCapture {
|
||||
self.isCapturePaused = YES;
|
||||
if (self.captureSession) {
|
||||
[self.videoOutput setSampleBufferDelegate:nil queue:nil];
|
||||
|
||||
[self.captureSession stopRunning];
|
||||
[self.captureSession removeInput:self.videoInput];
|
||||
[self.captureSession removeOutput:self.videoOutput];
|
||||
[self.captureSession removeOutput:self.audioOutput];
|
||||
|
||||
self.videoOutput = nil;
|
||||
self.videoInput = nil;
|
||||
self.captureSession = nil;
|
||||
self.captureDevice = nil;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)pauseCapture {
|
||||
self.isCapturePaused = YES;
|
||||
}
|
||||
|
||||
- (void)resumeCapture {
|
||||
self.isCapturePaused = NO;
|
||||
if (!self.captureSession.isRunning) {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
|
||||
if(!self.captureSession.isRunning){
|
||||
[self.captureSession startRunning];
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// main.m
|
||||
// OlapipeExample
|
||||
//
|
||||
// Created by 王韧竹 on 2022/7/14.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
NSString * appDelegateClassName;
|
||||
@autoreleasepool {
|
||||
// Setup code that might create autoreleased objects goes here.
|
||||
appDelegateClassName = NSStringFromClass([AppDelegate class]);
|
||||
}
|
||||
return UIApplicationMain(argc, argv, nil, appDelegateClassName);
|
||||
}
|
|
@ -122,8 +122,10 @@ struct TextureScale {
|
|||
self.device = device;
|
||||
__unused NSError *error;
|
||||
_offscreenCameraTexture = cameraTexture;
|
||||
NSBundle *bundle = [NSBundle mainBundle];
|
||||
NSURL *shaderURL = [bundle URLForResource:@"OlaFramework" withExtension:@"metallib"];
|
||||
NSBundle *bundle = [NSBundle bundleForClass:[OlaMTLCameraRender class]];
|
||||
|
||||
|
||||
NSURL *shaderURL = [bundle URLForResource:@"OlaCameraMetalLibrary" withExtension:@"metallib"];
|
||||
if (@available(iOS 11.0, *)) {
|
||||
if (shaderURL) {
|
||||
self.library = [self.device newLibraryWithURL:shaderURL error:&error];
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"additionalFilePaths" : [
|
||||
"mediapipe/render/ios/camera/BUILD"
|
||||
],
|
||||
"buildTargets" : [
|
||||
"//mediapipe/render/ios/camera:OlaCamera",
|
||||
"//mediapipe/render/ios/camera:OlaCameraFramework"
|
||||
],
|
||||
"optionSet" : {
|
||||
"CLANG_CXX_LANGUAGE_STANDARD" : {
|
||||
"p" : "c++17"
|
||||
},
|
||||
"ProjectGenerationPlatformConfiguration" : {
|
||||
"p" : "ios_arm64"
|
||||
}
|
||||
},
|
||||
"projectName" : "OlaVideo",
|
||||
"sourceFilters" : [
|
||||
"mediapipe/render/ios/camera"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Stub Info.plist (do not edit)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Stub Info.plist for a watchOS app extension (do not edit)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionPointIdentifier</key>
|
||||
<string>com.apple.watchkit</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Stub Info.plist for a watchOS app (do not edit)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>WKWatchKitApp</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>application-identifier</key>
|
||||
<string>$(TeamIdentifier).$(BundleIdentifier)</string>
|
||||
<key>com.apple.developer.team-identifier</key>
|
||||
<string>$(TeamIdentifier)</string>
|
||||
<key>get-task-allow</key>
|
||||
<true/>
|
||||
<key>keychain-access-groups</key>
|
||||
<array>
|
||||
<string>$(TeamIdentifier).$(BundleIdentifier)</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>$(BundleIdentifier)</string>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.temporary-exception.files.absolute-path.read-only</key>
|
||||
<array>
|
||||
<string>/</string>
|
||||
<string>/</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
|
||||
<array>
|
||||
<string>com.apple.coresymbolicationd</string>
|
||||
<string>com.apple.testmanagerd</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.mach-lookup.local-name</key>
|
||||
<array>
|
||||
<string>com.apple.axserver</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.sbpl</key>
|
||||
<array>
|
||||
<string>(allow network-outbound (subpath "/private/tmp"))</string>
|
||||
<string>(allow hid-control)</string>
|
||||
<string>(allow signal)</string>
|
||||
<string>(allow network-outbound (subpath "/private/tmp"))</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,115 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Copy on write with similar behavior to shutil.copy2, when available."""
|
||||
|
||||
import errno
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
|
||||
def _APFSCheck(volume_path):
|
||||
"""Reports if the given path belongs to an APFS volume.
|
||||
|
||||
Args:
|
||||
volume_path: Absolute path to the volume we want to test.
|
||||
|
||||
Returns:
|
||||
True if the volume has been formatted as APFS.
|
||||
False if not.
|
||||
"""
|
||||
output = subprocess.check_output(['diskutil', 'info', volume_path],
|
||||
encoding='utf-8')
|
||||
# Match the output's "Type (Bundle): ..." entry to determine if apfs.
|
||||
target_fs = re.search(r'(?:Type \(Bundle\):) +([^ ]+)', output)
|
||||
if not target_fs:
|
||||
return False
|
||||
filesystem = target_fs.group(1)
|
||||
if 'apfs' not in filesystem:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def _IsOnDevice(path, st_dev):
|
||||
"""Checks if a given path belongs to a FS on a given device.
|
||||
|
||||
Args:
|
||||
path: a filesystem path, possibly to a non-existent file or directory.
|
||||
st_dev: the ID of a device with a filesystem, as in os.stat(...).st_dev.
|
||||
|
||||
Returns:
|
||||
True if the path or (if the path does not exist) its closest existing
|
||||
ancestor exists on the device.
|
||||
False if not.
|
||||
"""
|
||||
if not os.path.isabs(path):
|
||||
path = os.path.abspath(path)
|
||||
try:
|
||||
return os.stat(path).st_dev == st_dev
|
||||
except OSError as err:
|
||||
if err.errno == errno.ENOENT:
|
||||
dirname = os.path.dirname(path)
|
||||
if len(dirname) < len(path):
|
||||
return _IsOnDevice(dirname, st_dev)
|
||||
return False
|
||||
|
||||
# At launch, determine if the root filesystem is APFS.
|
||||
IS_ROOT_APFS = _APFSCheck('/')
|
||||
|
||||
# At launch, determine the root filesystem device ID.
|
||||
ROOT_ST_DEV = os.stat('/').st_dev
|
||||
|
||||
|
||||
def CopyOnWrite(source, dest, tree=False):
|
||||
"""Invokes cp -c to perform a CoW copy2 of all files, like clonefile(2).
|
||||
|
||||
Args:
|
||||
source: Source path to copy.
|
||||
dest: Destination for copying.
|
||||
tree: "True" to copy all child files and folders, like shutil.copytree().
|
||||
"""
|
||||
# Note that this is based on cp, so permissions are copied, unlike shutil's
|
||||
# copyfile method.
|
||||
#
|
||||
# Identical to shutil's copy2 method, used by shutil's move and copytree.
|
||||
cmd = ['cp']
|
||||
if IS_ROOT_APFS and _IsOnDevice(source, ROOT_ST_DEV) and _IsOnDevice(
|
||||
dest, ROOT_ST_DEV):
|
||||
# Copy on write (clone) is possible if both source and destination reside in
|
||||
# the same APFS volume. For simplicity, and since checking FS type can be
|
||||
# expensive, allow CoW only for the root volume.
|
||||
cmd.append('-c')
|
||||
if tree:
|
||||
# Copy recursively if indicated.
|
||||
cmd.append('-R')
|
||||
# Follow symlinks, emulating shutil.copytree defaults.
|
||||
cmd.append('-L')
|
||||
# Preserve all possible file attributes and permissions (copystat/copy2).
|
||||
cmd.extend(['-p', source, dest])
|
||||
try:
|
||||
# Attempt the copy action with cp.
|
||||
subprocess.check_output(cmd)
|
||||
except subprocess.CalledProcessError:
|
||||
# If -c is not supported, use shutil's copy2-based methods directly.
|
||||
if tree:
|
||||
# A partial tree might be left over composed of dirs but no files.
|
||||
# Remove them with rmtree so that they don't interfere with copytree.
|
||||
if os.path.exists(dest):
|
||||
shutil.rmtree(dest)
|
||||
shutil.copytree(source, dest)
|
||||
else:
|
||||
shutil.copy2(source, dest)
|
1863
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/bazel_build.py
Executable file
1863
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/bazel_build.py
Executable file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,136 @@
|
|||
# Copyright 2017 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the 'License');
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an 'AS IS' BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Parses a stream of JSON build event protocol messages from a file."""
|
||||
|
||||
import json
|
||||
|
||||
|
||||
class _FileLineReader(object):
|
||||
"""Reads lines from a streaming file.
|
||||
|
||||
This will repeatedly check the file for an entire line to read. It will
|
||||
buffer partial lines until they are completed.
|
||||
This is meant for files that are being modified by an long-living external
|
||||
program.
|
||||
"""
|
||||
|
||||
def __init__(self, file_obj):
|
||||
"""Creates a new FileLineReader object.
|
||||
|
||||
Args:
|
||||
file_obj: The file object to watch.
|
||||
|
||||
Returns:
|
||||
A FileLineReader instance.
|
||||
"""
|
||||
self._file_obj = file_obj
|
||||
self._buffer = []
|
||||
|
||||
def check_for_changes(self):
|
||||
"""Checks the file for any changes, returning the line read if any."""
|
||||
line = self._file_obj.readline()
|
||||
self._buffer.append(line)
|
||||
|
||||
# Only parse complete lines.
|
||||
if not line.endswith('\n'):
|
||||
return None
|
||||
full_line = ''.join(self._buffer)
|
||||
del self._buffer[:]
|
||||
return full_line
|
||||
|
||||
|
||||
class BazelBuildEvent(object):
|
||||
"""Represents a Bazel Build Event.
|
||||
|
||||
Public Properties:
|
||||
event_dict: the source dictionary for this event.
|
||||
stdout: stdout string, if any.
|
||||
stderr: stderr string, if any.
|
||||
files: list of file URIs.
|
||||
"""
|
||||
|
||||
def __init__(self, event_dict):
|
||||
"""Creates a new BazelBuildEvent object.
|
||||
|
||||
Args:
|
||||
event_dict: Dictionary representing a build event
|
||||
|
||||
Returns:
|
||||
A BazelBuildEvent instance.
|
||||
"""
|
||||
self.event_dict = event_dict
|
||||
self.stdout = None
|
||||
self.stderr = None
|
||||
self.files = []
|
||||
if 'progress' in event_dict:
|
||||
self._update_fields_for_progress(event_dict['progress'])
|
||||
if 'namedSetOfFiles' in event_dict:
|
||||
self._update_fields_for_named_set_of_files(event_dict['namedSetOfFiles'])
|
||||
|
||||
def _update_fields_for_progress(self, progress_dict):
|
||||
self.stdout = progress_dict.get('stdout')
|
||||
self.stderr = progress_dict.get('stderr')
|
||||
|
||||
def _update_fields_for_named_set_of_files(self, named_set):
|
||||
files = named_set.get('files', [])
|
||||
for file_obj in files:
|
||||
uri = file_obj.get('uri', '')
|
||||
if uri.startswith('file://'):
|
||||
self.files.append(uri[7:])
|
||||
|
||||
|
||||
class BazelBuildEventsWatcher(object):
|
||||
"""Watches a build events JSON file."""
|
||||
|
||||
def __init__(self, json_file, warning_handler=None):
|
||||
"""Creates a new BazelBuildEventsWatcher object.
|
||||
|
||||
Args:
|
||||
json_file: The JSON file object to watch.
|
||||
warning_handler: Handler function for warnings accepting a single string.
|
||||
|
||||
Returns:
|
||||
A BazelBuildEventsWatcher instance.
|
||||
"""
|
||||
self.file_reader = _FileLineReader(json_file)
|
||||
self.warning_handler = warning_handler
|
||||
self._read_any_events = False
|
||||
|
||||
def has_read_events(self):
|
||||
return self._read_any_events
|
||||
|
||||
def check_for_new_events(self):
|
||||
"""Checks the file for new BazelBuildEvents.
|
||||
|
||||
Returns:
|
||||
A list of all new BazelBuildEvents.
|
||||
"""
|
||||
new_events = []
|
||||
while True:
|
||||
line = self.file_reader.check_for_changes()
|
||||
if not line:
|
||||
break
|
||||
try:
|
||||
build_event_dict = json.loads(line)
|
||||
except (UnicodeDecodeError, ValueError) as e:
|
||||
handler = self.warning_handler
|
||||
if handler:
|
||||
handler('Could not decode BEP event "%s"\n' % line)
|
||||
handler('Received error of %s, "%s"\n' % (type(e), e))
|
||||
break
|
||||
self._read_any_events = True
|
||||
build_event = BazelBuildEvent(build_event_dict)
|
||||
new_events.append(build_event)
|
||||
return new_events
|
|
@ -0,0 +1,274 @@
|
|||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#
|
||||
# Generated by Tulsi to resolve flags during builds.
|
||||
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
def _StandardizeTargetLabel(label):
|
||||
"""Convert labels of form //dir/target to //dir/target:target."""
|
||||
if label is None:
|
||||
return label
|
||||
if not label.startswith('//') and not label.startswith('@'):
|
||||
sys.stderr.write('[WARNING] Target label "{0}" is not fully qualified. '
|
||||
'Labels should start with "@" or "//".\n\n'.format(label))
|
||||
sys.stderr.flush()
|
||||
tokens = label.rsplit('/', 1)
|
||||
if len(tokens) <= 1:
|
||||
return label
|
||||
|
||||
target_base = tokens[0]
|
||||
target = tokens[1]
|
||||
|
||||
if '...' in target or ':' in target:
|
||||
return label
|
||||
return label + ':' + target
|
||||
|
||||
|
||||
class BazelFlags(object):
|
||||
"""Represents Bazel flags."""
|
||||
|
||||
def __init__(self, startup = [], build = []):
|
||||
self.startup = startup
|
||||
self.build = build
|
||||
|
||||
|
||||
class BazelFlagsSet(object):
|
||||
"""Represents a set of Bazel flags which can vary by compilation mode."""
|
||||
|
||||
def __init__(self, debug = None, release = None, flags = None):
|
||||
if debug is None:
|
||||
debug = flags or BazelFlags()
|
||||
if release is None:
|
||||
release = flags or BazelFlags()
|
||||
|
||||
self.debug = debug
|
||||
self.release = release
|
||||
|
||||
def flags(self, is_debug):
|
||||
"""Returns the proper flags (either debug or release)."""
|
||||
return self.debug if is_debug else self.release
|
||||
|
||||
|
||||
class BazelBuildSettings(object):
|
||||
"""Represents a Tulsi project's Bazel settings."""
|
||||
|
||||
def __init__(self, bazel, bazelExecRoot, bazelOutputBase,
|
||||
defaultPlatformConfigId, platformConfigFlags,
|
||||
swiftTargets,
|
||||
cacheAffecting, cacheSafe,
|
||||
swiftOnly, nonSwiftOnly,
|
||||
swiftFeatures, nonSwiftFeatures,
|
||||
projDefault, projTargetMap):
|
||||
self.bazel = bazel
|
||||
self.bazelExecRoot = bazelExecRoot
|
||||
self.bazelOutputBase = bazelOutputBase
|
||||
self.defaultPlatformConfigId = defaultPlatformConfigId
|
||||
self.platformConfigFlags = platformConfigFlags
|
||||
self.swiftTargets = swiftTargets
|
||||
self.cacheAffecting = cacheAffecting
|
||||
self.cacheSafe = cacheSafe
|
||||
self.swiftOnly = swiftOnly
|
||||
self.nonSwiftOnly = nonSwiftOnly
|
||||
self.swiftFeatures = swiftFeatures
|
||||
self.nonSwiftFeatures = nonSwiftFeatures
|
||||
self.projDefault = projDefault
|
||||
self.projTargetMap = projTargetMap
|
||||
|
||||
def features_for_target(self, target, is_swift_override=None):
|
||||
"""Returns an array of enabled features for the given target."""
|
||||
|
||||
target = _StandardizeTargetLabel(target)
|
||||
is_swift = target in self.swiftTargets
|
||||
if is_swift_override is not None:
|
||||
is_swift = is_swift_override
|
||||
|
||||
return self.swiftFeatures if is_swift else self.nonSwiftFeatures
|
||||
|
||||
def flags_for_target(self, target, is_debug,
|
||||
config, is_swift_override=None):
|
||||
"""Returns (bazel, startup flags, build flags) for the given target."""
|
||||
|
||||
target = _StandardizeTargetLabel(target)
|
||||
target_flag_set = self.projTargetMap.get(target)
|
||||
if not target_flag_set:
|
||||
target_flag_set = self.projDefault
|
||||
|
||||
is_swift = target in self.swiftTargets
|
||||
if is_swift_override is not None:
|
||||
is_swift = is_swift_override
|
||||
lang = self.swiftOnly if is_swift else self.nonSwiftOnly
|
||||
|
||||
config_flags = self.platformConfigFlags[config]
|
||||
cache_affecting = self.cacheAffecting.flags(is_debug)
|
||||
cache_safe = self.cacheSafe.flags(is_debug)
|
||||
target = target_flag_set.flags(is_debug)
|
||||
lang = lang.flags(is_debug)
|
||||
|
||||
startupFlags = []
|
||||
startupFlags.extend(target.startup)
|
||||
startupFlags.extend(cache_safe.startup)
|
||||
startupFlags.extend(cache_affecting.startup)
|
||||
startupFlags.extend(lang.startup)
|
||||
|
||||
buildFlags = []
|
||||
buildFlags.extend(target.build)
|
||||
buildFlags.extend(config_flags)
|
||||
buildFlags.extend(cache_safe.build)
|
||||
buildFlags.extend(cache_affecting.build)
|
||||
buildFlags.extend(lang.build)
|
||||
|
||||
return (self.bazel, startupFlags, buildFlags)
|
||||
|
||||
# Default value in case the template does not behave as expected.
|
||||
BUILD_SETTINGS = None
|
||||
|
||||
# Generated by Tulsi. DO NOT EDIT.
|
||||
BUILD_SETTINGS = BazelBuildSettings(
|
||||
'/opt/homebrew/Cellar/bazelisk/1.12.0/bin/bazelisk',
|
||||
'/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc/execroot/mediapipe',
|
||||
'/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc',
|
||||
'ios_arm64',
|
||||
{
|
||||
'watchos_i386': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'macos_arm64': [
|
||||
'--apple_platform_type=macos',
|
||||
'--cpu=darwin_arm64',
|
||||
],
|
||||
'macos_x86_64': [
|
||||
'--apple_platform_type=macos',
|
||||
'--cpu=darwin_x86_64',
|
||||
],
|
||||
'ios_i386': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_i386',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'watchos_arm64_32': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'macos_arm64e': [
|
||||
'--apple_platform_type=macos',
|
||||
'--cpu=darwin_arm64e',
|
||||
],
|
||||
'watchos_x86_64': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'ios_x86_64': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_x86_64',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'ios_arm64': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_arm64',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'tvos_arm64': [
|
||||
'--apple_platform_type=tvos',
|
||||
'--tvos_cpus=arm64',
|
||||
],
|
||||
'ios_armv7': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_armv7',
|
||||
'--watchos_cpus=armv7k',
|
||||
],
|
||||
'tvos_x86_64': [
|
||||
'--apple_platform_type=tvos',
|
||||
'--tvos_cpus=x86_64',
|
||||
],
|
||||
'ios_arm64e': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_arm64e',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'ios_sim_arm64': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_sim_arm64',
|
||||
'--watchos_cpus=armv7k',
|
||||
],
|
||||
'watchos_armv7k': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
},
|
||||
set(),
|
||||
BazelFlagsSet(
|
||||
debug = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--override_repository=tulsi=/Users/wangrenzhu/Library/Application Support/Tulsi/0.20220209.88/Bazel',
|
||||
'--compilation_mode=dbg',
|
||||
'--define=apple.add_debugger_entitlement=1',
|
||||
'--define=apple.propagate_embedded_extra_outputs=1',
|
||||
],
|
||||
),
|
||||
release = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--override_repository=tulsi=/Users/wangrenzhu/Library/Application Support/Tulsi/0.20220209.88/Bazel',
|
||||
'--compilation_mode=opt',
|
||||
'--strip=always',
|
||||
'--apple_generate_dsym',
|
||||
'--define=apple.add_debugger_entitlement=1',
|
||||
'--define=apple.propagate_embedded_extra_outputs=1',
|
||||
],
|
||||
),
|
||||
),
|
||||
BazelFlagsSet(
|
||||
flags = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--announce_rc',
|
||||
],
|
||||
),
|
||||
),
|
||||
BazelFlagsSet(
|
||||
flags = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--define=apple.experimental.tree_artifact_outputs=1',
|
||||
'--features=debug_prefix_map_pwd_is_dot',
|
||||
],
|
||||
),
|
||||
),
|
||||
BazelFlagsSet(
|
||||
flags = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--define=apple.experimental.tree_artifact_outputs=1',
|
||||
'--features=debug_prefix_map_pwd_is_dot',
|
||||
],
|
||||
),
|
||||
),
|
||||
[
|
||||
'TreeArtifactOutputs',
|
||||
'DebugPathNormalization',
|
||||
],
|
||||
[
|
||||
'TreeArtifactOutputs',
|
||||
'DebugPathNormalization',
|
||||
],
|
||||
BazelFlagsSet(),
|
||||
{},
|
||||
)
|
||||
|
54
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/bazel_clean.sh
Executable file
54
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/bazel_clean.sh
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2016 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#
|
||||
# Bridge between Xcode and Bazel for the "clean" action.
|
||||
#
|
||||
# Usage: bazel_clean.sh <bazel_binary_path> <bazel_binary_output_path> <bazel startup options>
|
||||
# Note that the ACTION environment variable is expected to be set to "clean".
|
||||
|
||||
set -eu
|
||||
|
||||
readonly bazel_executable="$1"; shift
|
||||
readonly bazel_bin_dir="$1"; shift
|
||||
|
||||
if [ -z $# ]; then
|
||||
readonly arguments=(clean)
|
||||
else
|
||||
readonly arguments=("$@" clean)
|
||||
fi
|
||||
|
||||
if [[ "${ACTION}" != "clean" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Removes a directory if it exists and is not a symlink.
|
||||
function remove_dir() {
|
||||
directory="$1"
|
||||
|
||||
if [[ -d "${directory}" && ! -L "${directory}" ]]; then
|
||||
rm -r "${directory}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Xcode may have generated a bazel-bin directory after a previous clean.
|
||||
# Remove it to prevent a useless warning.
|
||||
remove_dir "${bazel_bin_dir}"
|
||||
|
||||
(
|
||||
set -x
|
||||
"${bazel_executable}" "${arguments[@]}"
|
||||
)
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# Copyright 2017 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the 'License');
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an 'AS IS' BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Logic to translate Xcode options to Bazel options."""
|
||||
|
||||
|
||||
class BazelOptions(object):
|
||||
"""Converts Xcode features into Bazel command line flags."""
|
||||
|
||||
def __init__(self, xcode_env):
|
||||
"""Creates a new BazelOptions object.
|
||||
|
||||
Args:
|
||||
xcode_env: A dictionary of Xcode environment variables.
|
||||
|
||||
Returns:
|
||||
A BazelOptions instance.
|
||||
"""
|
||||
self.xcode_env = xcode_env
|
||||
|
||||
def bazel_feature_flags(self):
|
||||
"""Returns a list of bazel flags for the current Xcode env configuration."""
|
||||
flags = []
|
||||
if self.xcode_env.get('ENABLE_ADDRESS_SANITIZER') == 'YES':
|
||||
flags.append('--features=asan')
|
||||
if self.xcode_env.get('ENABLE_THREAD_SANITIZER') == 'YES':
|
||||
flags.append('--features=tsan')
|
||||
if self.xcode_env.get('ENABLE_UNDEFINED_BEHAVIOR_SANITIZER') == 'YES':
|
||||
flags.append('--features=ubsan')
|
||||
|
||||
return flags
|
|
@ -0,0 +1,187 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Bootstraps the presence and setup of ~/.lldbinit-tulsiproj."""
|
||||
|
||||
import io
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
|
||||
TULSI_LLDBINIT_FILE = os.path.expanduser('~/.lldbinit-tulsiproj')
|
||||
|
||||
CHANGE_NEEDED = 0
|
||||
NO_CHANGE = 1
|
||||
NOT_FOUND = 2
|
||||
|
||||
|
||||
class BootstrapLLDBInit(object):
|
||||
"""Bootstrap Xcode's preferred lldbinit for Bazel debugging."""
|
||||
|
||||
def _ExtractLLDBInitContent(self, lldbinit_path, source_string,
|
||||
add_source_string):
|
||||
"""Extracts non-Tulsi content in a given lldbinit if needed.
|
||||
|
||||
Args:
|
||||
lldbinit_path: Absolute path to the lldbinit we are writing to.
|
||||
source_string: String that we wish to write or remove from the lldbinit.
|
||||
add_source_string: Boolean indicating whether we intend to write or remove
|
||||
the source string.
|
||||
|
||||
Returns:
|
||||
(int, [string]): A tuple featuring the status code along with the list
|
||||
of strings representing content to write to lldbinit
|
||||
that does not account for the Tulsi-generated strings.
|
||||
Status code will be 0 if Tulsi-generated strings are
|
||||
not all there. Status code will be 1 if we intend to
|
||||
write Tulsi strings and all strings were accounted for.
|
||||
Alternatively, if we intend to remove the Tulsi strings,
|
||||
the status code will be 1 if none of the strings were
|
||||
found. Status code will be 2 if the lldbinit file could
|
||||
not be found.
|
||||
"""
|
||||
if not os.path.isfile(lldbinit_path):
|
||||
return (NOT_FOUND, [])
|
||||
content = []
|
||||
with open(lldbinit_path) as f:
|
||||
ignoring = False
|
||||
|
||||
# Split on the newline. This works as long as the last string isn't
|
||||
# suffixed with \n.
|
||||
source_lines = source_string.split('\n')
|
||||
|
||||
source_idx = 0
|
||||
|
||||
# If the last line was suffixed with \n, last elements would be length
|
||||
# minus 2, accounting for the extra \n.
|
||||
source_last = len(source_lines) - 1
|
||||
|
||||
for line in f:
|
||||
|
||||
# For each line found matching source_string, increment the iterator
|
||||
# and do not append that line to the list.
|
||||
if source_idx <= source_last and source_lines[source_idx] in line:
|
||||
|
||||
# If we intend to write the source string and all lines were found,
|
||||
# return an error code with empty content.
|
||||
if add_source_string and source_idx == source_last:
|
||||
return (NO_CHANGE, [])
|
||||
|
||||
# Increment for each matching line found.
|
||||
source_idx += 1
|
||||
ignoring = True
|
||||
|
||||
if ignoring:
|
||||
|
||||
# If the last line was found...
|
||||
if source_lines[source_last] in line:
|
||||
# Stop ignoring lines and continue appending to content.
|
||||
ignoring = False
|
||||
continue
|
||||
|
||||
# If the line could not be found within source_string, append to the
|
||||
# content array.
|
||||
content.append(line)
|
||||
|
||||
# If we intend to remove the source string and none of the lines to remove
|
||||
# were found, return an error code with empty content.
|
||||
if not add_source_string and source_idx == 0:
|
||||
return (NO_CHANGE, [])
|
||||
|
||||
return (CHANGE_NEEDED, content)
|
||||
|
||||
def _LinkTulsiLLDBInit(self, add_source_string):
|
||||
"""Adds or removes a reference to ~/.lldbinit-tulsiproj to the primary lldbinit file.
|
||||
|
||||
Xcode 8+ executes the contents of the first available lldbinit on startup.
|
||||
To help work around this, an external reference to ~/.lldbinit-tulsiproj is
|
||||
added to that lldbinit. This causes Xcode's lldb-rpc-server to load the
|
||||
possibly modified contents between Debug runs of any given app. Note that
|
||||
this only happens after a Debug session terminates; the cache is only fully
|
||||
invalidated after Xcode is relaunched.
|
||||
|
||||
Args:
|
||||
add_source_string: Boolean indicating whether we intend to write or remove
|
||||
the source string.
|
||||
"""
|
||||
|
||||
# ~/.lldbinit-Xcode is the only lldbinit file that Xcode will read if it is
|
||||
# present, therefore it has priority.
|
||||
lldbinit_path = os.path.expanduser('~/.lldbinit-Xcode')
|
||||
if not os.path.isfile(lldbinit_path):
|
||||
# If ~/.lldbinit-Xcode does not exist, write the reference to
|
||||
# ~/.lldbinit-tulsiproj to ~/.lldbinit, the second lldbinit file that
|
||||
# Xcode will attempt to read if ~/.lldbinit-Xcode isn't present.
|
||||
lldbinit_path = os.path.expanduser('~/.lldbinit')
|
||||
|
||||
# String that we plan to inject or remove from this lldbinit.
|
||||
source_string = ('# <TULSI> LLDB bridge [:\n'
|
||||
'# This was autogenerated by Tulsi in order to modify '
|
||||
'LLDB source-maps at build time.\n'
|
||||
'command source %s\n' % TULSI_LLDBINIT_FILE +
|
||||
'# ]: <TULSI> LLDB bridge')
|
||||
|
||||
# Retrieve the contents of lldbinit if applicable along with a return code.
|
||||
return_code, content = self._ExtractLLDBInitContent(lldbinit_path,
|
||||
source_string,
|
||||
add_source_string)
|
||||
|
||||
out = io.StringIO()
|
||||
|
||||
if add_source_string:
|
||||
if return_code == CHANGE_NEEDED:
|
||||
# Print the existing contents of this ~/.lldbinit without any malformed
|
||||
# tulsi lldbinit block, and add the correct tulsi lldbinit block to the
|
||||
# end of it.
|
||||
for line in content:
|
||||
out.write(line)
|
||||
elif return_code == NO_CHANGE:
|
||||
# If we should ignore the contents of this lldbinit, and it has the
|
||||
# association with ~/.lldbinit-tulsiproj that we want, do not modify it.
|
||||
return
|
||||
|
||||
# Add a newline after the source_string for protection from other elements
|
||||
# within the lldbinit file.
|
||||
out.write(source_string + '\n')
|
||||
else:
|
||||
if return_code != CHANGE_NEEDED:
|
||||
# The source string was not found in the lldbinit so do not modify it.
|
||||
return
|
||||
|
||||
# Print the existing contents of this ~/.lldbinit without the tulsi
|
||||
# lldbinit block.
|
||||
for line in content:
|
||||
out.write(line)
|
||||
|
||||
out.seek(0, os.SEEK_END)
|
||||
if out.tell() == 0:
|
||||
# The file did not contain any content other than the source string so
|
||||
# remove the file altogether.
|
||||
os.remove(lldbinit_path)
|
||||
return
|
||||
|
||||
with open(lldbinit_path, 'w') as outfile:
|
||||
out.seek(0)
|
||||
# Negative length to make copyfileobj write the whole file at once.
|
||||
shutil.copyfileobj(out, outfile, -1)
|
||||
|
||||
def __init__(self, do_inject_link=True):
|
||||
self._LinkTulsiLLDBInit(do_inject_link)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
BootstrapLLDBInit()
|
||||
sys.exit(0)
|
37
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/clang_stub.sh
Executable file
37
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/clang_stub.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2022 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Stub for Xcode's clang invocations to avoid compilation but still create the
|
||||
# expected compiler outputs.
|
||||
|
||||
set -eu
|
||||
|
||||
while test $# -gt 0
|
||||
do
|
||||
case $1 in
|
||||
-MF|--serialize-diagnostics)
|
||||
# TODO: See if we can create a valid diagnostics file (it appear to be
|
||||
# LLVM bitcode), currently we get warnings like:
|
||||
# file.dia:1:1: Could not read serialized diagnostics file: error("Invalid diagnostics signature")
|
||||
shift
|
||||
touch $1
|
||||
;;
|
||||
*.o)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
|
@ -0,0 +1,103 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Symlinks files generated by Bazel into bazel-tulsi-includes for indexing."""
|
||||
|
||||
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
|
||||
class Installer(object):
|
||||
"""Symlinks generated files into bazel-tulsi-includes."""
|
||||
|
||||
def __init__(self, bazel_exec_root, preserve_tulsi_includes=True,
|
||||
output_root=None):
|
||||
"""Initializes the installer with the proper Bazel paths."""
|
||||
|
||||
self.bazel_exec_root = bazel_exec_root
|
||||
self.preserve_tulsi_includes = preserve_tulsi_includes
|
||||
# The folder must begin with an underscore as otherwise Bazel will delete
|
||||
# it whenever it builds. See tulsi_aspects.bzl for futher explanation.
|
||||
if not output_root:
|
||||
output_root = bazel_exec_root
|
||||
self.tulsi_root = os.path.join(output_root, 'bazel-tulsi-includes')
|
||||
|
||||
def PrepareTulsiIncludes(self):
|
||||
"""Creates tulsi includes, possibly removing the old folder."""
|
||||
|
||||
tulsi_root = self.tulsi_root
|
||||
if not self.preserve_tulsi_includes and os.path.exists(tulsi_root):
|
||||
shutil.rmtree(tulsi_root)
|
||||
if not os.path.exists(tulsi_root):
|
||||
os.mkdir(tulsi_root)
|
||||
|
||||
def InstallForTulsiouts(self, tulsiouts):
|
||||
"""Creates tulsi includes and symlinks generated sources."""
|
||||
self.PrepareTulsiIncludes()
|
||||
|
||||
for file_path in tulsiouts:
|
||||
try:
|
||||
output_data = json.load(open(file_path))
|
||||
self.InstallForData(output_data)
|
||||
except (ValueError, IOError) as e:
|
||||
print('Failed to load output data file "%s". %s' % (file_path, e))
|
||||
|
||||
def InstallForData(self, output_data):
|
||||
"""Symlinks generated sources present in the output_data."""
|
||||
bazel_exec_root = self.bazel_exec_root
|
||||
tulsi_root = self.tulsi_root
|
||||
|
||||
for gs in output_data['generated_sources']:
|
||||
real_path, link_path = gs
|
||||
src = os.path.join(bazel_exec_root, real_path)
|
||||
|
||||
# Bazel outputs are not guaranteed to be created if nothing references
|
||||
# them. This check skips the processing if an output was declared
|
||||
# but not created.
|
||||
if not os.path.exists(src):
|
||||
continue
|
||||
|
||||
# The /x/x/ part is here to match the number of directory components
|
||||
# between tulsi root and bazel root. See tulsi_aspects.bzl for futher
|
||||
# explanation.
|
||||
dst = os.path.join(tulsi_root, 'x/x/', link_path)
|
||||
|
||||
dst_dir = os.path.dirname(dst)
|
||||
if not os.path.exists(dst_dir):
|
||||
os.makedirs(dst_dir)
|
||||
|
||||
# It's important to use lexists() here in case dst is a broken symlink
|
||||
# (in which case exists() would return False).
|
||||
if os.path.lexists(dst):
|
||||
# Don't need to do anything if the link hasn't changed.
|
||||
if os.readlink(dst) == src:
|
||||
continue
|
||||
|
||||
# Link changed; must remove it otherwise os.symlink will fail.
|
||||
os.unlink(dst)
|
||||
|
||||
os.symlink(src, dst)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 3:
|
||||
sys.stderr.write('usage: %s <bazel exec root> '
|
||||
'<.tulsiouts JSON files>\n' % sys.argv[0])
|
||||
exit(1)
|
||||
|
||||
Installer(sys.argv[1]).InstallForTulsiouts(sys.argv[2:])
|
33
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/ld_stub.sh
Executable file
33
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/ld_stub.sh
Executable file
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2022 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Stub for Xcode's ld invocations to avoid linking but still create the expected
|
||||
# linker outputs.
|
||||
|
||||
set -eu
|
||||
|
||||
while test $# -gt 0
|
||||
do
|
||||
case $1 in
|
||||
*.dat)
|
||||
# Create an empty .dat file containing just a simple header.
|
||||
echo -n -e '\x00lld\0' > $1
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
76
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/swiftc_stub.py
Executable file
76
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/swiftc_stub.py
Executable file
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2022 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Stub to avoid swiftc but create the expected swiftc outputs."""
|
||||
|
||||
import json
|
||||
import os
|
||||
import pathlib
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def _TouchFile(filepath):
|
||||
"""Touch the given file: create if necessary and update its mtime."""
|
||||
pathlib.Path(filepath).touch()
|
||||
|
||||
|
||||
def _HandleOutputMapFile(filepath):
|
||||
# Touch all output files referenced in the map. See the documentation here:
|
||||
# https://github.com/apple/swift/blob/main/docs/Driver.md#output-file-maps
|
||||
with open(filepath, 'rb') as file:
|
||||
output_map = json.load(file)
|
||||
for single_file_outputs in output_map.values():
|
||||
for output in single_file_outputs.values():
|
||||
_TouchFile(output)
|
||||
|
||||
|
||||
def _CreateModuleFiles(module_path):
|
||||
_TouchFile(module_path)
|
||||
filename_no_ext = os.path.splitext(module_path)[0]
|
||||
_TouchFile(filename_no_ext + '.swiftdoc')
|
||||
_TouchFile(filename_no_ext + '.swiftsourceinfo')
|
||||
|
||||
|
||||
def main(args):
|
||||
# Xcode may call `swiftc -v` which we need to pass through.
|
||||
if args == ['-v'] or args == ['--version']:
|
||||
return subprocess.call(['swiftc', '-v'])
|
||||
|
||||
index = 0
|
||||
num_args = len(args)
|
||||
# Compare against length - 1 since we only care about arguments which come in
|
||||
# pairs.
|
||||
while index < num_args - 1:
|
||||
cur_arg = args[index]
|
||||
|
||||
if cur_arg == '-output-file-map':
|
||||
index += 1
|
||||
output_file_map = args[index]
|
||||
_HandleOutputMapFile(output_file_map)
|
||||
elif cur_arg == '-emit-module-path':
|
||||
index += 1
|
||||
module_path = args[index]
|
||||
_CreateModuleFiles(module_path)
|
||||
elif cur_arg == '-emit-objc-header-path':
|
||||
index += 1
|
||||
header_path = args[index]
|
||||
_TouchFile(header_path)
|
||||
index += 1
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main(sys.argv[1:]))
|
|
@ -0,0 +1,119 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Manages our dSYM SQLite database schema."""
|
||||
|
||||
import errno
|
||||
import os
|
||||
import sqlite3
|
||||
|
||||
|
||||
SQLITE_SYMBOL_CACHE_PATH = os.path.expanduser('~/Library/Application Support/'
|
||||
'Tulsi/Scripts/symbol_cache.db')
|
||||
|
||||
|
||||
class SymbolCacheSchema(object):
|
||||
"""Defines and updates the SQLite database used for DBGShellCommands."""
|
||||
|
||||
current_version = 1
|
||||
|
||||
def UpdateSchemaV1(self, connection):
|
||||
"""Updates the database to the v1 schema.
|
||||
|
||||
Args:
|
||||
connection: Connection to the database that needs to be updated.
|
||||
|
||||
Returns:
|
||||
True if the database reported that it was updated to v1.
|
||||
False if not.
|
||||
"""
|
||||
# Create the table (schema version 1).
|
||||
cursor = connection.cursor()
|
||||
cursor.execute('CREATE TABLE symbol_cache('
|
||||
'uuid TEXT PRIMARY KEY, '
|
||||
'dsym_path TEXT, '
|
||||
'architecture TEXT'
|
||||
');')
|
||||
# NOTE: symbol_cache (uuid) already has an index, as the PRIMARY KEY.
|
||||
# Create a unique index to keep dSYM paths and architectures unique.
|
||||
cursor.execute('CREATE UNIQUE INDEX idx_dsym_arch '
|
||||
'ON '
|
||||
'symbol_cache('
|
||||
'dsym_path, '
|
||||
'architecture'
|
||||
');')
|
||||
cursor.execute('PRAGMA user_version = 1;')
|
||||
|
||||
# Verify the updated user_version, as confirmation of the update.
|
||||
cursor.execute('PRAGMA user_version;')
|
||||
return cursor.fetchone()[0] == 1
|
||||
|
||||
def VerifySchema(self, connection):
|
||||
"""Updates the database to the latest schema.
|
||||
|
||||
Args:
|
||||
connection: Connection to the database that needs to be updated.
|
||||
|
||||
Returns:
|
||||
True if the database reported that it was updated to the latest schema.
|
||||
False if not.
|
||||
"""
|
||||
cursor = connection.cursor()
|
||||
cursor.execute('PRAGMA user_version;') # Default is 0
|
||||
db_version = cursor.fetchone()[0]
|
||||
|
||||
# Update to the latest schema in the given database, if necessary.
|
||||
if db_version < self.current_version:
|
||||
# Future schema updates will build on this.
|
||||
if self.UpdateSchemaV1(connection):
|
||||
db_version = 1
|
||||
|
||||
# Return if the database has been updated to the latest schema.
|
||||
return db_version == self.current_version
|
||||
|
||||
def InitDB(self, db_path):
|
||||
"""Initializes a new connection to a SQLite database.
|
||||
|
||||
Args:
|
||||
db_path: String representing a reference to the SQLite database.
|
||||
|
||||
Returns:
|
||||
A sqlite3.connection object representing an active connection to
|
||||
the database referenced by db_path.
|
||||
"""
|
||||
# If this is not an in-memory SQLite database...
|
||||
if ':memory:' not in db_path:
|
||||
# Create all subdirs before we create a new db or connect to existing.
|
||||
if not os.path.isfile(db_path):
|
||||
try:
|
||||
os.makedirs(os.path.dirname(db_path))
|
||||
except OSError as e:
|
||||
if e.errno != errno.EEXIST:
|
||||
raise
|
||||
|
||||
connection = sqlite3.connect(db_path)
|
||||
|
||||
# Update to the latest schema and return the db connection.
|
||||
if self.VerifySchema(connection):
|
||||
return connection
|
||||
else:
|
||||
return None
|
||||
|
||||
def __init__(self, db_path=SQLITE_SYMBOL_CACHE_PATH):
|
||||
self.connection = self.InitDB(db_path)
|
||||
|
||||
def __del__(self):
|
||||
if self.connection:
|
||||
self.connection.close()
|
|
@ -0,0 +1,77 @@
|
|||
# Copyright 2017 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the 'License');
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an 'AS IS' BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Logging routines used by Tulsi scripts."""
|
||||
|
||||
import logging
|
||||
import logging.handlers
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
def validity_check():
|
||||
"""Returns a warning message from logger initialization, if applicable."""
|
||||
return None
|
||||
|
||||
|
||||
class Logger(object):
|
||||
"""Tulsi specific logging."""
|
||||
|
||||
def __init__(self):
|
||||
logging_dir = os.path.expanduser('~/Library/Application Support/Tulsi')
|
||||
if not os.path.exists(logging_dir):
|
||||
os.mkdir(logging_dir)
|
||||
|
||||
logfile = os.path.join(logging_dir, 'build_log.txt')
|
||||
|
||||
# Currently only creates a single logger called 'tulsi_logging'. If
|
||||
# additional loggers are needed, consider adding a name attribute to the
|
||||
# Logger.
|
||||
self._logger = logging.getLogger('tulsi_logging')
|
||||
self._logger.setLevel(logging.INFO)
|
||||
|
||||
try:
|
||||
file_handler = logging.handlers.RotatingFileHandler(logfile,
|
||||
backupCount=20)
|
||||
file_handler.setLevel(logging.INFO)
|
||||
# Create a new log file for each build.
|
||||
file_handler.doRollover()
|
||||
self._logger.addHandler(file_handler)
|
||||
except (IOError, OSError) as err:
|
||||
filename = 'none'
|
||||
if hasattr(err, 'filename'):
|
||||
filename = err.filename
|
||||
sys.stderr.write('Failed to set up logging to file: %s (%s).\n' %
|
||||
(os.strerror(err.errno), filename))
|
||||
sys.stderr.flush()
|
||||
|
||||
console = logging.StreamHandler()
|
||||
console.setLevel(logging.INFO)
|
||||
self._logger.addHandler(console)
|
||||
|
||||
def log_bazel_message(self, message):
|
||||
self._logger.info(message)
|
||||
|
||||
def log_action(self, action_name, action_id, seconds, start=None, end=None):
|
||||
"""Logs the start, duration, and end of an action."""
|
||||
del action_id # Unused by this logger.
|
||||
if start:
|
||||
self._logger.info('<**> %s start: %f', action_name, start)
|
||||
|
||||
# Log to file and print to stdout for display in the Xcode log.
|
||||
self._logger.info('<*> %s completed in %0.3f ms',
|
||||
action_name, seconds * 1000)
|
||||
|
||||
if end:
|
||||
self._logger.info('<**> %s end: %f', action_name, end)
|
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Update the Tulsi dSYM symbol cache."""
|
||||
|
||||
import sqlite3
|
||||
from symbol_cache_schema import SQLITE_SYMBOL_CACHE_PATH
|
||||
from symbol_cache_schema import SymbolCacheSchema
|
||||
|
||||
|
||||
class UpdateSymbolCache(object):
|
||||
"""Provides a common interface to update a UUID referencing a dSYM."""
|
||||
|
||||
def UpdateUUID(self, uuid, dsym_path, arch):
|
||||
"""Updates a given UUID entry in the database.
|
||||
|
||||
Args:
|
||||
uuid: A UUID representing a binary slice in the dSYM bundle.
|
||||
dsym_path: An absolute path to the dSYM bundle.
|
||||
arch: The binary slice's architecture.
|
||||
|
||||
Returns:
|
||||
None: If no error occurred in inserting the new set of values.
|
||||
String: If a sqlite3.error was raised upon attempting to store new
|
||||
values into the dSYM cache.
|
||||
"""
|
||||
con = self.cache_schema.connection
|
||||
cur = con.cursor()
|
||||
# Relies on the UNIQUE constraint between dsym_path + architecture to
|
||||
# update the UUID if dsym_path and arch match an existing pair, or
|
||||
# create a new row if this combination of dsym_path and arch is unique.
|
||||
try:
|
||||
cur.execute('INSERT OR REPLACE INTO symbol_cache '
|
||||
'(uuid, dsym_path, architecture) '
|
||||
'VALUES("%s", "%s", "%s");' % (uuid, dsym_path, arch))
|
||||
con.commit()
|
||||
except sqlite3.Error as e:
|
||||
return e.message
|
||||
return None
|
||||
|
||||
def __init__(self, db_path=SQLITE_SYMBOL_CACHE_PATH):
|
||||
self.cache_schema = SymbolCacheSchema(db_path)
|
111
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/user_build.py
Executable file
111
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/.tulsi/Scripts/user_build.py
Executable file
|
@ -0,0 +1,111 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Invokes Bazel builds for the given target using Tulsi specific flags."""
|
||||
|
||||
|
||||
import argparse
|
||||
import pipes
|
||||
import subprocess
|
||||
import sys
|
||||
from bazel_build_settings import BUILD_SETTINGS
|
||||
|
||||
|
||||
def _FatalError(msg, exit_code=1):
|
||||
"""Prints a fatal error message to stderr and exits."""
|
||||
sys.stderr.write(msg)
|
||||
sys.exit(exit_code)
|
||||
|
||||
|
||||
def _BuildSettingsTargetForTargets(targets):
|
||||
"""Returns the singular target to use when fetching build settings."""
|
||||
return targets[0] if len(targets) == 1 else None
|
||||
|
||||
|
||||
def _CreateCommand(targets, build_settings, test, release,
|
||||
config, xcode_version, force_swift):
|
||||
"""Creates a Bazel command for targets with the specified settings."""
|
||||
target = _BuildSettingsTargetForTargets(targets)
|
||||
bazel, startup, flags = build_settings.flags_for_target(
|
||||
target, not release, config, is_swift_override=force_swift)
|
||||
bazel_action = 'test' if test else 'build'
|
||||
|
||||
command = [bazel]
|
||||
command.extend(startup)
|
||||
command.append(bazel_action)
|
||||
command.extend(flags)
|
||||
if xcode_version:
|
||||
command.append('--xcode_version=%s' % xcode_version)
|
||||
command.append('--tool_tag=tulsi:user_build')
|
||||
command.extend(targets)
|
||||
|
||||
return command
|
||||
|
||||
|
||||
def _QuoteCommandForShell(cmd):
|
||||
cmd = [pipes.quote(x) for x in cmd]
|
||||
return ' '.join(cmd)
|
||||
|
||||
|
||||
def _InterruptSafeCall(cmd):
|
||||
p = subprocess.Popen(cmd)
|
||||
try:
|
||||
return p.wait()
|
||||
except KeyboardInterrupt:
|
||||
return p.wait()
|
||||
|
||||
|
||||
def main():
|
||||
if not BUILD_SETTINGS:
|
||||
_FatalError('Unable to fetch build settings. Please report a Tulsi bug.')
|
||||
|
||||
default_config = BUILD_SETTINGS.defaultPlatformConfigId
|
||||
config_options = BUILD_SETTINGS.platformConfigFlags
|
||||
config_help = (
|
||||
'Bazel apple config (used for flags). Default: {}').format(default_config)
|
||||
|
||||
parser = argparse.ArgumentParser(description='Invoke a Bazel build or test '
|
||||
'with the same flags as Tulsi.')
|
||||
parser.add_argument('--test', dest='test', action='store_true', default=False)
|
||||
parser.add_argument('--release', dest='release', action='store_true',
|
||||
default=False)
|
||||
parser.add_argument('--noprint_cmd', dest='print_cmd', action='store_false',
|
||||
default=True)
|
||||
parser.add_argument('--norun', dest='run', action='store_false', default=True)
|
||||
parser.add_argument('--config', help=config_help, default=default_config,
|
||||
choices=config_options)
|
||||
parser.add_argument('--xcode_version', help='Bazel --xcode_version flag.')
|
||||
parser.add_argument('--force_swift', dest='swift', action='store_true',
|
||||
default=None, help='Forcibly treat the given targets '
|
||||
'as containing Swift.')
|
||||
parser.add_argument('--force_noswift', dest='swift', action='store_false',
|
||||
default=None, help='Forcibly treat the given targets '
|
||||
'as not containing Swift.')
|
||||
parser.add_argument('targets', nargs='+')
|
||||
|
||||
args = parser.parse_args()
|
||||
command = _CreateCommand(args.targets, BUILD_SETTINGS, args.test,
|
||||
args.release, args.config, args.xcode_version,
|
||||
args.swift)
|
||||
if args.print_cmd:
|
||||
print(_QuoteCommandForShell(command))
|
||||
|
||||
if args.run:
|
||||
return _InterruptSafeCall(command)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
|
@ -0,0 +1,6 @@
|
|||
# This file is autogenerated by Tulsi and should not be edited.
|
||||
# This sets lldb's working directory to the Bazel workspace root used by 'OlaVideo.xcodeproj'.
|
||||
platform settings -w "/Users/wangrenzhu/Documents/github/mediapipe-render/"
|
||||
# This enables implicitly loading Clang modules which can be disabled when a Swift module was built with explicit modules enabled.
|
||||
settings set -- target.swift-extra-clang-flags "-fimplicit-module-maps"
|
||||
settings clear target.source-map
|
|
@ -0,0 +1 @@
|
|||
/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc/execroot/mediapipe
|
|
@ -0,0 +1 @@
|
|||
/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc
|
|
@ -0,0 +1 @@
|
|||
/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc/execroot/mediapipe
|
806
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/project.pbxproj
Normal file
806
mediapipe/render/ios/Camera/OlaVideo.xcodeproj/project.pbxproj
Normal file
|
@ -0,0 +1,806 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
EC43C1642BFD843200000000 /* OlaMTLCameraRenderView.mm in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F2BFD843200000000 /* OlaMTLCameraRenderView.mm */; };
|
||||
EC43C1642BFD843200000001 /* OlaMTLCameraRenderView.mm in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F2BFD843200000000 /* OlaMTLCameraRenderView.mm */; };
|
||||
EC43C16432EC674300000000 /* OlaShareTexture.m in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F32EC674300000000 /* OlaShareTexture.m */; };
|
||||
EC43C16432EC674300000001 /* OlaShareTexture.m in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F32EC674300000000 /* OlaShareTexture.m */; };
|
||||
EC43C16459C1184100000000 /* OlaCameraRender.m in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F59C1184100000000 /* OlaCameraRender.m */; };
|
||||
EC43C16459C1184100000001 /* OlaCameraRender.m in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F59C1184100000000 /* OlaCameraRender.m */; };
|
||||
EC43C16491B5138700000000 /* OlaMTLCameraRender.mm in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F91B5138700000000 /* OlaMTLCameraRender.mm */; };
|
||||
EC43C16491B5138700000001 /* OlaMTLCameraRender.mm in camera */ = {isa = PBXBuildFile; fileRef = AED7A97F91B5138700000000 /* OlaMTLCameraRender.mm */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
79F19D9DB052EDC900000000 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = E8D406AA778D00B000000000 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = B0D91B25B052EDC800000000;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
AED7A97F09FFE58800000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "OlaVideo.xcodeproj/.tulsi/tulsi-execution-root/bazel-tulsi-includes/x/x/mediapipe/render/ios/camera/OlaCameraFramework-intermediates/Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
AED7A97F1037468800000000 /* lib_idx_OlaCamera_D4C1E04C_ios_min15.5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_OlaCamera_D4C1E04C_ios_min15.5.a; path = lib_idx_OlaCamera_D4C1E04C_ios_min15.5.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AED7A97F22A8C25800000000 /* OlaMTLCameraRenderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OlaMTLCameraRenderView.h; path = mediapipe/render/ios/camera/OlaMTLCameraRenderView.h; sourceTree = "<group>"; };
|
||||
AED7A97F2BFD843200000000 /* OlaMTLCameraRenderView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = OlaMTLCameraRenderView.mm; path = mediapipe/render/ios/camera/OlaMTLCameraRenderView.mm; sourceTree = "<group>"; };
|
||||
AED7A97F32EC674300000000 /* OlaShareTexture.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = OlaShareTexture.m; path = mediapipe/render/ios/camera/OlaShareTexture.m; sourceTree = "<group>"; };
|
||||
AED7A97F59C1184100000000 /* OlaCameraRender.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = OlaCameraRender.m; path = mediapipe/render/ios/camera/OlaCameraRender.m; sourceTree = "<group>"; };
|
||||
AED7A97F7683FBD400000000 /* lib_idx_OlaCamera_D4C1E04C_ios_min11.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_OlaCamera_D4C1E04C_ios_min11.0.a; path = lib_idx_OlaCamera_D4C1E04C_ios_min11.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AED7A97F7AA3D58000000000 /* OlaMTLCameraRender.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OlaMTLCameraRender.h; path = mediapipe/render/ios/camera/OlaMTLCameraRender.h; sourceTree = "<group>"; };
|
||||
AED7A97F86B67E0B00000000 /* OlaShareTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OlaShareTexture.h; path = mediapipe/render/ios/camera/OlaShareTexture.h; sourceTree = "<group>"; };
|
||||
AED7A97F8D39733A00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = mediapipe/render/ios/camera/BUILD; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.python; };
|
||||
AED7A97F91B5138700000000 /* OlaMTLCameraRender.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = OlaMTLCameraRender.mm; path = mediapipe/render/ios/camera/OlaMTLCameraRender.mm; sourceTree = "<group>"; };
|
||||
AED7A97F9878980200000000 /* OlaCameraFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = OlaCameraFramework.framework; path = OlaCameraFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AED7A97FAC2A7FD500000000 /* OlaCameraFramework.metal */ = {isa = PBXFileReference; lastKnownFileType = com.apple.metal; name = OlaCameraFramework.metal; path = mediapipe/render/ios/camera/OlaCameraFramework.metal; sourceTree = "<group>"; };
|
||||
AED7A97FB5F5C90C00000000 /* libmediapipe-render-ios-camera-OlaCamera.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = "libmediapipe-render-ios-camera-OlaCamera.a"; path = "libmediapipe-render-ios-camera-OlaCamera.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AED7A97FC098314C00000000 /* OlaCameraRender.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OlaCameraRender.h; path = mediapipe/render/ios/camera/OlaCameraRender.h; sourceTree = "<group>"; };
|
||||
AED7A97FCF62A51000000000 /* OlaCameraFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OlaCameraFramework.h; path = mediapipe/render/ios/camera/OlaCameraFramework.h; sourceTree = "<group>"; };
|
||||
AED7A97FF942D3BE00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = mediapipe/render/ios/camera/Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1A7E690D5270F98E00000000 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690DA64DA2C200000000 /* Indexer */,
|
||||
AED7A97F9878980200000000 /* OlaCameraFramework.framework */,
|
||||
1A7E690D9974D8B500000000 /* bazel-tulsi-includes */,
|
||||
AED7A97FB5F5C90C00000000 /* libmediapipe-render-ios-camera-OlaCamera.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D5A5561D100000000 /* camera */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D7271214400000000 /* OlaCameraFramework-intermediates */,
|
||||
);
|
||||
name = camera;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D5A5561D100000001 /* camera */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AED7A97F8D39733A00000000 /* BUILD */,
|
||||
AED7A97FF942D3BE00000000 /* Info.plist */,
|
||||
AED7A97FCF62A51000000000 /* OlaCameraFramework.h */,
|
||||
AED7A97FAC2A7FD500000000 /* OlaCameraFramework.metal */,
|
||||
AED7A97FC098314C00000000 /* OlaCameraRender.h */,
|
||||
AED7A97F59C1184100000000 /* OlaCameraRender.m */,
|
||||
AED7A97F7AA3D58000000000 /* OlaMTLCameraRender.h */,
|
||||
AED7A97F91B5138700000000 /* OlaMTLCameraRender.mm */,
|
||||
AED7A97F22A8C25800000000 /* OlaMTLCameraRenderView.h */,
|
||||
AED7A97F2BFD843200000000 /* OlaMTLCameraRenderView.mm */,
|
||||
AED7A97F86B67E0B00000000 /* OlaShareTexture.h */,
|
||||
AED7A97F32EC674300000000 /* OlaShareTexture.m */,
|
||||
);
|
||||
name = camera;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D7271214400000000 /* OlaCameraFramework-intermediates */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AED7A97F09FFE58800000000 /* Info.plist */,
|
||||
);
|
||||
name = "OlaCameraFramework-intermediates";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D7839CC7000000000 /* render */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D7B0977E900000000 /* ios */,
|
||||
);
|
||||
name = render;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D7839CC7000000001 /* render */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D7B0977E900000001 /* ios */,
|
||||
);
|
||||
name = render;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D7B0977E900000000 /* ios */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D5A5561D100000000 /* camera */,
|
||||
);
|
||||
name = ios;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D7B0977E900000001 /* ios */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D5A5561D100000001 /* camera */,
|
||||
);
|
||||
name = ios;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690D9974D8B500000000 /* bazel-tulsi-includes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690DFF57D04D00000000 /* x */,
|
||||
);
|
||||
name = "bazel-tulsi-includes";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690DA64DA2C200000000 /* Indexer */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AED7A97F7683FBD400000000 /* lib_idx_OlaCamera_D4C1E04C_ios_min11.0.a */,
|
||||
AED7A97F1037468800000000 /* lib_idx_OlaCamera_D4C1E04C_ios_min15.5.a */,
|
||||
);
|
||||
name = Indexer;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690DA6D1E65D00000000 /* mainGroup */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D5270F98E00000000 /* Products */,
|
||||
1A7E690DAFC71AAD00000001 /* mediapipe */,
|
||||
);
|
||||
name = mainGroup;
|
||||
path = ../../../..;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
1A7E690DAFC71AAD00000000 /* mediapipe */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D7839CC7000000000 /* render */,
|
||||
);
|
||||
name = mediapipe;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690DAFC71AAD00000001 /* mediapipe */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690D7839CC7000000001 /* render */,
|
||||
);
|
||||
name = mediapipe;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690DFF57D04D00000000 /* x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690DFF57D04D00000001 /* x */,
|
||||
);
|
||||
name = x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1A7E690DFF57D04D00000001 /* x */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A7E690DAFC71AAD00000000 /* mediapipe */,
|
||||
);
|
||||
name = x;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXLegacyTarget section */
|
||||
B0D91B25B052EDC800000000 /* _bazel_clean_ */ = {
|
||||
isa = PBXLegacyTarget;
|
||||
buildArgumentsString = "\"/opt/homebrew/Cellar/bazelisk/1.12.0/bin/bazelisk\" \"bazel-bin\"";
|
||||
buildConfigurationList = FA986D996551CEE700000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
|
||||
buildPhases = (
|
||||
);
|
||||
buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
|
||||
buildWorkingDirectory = "${SRCROOT}/../../../..";
|
||||
dependencies = (
|
||||
);
|
||||
name = _bazel_clean_;
|
||||
passBuildSettingsInEnvironment = 1;
|
||||
productName = _bazel_clean_;
|
||||
};
|
||||
/* End PBXLegacyTarget section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
D807E5011D3F081800000000 /* _idx_OlaCamera_D4C1E04C_ios_min11.0 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FA986D99AFC9DC8A00000000 /* Build configuration list for PBXNativeTarget "_idx_OlaCamera_D4C1E04C_ios_min11.0" */;
|
||||
buildPhases = (
|
||||
20199D1C0000000000000000 /* Sources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
EC2CE7DAB052EDC900000000 /* PBXTargetDependency */,
|
||||
);
|
||||
name = _idx_OlaCamera_D4C1E04C_ios_min11.0;
|
||||
productName = _idx_OlaCamera_D4C1E04C_ios_min11.0;
|
||||
productReference = AED7A97F7683FBD400000000 /* lib_idx_OlaCamera_D4C1E04C_ios_min11.0.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
D807E5015522F68E00000000 /* OlaCameraFramework */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FA986D991B5CFFDE00000000 /* Build configuration list for PBXNativeTarget "OlaCameraFramework" */;
|
||||
buildPhases = (
|
||||
72D56B2C24A1839100000000 /* build //mediapipe/render/ios/camera:OlaCameraFramework */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
EC2CE7DAB052EDC900000000 /* PBXTargetDependency */,
|
||||
);
|
||||
name = OlaCameraFramework;
|
||||
productName = OlaCameraFramework;
|
||||
productReference = AED7A97F9878980200000000 /* OlaCameraFramework.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
D807E50193F26E1000000000 /* mediapipe-render-ios-camera-OlaCamera */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FA986D99757981C400000000 /* Build configuration list for PBXNativeTarget "mediapipe-render-ios-camera-OlaCamera" */;
|
||||
buildPhases = (
|
||||
72D56B2CBF9D8E5C00000000 /* build //mediapipe/render/ios/camera:OlaCamera */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
EC2CE7DAB052EDC900000000 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "mediapipe-render-ios-camera-OlaCamera";
|
||||
productName = "mediapipe-render-ios-camera-OlaCamera";
|
||||
productReference = AED7A97FB5F5C90C00000000 /* libmediapipe-render-ios-camera-OlaCamera.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
D807E501DA646DFC00000000 /* _idx_OlaCamera_D4C1E04C_ios_min15.5 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FA986D99157C737100000000 /* Build configuration list for PBXNativeTarget "_idx_OlaCamera_D4C1E04C_ios_min15.5" */;
|
||||
buildPhases = (
|
||||
20199D1C0000000000000001 /* Sources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
EC2CE7DAB052EDC900000000 /* PBXTargetDependency */,
|
||||
);
|
||||
name = _idx_OlaCamera_D4C1E04C_ios_min15.5;
|
||||
productName = _idx_OlaCamera_D4C1E04C_ios_min15.5;
|
||||
productReference = AED7A97F1037468800000000 /* lib_idx_OlaCamera_D4C1E04C_ios_min15.5.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
E8D406AA778D00B000000000 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0710;
|
||||
LastUpgradeCheck = 1000;
|
||||
};
|
||||
buildConfigurationList = FA986D9935B6D51200000000 /* Build configuration list for PBXProject "OlaVideo" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 1A7E690DA6D1E65D00000000 /* mainGroup */;
|
||||
targets = (
|
||||
D807E5015522F68E00000000 /* OlaCameraFramework */,
|
||||
B0D91B25B052EDC800000000 /* _bazel_clean_ */,
|
||||
D807E5011D3F081800000000 /* _idx_OlaCamera_D4C1E04C_ios_min11.0 */,
|
||||
D807E501DA646DFC00000000 /* _idx_OlaCamera_D4C1E04C_ios_min15.5 */,
|
||||
D807E50193F26E1000000000 /* mediapipe-render-ios-camera-OlaCamera */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
72D56B2C24A1839100000000 /* build //mediapipe/render/ios/camera:OlaCameraFramework */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 0;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
|
||||
);
|
||||
name = "build //mediapipe/render/ios/camera:OlaCameraFramework";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/bash;
|
||||
shellScript = "set -e\ncd \"${SRCROOT}/../../../..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //mediapipe/render/ios/camera:OlaCameraFramework --bazel \"/opt/homebrew/Cellar/bazelisk/1.12.0/bin/bazelisk\" --bazel_bin_path \"bazel-bin\" --verbose ";
|
||||
showEnvVarsInLog = 1;
|
||||
};
|
||||
72D56B2CBF9D8E5C00000000 /* build //mediapipe/render/ios/camera:OlaCamera */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 0;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
|
||||
);
|
||||
name = "build //mediapipe/render/ios/camera:OlaCamera";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/bash;
|
||||
shellScript = "set -e\ncd \"${SRCROOT}/../../../..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //mediapipe/render/ios/camera:OlaCamera --bazel \"/opt/homebrew/Cellar/bazelisk/1.12.0/bin/bazelisk\" --bazel_bin_path \"bazel-bin\" --verbose ";
|
||||
showEnvVarsInLog = 1;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
20199D1C0000000000000000 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 0;
|
||||
files = (
|
||||
EC43C16459C1184100000000 /* OlaCameraRender.m in camera */,
|
||||
EC43C16491B5138700000000 /* OlaMTLCameraRender.mm in camera */,
|
||||
EC43C1642BFD843200000000 /* OlaMTLCameraRenderView.mm in camera */,
|
||||
EC43C16432EC674300000000 /* OlaShareTexture.m in camera */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
20199D1C0000000000000001 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 0;
|
||||
files = (
|
||||
EC43C16459C1184100000001 /* OlaCameraRender.m in camera */,
|
||||
EC43C16491B5138700000001 /* OlaMTLCameraRender.mm in camera */,
|
||||
EC43C1642BFD843200000001 /* OlaMTLCameraRenderView.mm in camera */,
|
||||
EC43C16432EC674300000001 /* OlaShareTexture.m in camera */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
EC2CE7DAB052EDC900000000 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
targetProxy = 79F19D9DB052EDC900000000 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
89A98AE65559229700000000 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
DONT_RUN_SWIFT_STDLIB_TOOL = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PYTHONIOENCODING = utf8;
|
||||
SDKROOT = iphoneos;
|
||||
TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit";
|
||||
TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base";
|
||||
TULSI_PROJECT = OlaVideo;
|
||||
TULSI_VERSION = 0.20220209.88;
|
||||
TULSI_WR = "${SRCROOT}/../../../..";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
89A98AE65559229700000001 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCameraFramework";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.ola.cameraframework;
|
||||
PRODUCT_NAME = OlaCameraFramework;
|
||||
SDKROOT = iphoneos;
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
89A98AE65559229700000002 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ ";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
OTHER_CFLAGS = "-x objective-c++ -fobjc-arc -D_FORTIFY_SOURCE=1 -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\"";
|
||||
PRODUCT_NAME = _idx_OlaCamera_D4C1E04C_ios_min11.0;
|
||||
SDKROOT = iphoneos;
|
||||
USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
89A98AE65559229700000003 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ ";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
|
||||
OTHER_CFLAGS = "-x objective-c++ -fobjc-arc -D_FORTIFY_SOURCE=1 -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\"";
|
||||
PRODUCT_NAME = _idx_OlaCamera_D4C1E04C_ios_min15.5;
|
||||
SDKROOT = iphoneos;
|
||||
USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
89A98AE65559229700000004 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCamera";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
|
||||
PRODUCT_NAME = "mediapipe-render-ios-camera-OlaCamera";
|
||||
SDKROOT = iphoneos;
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
89A98AE696F55C6100000000 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
DONT_RUN_SWIFT_STDLIB_TOOL = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "$(TULSI_EXECUTION_ROOT) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PYTHONIOENCODING = utf8;
|
||||
SDKROOT = iphoneos;
|
||||
TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit";
|
||||
TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base";
|
||||
TULSI_PROJECT = OlaVideo;
|
||||
TULSI_VERSION = 0.20220209.88;
|
||||
TULSI_WR = "${SRCROOT}/../../../..";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
89A98AE696F55C6100000001 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCameraFramework";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.ola.cameraframework;
|
||||
PRODUCT_NAME = OlaCameraFramework;
|
||||
SDKROOT = iphoneos;
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
89A98AE696F55C6100000002 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ ";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
OTHER_CFLAGS = "-x objective-c++ -fobjc-arc -D_FORTIFY_SOURCE=1 -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\"";
|
||||
PRODUCT_NAME = _idx_OlaCamera_D4C1E04C_ios_min11.0;
|
||||
SDKROOT = iphoneos;
|
||||
USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
89A98AE696F55C6100000003 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_EXECUTION_ROOT)/bazel-tulsi-includes/x/x/ ";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
|
||||
OTHER_CFLAGS = "-x objective-c++ -fobjc-arc -D_FORTIFY_SOURCE=1 -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\"";
|
||||
PRODUCT_NAME = _idx_OlaCamera_D4C1E04C_ios_min15.5;
|
||||
SDKROOT = iphoneos;
|
||||
USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
89A98AE696F55C6100000004 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCamera";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
|
||||
PRODUCT_NAME = "mediapipe-render-ios-camera-OlaCamera";
|
||||
SDKROOT = iphoneos;
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
89A98AE6ACBECA4500000000 /* __TulsiTestRunner_Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
DONT_RUN_SWIFT_STDLIB_TOOL = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "--version";
|
||||
OTHER_LDFLAGS = "--version";
|
||||
OTHER_SWIFT_FLAGS = "--version";
|
||||
PYTHONIOENCODING = utf8;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
|
||||
TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit";
|
||||
TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base";
|
||||
TULSI_PROJECT = OlaVideo;
|
||||
TULSI_VERSION = 0.20220209.88;
|
||||
TULSI_WR = "${SRCROOT}/../../../..";
|
||||
};
|
||||
name = __TulsiTestRunner_Debug;
|
||||
};
|
||||
89A98AE6ACBECA4500000001 /* __TulsiTestRunner_Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCameraFramework";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "--version";
|
||||
OTHER_LDFLAGS = "--version";
|
||||
OTHER_SWIFT_FLAGS = "--version";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.ola.cameraframework;
|
||||
PRODUCT_NAME = OlaCameraFramework;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = __TulsiTestRunner_Debug;
|
||||
};
|
||||
89A98AE6ACBECA4500000002 /* __TulsiTestRunner_Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCamera";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "--version";
|
||||
OTHER_LDFLAGS = "--version";
|
||||
OTHER_SWIFT_FLAGS = "--version";
|
||||
PRODUCT_NAME = "mediapipe-render-ios-camera-OlaCamera";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = __TulsiTestRunner_Debug;
|
||||
};
|
||||
89A98AE6D9581F9600000000 /* __TulsiTestRunner_Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
DONT_RUN_SWIFT_STDLIB_TOOL = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "--version";
|
||||
OTHER_LDFLAGS = "--version";
|
||||
OTHER_SWIFT_FLAGS = "--version";
|
||||
PYTHONIOENCODING = utf8;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
|
||||
TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_EXECUTION_ROOT = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-execution-root";
|
||||
TULSI_LLDBINIT_FILE = "$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit";
|
||||
TULSI_OUTPUT_BASE = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-output-base";
|
||||
TULSI_PROJECT = OlaVideo;
|
||||
TULSI_VERSION = 0.20220209.88;
|
||||
TULSI_WR = "${SRCROOT}/../../../..";
|
||||
};
|
||||
name = __TulsiTestRunner_Release;
|
||||
};
|
||||
89A98AE6D9581F9600000001 /* __TulsiTestRunner_Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCameraFramework";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "--version";
|
||||
OTHER_LDFLAGS = "--version";
|
||||
OTHER_SWIFT_FLAGS = "--version";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.ola.cameraframework;
|
||||
PRODUCT_NAME = OlaCameraFramework;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = __TulsiTestRunner_Release;
|
||||
};
|
||||
89A98AE6D9581F9600000002 /* __TulsiTestRunner_Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
|
||||
BAZEL_TARGET = "//mediapipe/render/ios/camera:OlaCamera";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
FRAMEWORK_SEARCH_PATHS = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "--version";
|
||||
OTHER_LDFLAGS = "--version";
|
||||
OTHER_SWIFT_FLAGS = "--version";
|
||||
PRODUCT_NAME = "mediapipe-render-ios-camera-OlaCamera";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
|
||||
TULSI_BUILD_PATH = mediapipe/render/ios/camera;
|
||||
TULSI_XCODE_VERSION = 13.4.1.13F100;
|
||||
};
|
||||
name = __TulsiTestRunner_Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
FA986D99157C737100000000 /* Build configuration list for PBXNativeTarget "_idx_OlaCamera_D4C1E04C_ios_min15.5" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
89A98AE65559229700000003 /* Debug */,
|
||||
89A98AE696F55C6100000003 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
FA986D991B5CFFDE00000000 /* Build configuration list for PBXNativeTarget "OlaCameraFramework" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
89A98AE65559229700000001 /* Debug */,
|
||||
89A98AE696F55C6100000001 /* Release */,
|
||||
89A98AE6ACBECA4500000001 /* __TulsiTestRunner_Debug */,
|
||||
89A98AE6D9581F9600000001 /* __TulsiTestRunner_Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
FA986D9935B6D51200000000 /* Build configuration list for PBXProject "OlaVideo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
89A98AE65559229700000000 /* Debug */,
|
||||
89A98AE696F55C6100000000 /* Release */,
|
||||
89A98AE6ACBECA4500000000 /* __TulsiTestRunner_Debug */,
|
||||
89A98AE6D9581F9600000000 /* __TulsiTestRunner_Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
FA986D996551CEE700000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
FA986D99757981C400000000 /* Build configuration list for PBXNativeTarget "mediapipe-render-ios-camera-OlaCamera" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
89A98AE65559229700000004 /* Debug */,
|
||||
89A98AE696F55C6100000004 /* Release */,
|
||||
89A98AE6ACBECA4500000002 /* __TulsiTestRunner_Debug */,
|
||||
89A98AE6D9581F9600000002 /* __TulsiTestRunner_Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
FA986D99AFC9DC8A00000000 /* Build configuration list for PBXNativeTarget "_idx_OlaCamera_D4C1E04C_ios_min11.0" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
89A98AE65559229700000002 /* Debug */,
|
||||
89A98AE696F55C6100000002 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = E8D406AA778D00B000000000 /* Project object */;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildSystemType</key>
|
||||
<string>Original</string>
|
||||
<key>DisableBuildSystemDeprecationDiagnostic</key>
|
||||
<true/>
|
||||
<key>DisableBuildSystemDeprecationWarning</key>
|
||||
<true/>
|
||||
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
<Scheme version="1.3" LastUpgradeVersion="1000">
|
||||
<BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5015522F68E00000000" BuildableIdentifier="primary" BuildableName="OlaCameraFramework.framework" BlueprintName="OlaCameraFramework" ReferencedContainer="container:OlaVideo.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES">
|
||||
<Testables></Testables>
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BuildableIdentifier="primary" ReferencedContainer="container:OlaVideo.xcodeproj" BlueprintIdentifier="D807E5015522F68E00000000" BuildableName="OlaCameraFramework.framework" BlueprintName="OlaCameraFramework"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</TestAction>
|
||||
<LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" debugDocumentVersioning="YES" buildConfiguration="Debug" launchStyle="0" useCustomWorkingDirectory="NO" debugServiceExtension="internal" customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB">
|
||||
<EnvironmentVariables></EnvironmentVariables>
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="OlaCameraFramework.framework" BlueprintName="OlaCameraFramework" ReferencedContainer="container:OlaVideo.xcodeproj" BlueprintIdentifier="D807E5015522F68E00000000"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" debugDocumentVersioning="YES">
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BuildableIdentifier="primary" ReferencedContainer="container:OlaVideo.xcodeproj" BuildableName="OlaCameraFramework.framework" BlueprintName="OlaCameraFramework" BlueprintIdentifier="D807E5015522F68E00000000"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
|
||||
<ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
<Scheme LastUpgradeVersion="1000" version="1.3">
|
||||
<BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_OlaCamera_D4C1E04C_ios_min11.0.a" BuildableIdentifier="primary" ReferencedContainer="container:OlaVideo.xcodeproj" BlueprintIdentifier="D807E5011D3F081800000000" BlueprintName="_idx_OlaCamera_D4C1E04C_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaVideo.xcodeproj" BlueprintName="_idx_OlaCamera_D4C1E04C_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E501DA646DFC00000000" BuildableName="lib_idx_OlaCamera_D4C1E04C_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB">
|
||||
<Testables></Testables>
|
||||
</TestAction>
|
||||
<LaunchAction allowLocationSimulation="YES" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" ignoresPersistentStateOnLaunch="NO" debugDocumentVersioning="YES" useCustomWorkingDirectory="NO">
|
||||
<EnvironmentVariables></EnvironmentVariables>
|
||||
</LaunchAction>
|
||||
<ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="Release"></ProfileAction>
|
||||
<AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
|
||||
<ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
<Scheme version="1.3" LastUpgradeVersion="1000">
|
||||
<BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaVideo.xcodeproj" BlueprintName="mediapipe-render-ios-camera-OlaCamera" BlueprintIdentifier="D807E50193F26E1000000000" BuildableName="libmediapipe-render-ios-camera-OlaCamera.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" shouldUseLaunchSchemeArgsEnv="YES" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug">
|
||||
<Testables></Testables>
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BlueprintName="mediapipe-render-ios-camera-OlaCamera" ReferencedContainer="container:OlaVideo.xcodeproj" BlueprintIdentifier="D807E50193F26E1000000000" BuildableName="libmediapipe-render-ios-camera-OlaCamera.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</TestAction>
|
||||
<LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" allowLocationSimulation="YES" debugDocumentVersioning="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" useCustomWorkingDirectory="NO" ignoresPersistentStateOnLaunch="NO" launchStyle="0" debugServiceExtension="internal">
|
||||
<EnvironmentVariables></EnvironmentVariables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference ReferencedContainer="container:OlaVideo.xcodeproj" BuildableName="libmediapipe-render-ios-camera-OlaCamera.a" BlueprintName="mediapipe-render-ios-camera-OlaCamera" BuildableIdentifier="primary" BlueprintIdentifier="D807E50193F26E1000000000"></BuildableReference>
|
||||
</MacroExpansion>
|
||||
</LaunchAction>
|
||||
<ProfileAction debugDocumentVersioning="YES" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Release" useCustomWorkingDirectory="NO">
|
||||
<MacroExpansion>
|
||||
<BuildableReference BuildableName="libmediapipe-render-ios-camera-OlaCamera.a" BlueprintName="mediapipe-render-ios-camera-OlaCamera" BuildableIdentifier="primary" BlueprintIdentifier="D807E50193F26E1000000000" ReferencedContainer="container:OlaVideo.xcodeproj"></BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
|
||||
<ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
|
||||
</Scheme>
|
|
@ -1,15 +1,10 @@
|
|||
{
|
||||
"additionalFilePaths" : [
|
||||
"mediapipe/render/ios/BUILD"
|
||||
"mediapipe/render/ios/camera/BUILD"
|
||||
],
|
||||
"buildTargets" : [
|
||||
"//mediapipe/render/core:core",
|
||||
"//mediapipe/render/core:core-ios",
|
||||
"//mediapipe/render/core:gpuimagemacros",
|
||||
"//mediapipe/render/core:gpuimagemath",
|
||||
"//mediapipe/render/core:gpuimageutil",
|
||||
"//mediapipe/render/core:ref",
|
||||
"//mediapipe/render/ios:OlaRenderDevelopFramework"
|
||||
"//mediapipe/render/ios/camera:OlaCamera",
|
||||
"//mediapipe/render/ios/camera:OlaCameraFramework"
|
||||
],
|
||||
"optionSet" : {
|
||||
"BazelBuildOptionsDebug" : {
|
||||
|
@ -30,6 +25,9 @@
|
|||
"BuildActionPreActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"CLANG_CXX_LANGUAGE_STANDARD" : {
|
||||
"p" : "c++17"
|
||||
},
|
||||
"CommandlineArguments" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
|
@ -57,8 +55,6 @@
|
|||
},
|
||||
"projectName" : "OlaVideo",
|
||||
"sourceFilters" : [
|
||||
"mediapipe/render/core",
|
||||
"mediapipe/render/core/math",
|
||||
"mediapipe/render/ios"
|
||||
"mediapipe/render/ios/camera"
|
||||
]
|
||||
}
|
|
@ -10,8 +10,7 @@
|
|||
}
|
||||
},
|
||||
"packages" : [
|
||||
"mediapipe/render/core",
|
||||
"mediapipe/render/ios"
|
||||
"mediapipe/render/ios/camera"
|
||||
],
|
||||
"projectName" : "OlaVideo",
|
||||
"workspaceRoot" : "../../../.."
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface OlaRenderPlayground : NSObject
|
||||
|
||||
- (instancetype)init;
|
||||
|
||||
@end
|
|
@ -0,0 +1,18 @@
|
|||
#import "OlaRenderPlayground.h"
|
||||
|
||||
@interface OlaRenderPlayground ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation OlaRenderPlayground
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,13 +1,17 @@
|
|||
cc_library(
|
||||
name = "FaceMeshGPULibrary",
|
||||
copts = ["-std=c++17"],
|
||||
srcs = ["face_mesh_module.hpp"],
|
||||
srcs = [
|
||||
"face_mesh_module.hpp",
|
||||
|
||||
],
|
||||
hdrs = ["face_mesh_module.cpp"],
|
||||
data = [
|
||||
"//mediapipe/graphs/face_mesh:face_mesh_mobile_gpu.binarypb",
|
||||
"//mediapipe/modules/face_detection:face_detection_short_range.tflite",
|
||||
"//mediapipe/modules/face_landmark:face_landmark_with_attention.tflite",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//mediapipe/render/module/common:olamodule_common_library",
|
||||
] + select({
|
||||
|
@ -18,4 +22,4 @@ cc_library(
|
|||
"//mediapipe/framework/formats:landmark_cc_proto",
|
||||
],
|
||||
}),
|
||||
)
|
||||
)
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
{
|
||||
"additionalFilePaths" : [
|
||||
"mediapipe/render/module/beauty/ios/BUILD"
|
||||
],
|
||||
"buildTargets" : [
|
||||
"//mediapipe/render/module/beauty/ios:OlaFaceUnityFramework",
|
||||
"//mediapipe/render/module/beauty/ios:OlaFaceUnityLibrary"
|
||||
],
|
||||
"optionSet" : {
|
||||
"BazelBuildOptionsDebug" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"BazelBuildOptionsRelease" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"BazelBuildStartupOptionsDebug" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"BazelBuildStartupOptionsRelease" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"BuildActionPostActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"BuildActionPreActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"CLANG_CXX_LANGUAGE_STANDARD" : {
|
||||
"p" : "c++17"
|
||||
},
|
||||
"CommandlineArguments" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"EnvironmentVariables" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"LaunchActionPostActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"LaunchActionPreActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"ProjectGenerationBazelStartupOptions" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"ProjectGenerationPlatformConfiguration" : {
|
||||
"p" : "ios_arm64"
|
||||
},
|
||||
"TestActionPostActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
},
|
||||
"TestActionPreActionScript" : {
|
||||
"p" : "$(inherited)"
|
||||
}
|
||||
},
|
||||
"projectName" : "OlaFaceUnity",
|
||||
"sourceFilters" : [
|
||||
"mediapipe/calculators",
|
||||
"mediapipe/calculators/core",
|
||||
"mediapipe/calculators/image",
|
||||
"mediapipe/calculators/internal",
|
||||
"mediapipe/calculators/tensor",
|
||||
"mediapipe/calculators/tflite",
|
||||
"mediapipe/calculators/util",
|
||||
"mediapipe/gpu",
|
||||
"mediapipe/graphs",
|
||||
"mediapipe/graphs/face_mesh",
|
||||
"mediapipe/graphs/face_mesh/calculators",
|
||||
"mediapipe/graphs/face_mesh/subgraphs",
|
||||
"mediapipe/modules",
|
||||
"mediapipe/modules/face_detection",
|
||||
"mediapipe/modules/face_landmark",
|
||||
"mediapipe/objc",
|
||||
"mediapipe/render",
|
||||
"mediapipe/render/core",
|
||||
"mediapipe/render/core/math",
|
||||
"mediapipe/render/module",
|
||||
"mediapipe/render/module/beauty",
|
||||
"mediapipe/render/module/beauty/ios",
|
||||
"mediapipe/render/module/common",
|
||||
"mediapipe/util",
|
||||
"mediapipe/util/android",
|
||||
"mediapipe/util/android/file",
|
||||
"mediapipe/util/android/file/base",
|
||||
"mediapipe/util/tflite",
|
||||
"mediapipe/util/tflite/operations",
|
||||
"third_party"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"configDefaults" : {
|
||||
"optionSet" : {
|
||||
|
||||
}
|
||||
},
|
||||
"packages" : [
|
||||
"mediapipe/render/module/beauty/ios"
|
||||
],
|
||||
"projectName" : "OlaFaceUnity",
|
||||
"workspaceRoot" : "../../../../.."
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_framework")
|
||||
ios_framework(
|
||||
name = "OlaFaceUnityFramework",
|
||||
hdrs = [
|
||||
"OlaFaceUnity.h",
|
||||
],
|
||||
infoplists = ["Info.plist"],
|
||||
bundle_id = "com.ola.olarender.develop",
|
||||
families = ["iphone", "ipad"],
|
||||
minimum_os_version = "11.0",
|
||||
deps = [
|
||||
":OlaFaceUnityLibrary",
|
||||
],
|
||||
)
|
||||
|
||||
objc_library(
|
||||
name = "OlaFaceUnityLibrary",
|
||||
hdrs = ["OlaFaceUnity.h"],
|
||||
srcs = ["OlaFaceUnity.mm"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//mediapipe/render/core:core-ios",
|
||||
"//mediapipe/render/module/beauty:FaceMeshGPULibrary",
|
||||
"@ios_opencv//:OpencvFramework",
|
||||
]
|
||||
)
|
22
mediapipe/render/module/beauty/ios/Info.plist
Normal file
22
mediapipe/render/module/beauty/ios/Info.plist
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"additionalFilePaths" : [
|
||||
"mediapipe/render/module/beauty/ios/BUILD"
|
||||
],
|
||||
"buildTargets" : [
|
||||
"//mediapipe/render/module/beauty/ios:OlaFaceUnityFramework",
|
||||
"//mediapipe/render/module/beauty/ios:OlaFaceUnityLibrary"
|
||||
],
|
||||
"optionSet" : {
|
||||
"CLANG_CXX_LANGUAGE_STANDARD" : {
|
||||
"p" : "c++17"
|
||||
},
|
||||
"ProjectGenerationPlatformConfiguration" : {
|
||||
"p" : "ios_arm64"
|
||||
}
|
||||
},
|
||||
"projectName" : "OlaFaceUnity",
|
||||
"sourceFilters" : [
|
||||
"mediapipe/calculators",
|
||||
"mediapipe/calculators/core",
|
||||
"mediapipe/calculators/image",
|
||||
"mediapipe/calculators/internal",
|
||||
"mediapipe/calculators/tensor",
|
||||
"mediapipe/calculators/tflite",
|
||||
"mediapipe/calculators/util",
|
||||
"mediapipe/gpu",
|
||||
"mediapipe/graphs",
|
||||
"mediapipe/graphs/face_mesh",
|
||||
"mediapipe/graphs/face_mesh/calculators",
|
||||
"mediapipe/graphs/face_mesh/subgraphs",
|
||||
"mediapipe/modules",
|
||||
"mediapipe/modules/face_detection",
|
||||
"mediapipe/modules/face_landmark",
|
||||
"mediapipe/objc",
|
||||
"mediapipe/render",
|
||||
"mediapipe/render/core",
|
||||
"mediapipe/render/core/math",
|
||||
"mediapipe/render/module",
|
||||
"mediapipe/render/module/beauty",
|
||||
"mediapipe/render/module/beauty/ios",
|
||||
"mediapipe/render/module/common",
|
||||
"mediapipe/util",
|
||||
"mediapipe/util/android",
|
||||
"mediapipe/util/android/file",
|
||||
"mediapipe/util/android/file/base",
|
||||
"mediapipe/util/tflite",
|
||||
"mediapipe/util/tflite/operations",
|
||||
"third_party"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Stub Info.plist (do not edit)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Stub Info.plist for a watchOS app extension (do not edit)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionPointIdentifier</key>
|
||||
<string>com.apple.watchkit</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Stub Info.plist for a watchOS app (do not edit)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>WKWatchKitApp</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>application-identifier</key>
|
||||
<string>$(TeamIdentifier).$(BundleIdentifier)</string>
|
||||
<key>com.apple.developer.team-identifier</key>
|
||||
<string>$(TeamIdentifier)</string>
|
||||
<key>get-task-allow</key>
|
||||
<true/>
|
||||
<key>keychain-access-groups</key>
|
||||
<array>
|
||||
<string>$(TeamIdentifier).$(BundleIdentifier)</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.application-identifier</key>
|
||||
<string>$(BundleIdentifier)</string>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.temporary-exception.files.absolute-path.read-only</key>
|
||||
<array>
|
||||
<string>/</string>
|
||||
<string>/</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
|
||||
<array>
|
||||
<string>com.apple.coresymbolicationd</string>
|
||||
<string>com.apple.testmanagerd</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.mach-lookup.local-name</key>
|
||||
<array>
|
||||
<string>com.apple.axserver</string>
|
||||
</array>
|
||||
<key>com.apple.security.temporary-exception.sbpl</key>
|
||||
<array>
|
||||
<string>(allow network-outbound (subpath "/private/tmp"))</string>
|
||||
<string>(allow hid-control)</string>
|
||||
<string>(allow signal)</string>
|
||||
<string>(allow network-outbound (subpath "/private/tmp"))</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,115 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Copy on write with similar behavior to shutil.copy2, when available."""
|
||||
|
||||
import errno
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
|
||||
def _APFSCheck(volume_path):
|
||||
"""Reports if the given path belongs to an APFS volume.
|
||||
|
||||
Args:
|
||||
volume_path: Absolute path to the volume we want to test.
|
||||
|
||||
Returns:
|
||||
True if the volume has been formatted as APFS.
|
||||
False if not.
|
||||
"""
|
||||
output = subprocess.check_output(['diskutil', 'info', volume_path],
|
||||
encoding='utf-8')
|
||||
# Match the output's "Type (Bundle): ..." entry to determine if apfs.
|
||||
target_fs = re.search(r'(?:Type \(Bundle\):) +([^ ]+)', output)
|
||||
if not target_fs:
|
||||
return False
|
||||
filesystem = target_fs.group(1)
|
||||
if 'apfs' not in filesystem:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def _IsOnDevice(path, st_dev):
|
||||
"""Checks if a given path belongs to a FS on a given device.
|
||||
|
||||
Args:
|
||||
path: a filesystem path, possibly to a non-existent file or directory.
|
||||
st_dev: the ID of a device with a filesystem, as in os.stat(...).st_dev.
|
||||
|
||||
Returns:
|
||||
True if the path or (if the path does not exist) its closest existing
|
||||
ancestor exists on the device.
|
||||
False if not.
|
||||
"""
|
||||
if not os.path.isabs(path):
|
||||
path = os.path.abspath(path)
|
||||
try:
|
||||
return os.stat(path).st_dev == st_dev
|
||||
except OSError as err:
|
||||
if err.errno == errno.ENOENT:
|
||||
dirname = os.path.dirname(path)
|
||||
if len(dirname) < len(path):
|
||||
return _IsOnDevice(dirname, st_dev)
|
||||
return False
|
||||
|
||||
# At launch, determine if the root filesystem is APFS.
|
||||
IS_ROOT_APFS = _APFSCheck('/')
|
||||
|
||||
# At launch, determine the root filesystem device ID.
|
||||
ROOT_ST_DEV = os.stat('/').st_dev
|
||||
|
||||
|
||||
def CopyOnWrite(source, dest, tree=False):
|
||||
"""Invokes cp -c to perform a CoW copy2 of all files, like clonefile(2).
|
||||
|
||||
Args:
|
||||
source: Source path to copy.
|
||||
dest: Destination for copying.
|
||||
tree: "True" to copy all child files and folders, like shutil.copytree().
|
||||
"""
|
||||
# Note that this is based on cp, so permissions are copied, unlike shutil's
|
||||
# copyfile method.
|
||||
#
|
||||
# Identical to shutil's copy2 method, used by shutil's move and copytree.
|
||||
cmd = ['cp']
|
||||
if IS_ROOT_APFS and _IsOnDevice(source, ROOT_ST_DEV) and _IsOnDevice(
|
||||
dest, ROOT_ST_DEV):
|
||||
# Copy on write (clone) is possible if both source and destination reside in
|
||||
# the same APFS volume. For simplicity, and since checking FS type can be
|
||||
# expensive, allow CoW only for the root volume.
|
||||
cmd.append('-c')
|
||||
if tree:
|
||||
# Copy recursively if indicated.
|
||||
cmd.append('-R')
|
||||
# Follow symlinks, emulating shutil.copytree defaults.
|
||||
cmd.append('-L')
|
||||
# Preserve all possible file attributes and permissions (copystat/copy2).
|
||||
cmd.extend(['-p', source, dest])
|
||||
try:
|
||||
# Attempt the copy action with cp.
|
||||
subprocess.check_output(cmd)
|
||||
except subprocess.CalledProcessError:
|
||||
# If -c is not supported, use shutil's copy2-based methods directly.
|
||||
if tree:
|
||||
# A partial tree might be left over composed of dirs but no files.
|
||||
# Remove them with rmtree so that they don't interfere with copytree.
|
||||
if os.path.exists(dest):
|
||||
shutil.rmtree(dest)
|
||||
shutil.copytree(source, dest)
|
||||
else:
|
||||
shutil.copy2(source, dest)
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,136 @@
|
|||
# Copyright 2017 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the 'License');
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an 'AS IS' BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Parses a stream of JSON build event protocol messages from a file."""
|
||||
|
||||
import json
|
||||
|
||||
|
||||
class _FileLineReader(object):
|
||||
"""Reads lines from a streaming file.
|
||||
|
||||
This will repeatedly check the file for an entire line to read. It will
|
||||
buffer partial lines until they are completed.
|
||||
This is meant for files that are being modified by an long-living external
|
||||
program.
|
||||
"""
|
||||
|
||||
def __init__(self, file_obj):
|
||||
"""Creates a new FileLineReader object.
|
||||
|
||||
Args:
|
||||
file_obj: The file object to watch.
|
||||
|
||||
Returns:
|
||||
A FileLineReader instance.
|
||||
"""
|
||||
self._file_obj = file_obj
|
||||
self._buffer = []
|
||||
|
||||
def check_for_changes(self):
|
||||
"""Checks the file for any changes, returning the line read if any."""
|
||||
line = self._file_obj.readline()
|
||||
self._buffer.append(line)
|
||||
|
||||
# Only parse complete lines.
|
||||
if not line.endswith('\n'):
|
||||
return None
|
||||
full_line = ''.join(self._buffer)
|
||||
del self._buffer[:]
|
||||
return full_line
|
||||
|
||||
|
||||
class BazelBuildEvent(object):
|
||||
"""Represents a Bazel Build Event.
|
||||
|
||||
Public Properties:
|
||||
event_dict: the source dictionary for this event.
|
||||
stdout: stdout string, if any.
|
||||
stderr: stderr string, if any.
|
||||
files: list of file URIs.
|
||||
"""
|
||||
|
||||
def __init__(self, event_dict):
|
||||
"""Creates a new BazelBuildEvent object.
|
||||
|
||||
Args:
|
||||
event_dict: Dictionary representing a build event
|
||||
|
||||
Returns:
|
||||
A BazelBuildEvent instance.
|
||||
"""
|
||||
self.event_dict = event_dict
|
||||
self.stdout = None
|
||||
self.stderr = None
|
||||
self.files = []
|
||||
if 'progress' in event_dict:
|
||||
self._update_fields_for_progress(event_dict['progress'])
|
||||
if 'namedSetOfFiles' in event_dict:
|
||||
self._update_fields_for_named_set_of_files(event_dict['namedSetOfFiles'])
|
||||
|
||||
def _update_fields_for_progress(self, progress_dict):
|
||||
self.stdout = progress_dict.get('stdout')
|
||||
self.stderr = progress_dict.get('stderr')
|
||||
|
||||
def _update_fields_for_named_set_of_files(self, named_set):
|
||||
files = named_set.get('files', [])
|
||||
for file_obj in files:
|
||||
uri = file_obj.get('uri', '')
|
||||
if uri.startswith('file://'):
|
||||
self.files.append(uri[7:])
|
||||
|
||||
|
||||
class BazelBuildEventsWatcher(object):
|
||||
"""Watches a build events JSON file."""
|
||||
|
||||
def __init__(self, json_file, warning_handler=None):
|
||||
"""Creates a new BazelBuildEventsWatcher object.
|
||||
|
||||
Args:
|
||||
json_file: The JSON file object to watch.
|
||||
warning_handler: Handler function for warnings accepting a single string.
|
||||
|
||||
Returns:
|
||||
A BazelBuildEventsWatcher instance.
|
||||
"""
|
||||
self.file_reader = _FileLineReader(json_file)
|
||||
self.warning_handler = warning_handler
|
||||
self._read_any_events = False
|
||||
|
||||
def has_read_events(self):
|
||||
return self._read_any_events
|
||||
|
||||
def check_for_new_events(self):
|
||||
"""Checks the file for new BazelBuildEvents.
|
||||
|
||||
Returns:
|
||||
A list of all new BazelBuildEvents.
|
||||
"""
|
||||
new_events = []
|
||||
while True:
|
||||
line = self.file_reader.check_for_changes()
|
||||
if not line:
|
||||
break
|
||||
try:
|
||||
build_event_dict = json.loads(line)
|
||||
except (UnicodeDecodeError, ValueError) as e:
|
||||
handler = self.warning_handler
|
||||
if handler:
|
||||
handler('Could not decode BEP event "%s"\n' % line)
|
||||
handler('Received error of %s, "%s"\n' % (type(e), e))
|
||||
break
|
||||
self._read_any_events = True
|
||||
build_event = BazelBuildEvent(build_event_dict)
|
||||
new_events.append(build_event)
|
||||
return new_events
|
|
@ -0,0 +1,274 @@
|
|||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#
|
||||
# Generated by Tulsi to resolve flags during builds.
|
||||
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
def _StandardizeTargetLabel(label):
|
||||
"""Convert labels of form //dir/target to //dir/target:target."""
|
||||
if label is None:
|
||||
return label
|
||||
if not label.startswith('//') and not label.startswith('@'):
|
||||
sys.stderr.write('[WARNING] Target label "{0}" is not fully qualified. '
|
||||
'Labels should start with "@" or "//".\n\n'.format(label))
|
||||
sys.stderr.flush()
|
||||
tokens = label.rsplit('/', 1)
|
||||
if len(tokens) <= 1:
|
||||
return label
|
||||
|
||||
target_base = tokens[0]
|
||||
target = tokens[1]
|
||||
|
||||
if '...' in target or ':' in target:
|
||||
return label
|
||||
return label + ':' + target
|
||||
|
||||
|
||||
class BazelFlags(object):
|
||||
"""Represents Bazel flags."""
|
||||
|
||||
def __init__(self, startup = [], build = []):
|
||||
self.startup = startup
|
||||
self.build = build
|
||||
|
||||
|
||||
class BazelFlagsSet(object):
|
||||
"""Represents a set of Bazel flags which can vary by compilation mode."""
|
||||
|
||||
def __init__(self, debug = None, release = None, flags = None):
|
||||
if debug is None:
|
||||
debug = flags or BazelFlags()
|
||||
if release is None:
|
||||
release = flags or BazelFlags()
|
||||
|
||||
self.debug = debug
|
||||
self.release = release
|
||||
|
||||
def flags(self, is_debug):
|
||||
"""Returns the proper flags (either debug or release)."""
|
||||
return self.debug if is_debug else self.release
|
||||
|
||||
|
||||
class BazelBuildSettings(object):
|
||||
"""Represents a Tulsi project's Bazel settings."""
|
||||
|
||||
def __init__(self, bazel, bazelExecRoot, bazelOutputBase,
|
||||
defaultPlatformConfigId, platformConfigFlags,
|
||||
swiftTargets,
|
||||
cacheAffecting, cacheSafe,
|
||||
swiftOnly, nonSwiftOnly,
|
||||
swiftFeatures, nonSwiftFeatures,
|
||||
projDefault, projTargetMap):
|
||||
self.bazel = bazel
|
||||
self.bazelExecRoot = bazelExecRoot
|
||||
self.bazelOutputBase = bazelOutputBase
|
||||
self.defaultPlatformConfigId = defaultPlatformConfigId
|
||||
self.platformConfigFlags = platformConfigFlags
|
||||
self.swiftTargets = swiftTargets
|
||||
self.cacheAffecting = cacheAffecting
|
||||
self.cacheSafe = cacheSafe
|
||||
self.swiftOnly = swiftOnly
|
||||
self.nonSwiftOnly = nonSwiftOnly
|
||||
self.swiftFeatures = swiftFeatures
|
||||
self.nonSwiftFeatures = nonSwiftFeatures
|
||||
self.projDefault = projDefault
|
||||
self.projTargetMap = projTargetMap
|
||||
|
||||
def features_for_target(self, target, is_swift_override=None):
|
||||
"""Returns an array of enabled features for the given target."""
|
||||
|
||||
target = _StandardizeTargetLabel(target)
|
||||
is_swift = target in self.swiftTargets
|
||||
if is_swift_override is not None:
|
||||
is_swift = is_swift_override
|
||||
|
||||
return self.swiftFeatures if is_swift else self.nonSwiftFeatures
|
||||
|
||||
def flags_for_target(self, target, is_debug,
|
||||
config, is_swift_override=None):
|
||||
"""Returns (bazel, startup flags, build flags) for the given target."""
|
||||
|
||||
target = _StandardizeTargetLabel(target)
|
||||
target_flag_set = self.projTargetMap.get(target)
|
||||
if not target_flag_set:
|
||||
target_flag_set = self.projDefault
|
||||
|
||||
is_swift = target in self.swiftTargets
|
||||
if is_swift_override is not None:
|
||||
is_swift = is_swift_override
|
||||
lang = self.swiftOnly if is_swift else self.nonSwiftOnly
|
||||
|
||||
config_flags = self.platformConfigFlags[config]
|
||||
cache_affecting = self.cacheAffecting.flags(is_debug)
|
||||
cache_safe = self.cacheSafe.flags(is_debug)
|
||||
target = target_flag_set.flags(is_debug)
|
||||
lang = lang.flags(is_debug)
|
||||
|
||||
startupFlags = []
|
||||
startupFlags.extend(target.startup)
|
||||
startupFlags.extend(cache_safe.startup)
|
||||
startupFlags.extend(cache_affecting.startup)
|
||||
startupFlags.extend(lang.startup)
|
||||
|
||||
buildFlags = []
|
||||
buildFlags.extend(target.build)
|
||||
buildFlags.extend(config_flags)
|
||||
buildFlags.extend(cache_safe.build)
|
||||
buildFlags.extend(cache_affecting.build)
|
||||
buildFlags.extend(lang.build)
|
||||
|
||||
return (self.bazel, startupFlags, buildFlags)
|
||||
|
||||
# Default value in case the template does not behave as expected.
|
||||
BUILD_SETTINGS = None
|
||||
|
||||
# Generated by Tulsi. DO NOT EDIT.
|
||||
BUILD_SETTINGS = BazelBuildSettings(
|
||||
'/opt/homebrew/Cellar/bazelisk/1.12.0/bin/bazelisk',
|
||||
'/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc/execroot/mediapipe',
|
||||
'/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc',
|
||||
'ios_arm64',
|
||||
{
|
||||
'ios_sim_arm64': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_sim_arm64',
|
||||
'--watchos_cpus=armv7k',
|
||||
],
|
||||
'macos_x86_64': [
|
||||
'--apple_platform_type=macos',
|
||||
'--cpu=darwin_x86_64',
|
||||
],
|
||||
'macos_arm64': [
|
||||
'--apple_platform_type=macos',
|
||||
'--cpu=darwin_arm64',
|
||||
],
|
||||
'watchos_armv7k': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'watchos_x86_64': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'ios_arm64': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_arm64',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'ios_x86_64': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_x86_64',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'ios_armv7': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_armv7',
|
||||
'--watchos_cpus=armv7k',
|
||||
],
|
||||
'watchos_i386': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
'watchos_arm64_32': [
|
||||
'--apple_platform_type=watchos',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'tvos_arm64': [
|
||||
'--apple_platform_type=tvos',
|
||||
'--tvos_cpus=arm64',
|
||||
],
|
||||
'tvos_x86_64': [
|
||||
'--apple_platform_type=tvos',
|
||||
'--tvos_cpus=x86_64',
|
||||
],
|
||||
'ios_arm64e': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_arm64e',
|
||||
'--watchos_cpus=armv7k,arm64_32',
|
||||
],
|
||||
'macos_arm64e': [
|
||||
'--apple_platform_type=macos',
|
||||
'--cpu=darwin_arm64e',
|
||||
],
|
||||
'ios_i386': [
|
||||
'--apple_platform_type=ios',
|
||||
'--cpu=ios_i386',
|
||||
'--watchos_cpus=i386',
|
||||
],
|
||||
},
|
||||
set(),
|
||||
BazelFlagsSet(
|
||||
debug = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--override_repository=tulsi=/Users/wangrenzhu/Library/Application Support/Tulsi/0.20220209.88/Bazel',
|
||||
'--compilation_mode=dbg',
|
||||
'--define=apple.add_debugger_entitlement=1',
|
||||
'--define=apple.propagate_embedded_extra_outputs=1',
|
||||
],
|
||||
),
|
||||
release = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--override_repository=tulsi=/Users/wangrenzhu/Library/Application Support/Tulsi/0.20220209.88/Bazel',
|
||||
'--compilation_mode=opt',
|
||||
'--strip=always',
|
||||
'--apple_generate_dsym',
|
||||
'--define=apple.add_debugger_entitlement=1',
|
||||
'--define=apple.propagate_embedded_extra_outputs=1',
|
||||
],
|
||||
),
|
||||
),
|
||||
BazelFlagsSet(
|
||||
flags = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--announce_rc',
|
||||
],
|
||||
),
|
||||
),
|
||||
BazelFlagsSet(
|
||||
flags = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--define=apple.experimental.tree_artifact_outputs=1',
|
||||
'--features=debug_prefix_map_pwd_is_dot',
|
||||
],
|
||||
),
|
||||
),
|
||||
BazelFlagsSet(
|
||||
flags = BazelFlags(
|
||||
startup = [],
|
||||
build = [
|
||||
'--define=apple.experimental.tree_artifact_outputs=1',
|
||||
'--features=debug_prefix_map_pwd_is_dot',
|
||||
],
|
||||
),
|
||||
),
|
||||
[
|
||||
'TreeArtifactOutputs',
|
||||
'DebugPathNormalization',
|
||||
],
|
||||
[
|
||||
'TreeArtifactOutputs',
|
||||
'DebugPathNormalization',
|
||||
],
|
||||
BazelFlagsSet(),
|
||||
{},
|
||||
)
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2016 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#
|
||||
# Bridge between Xcode and Bazel for the "clean" action.
|
||||
#
|
||||
# Usage: bazel_clean.sh <bazel_binary_path> <bazel_binary_output_path> <bazel startup options>
|
||||
# Note that the ACTION environment variable is expected to be set to "clean".
|
||||
|
||||
set -eu
|
||||
|
||||
readonly bazel_executable="$1"; shift
|
||||
readonly bazel_bin_dir="$1"; shift
|
||||
|
||||
if [ -z $# ]; then
|
||||
readonly arguments=(clean)
|
||||
else
|
||||
readonly arguments=("$@" clean)
|
||||
fi
|
||||
|
||||
if [[ "${ACTION}" != "clean" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Removes a directory if it exists and is not a symlink.
|
||||
function remove_dir() {
|
||||
directory="$1"
|
||||
|
||||
if [[ -d "${directory}" && ! -L "${directory}" ]]; then
|
||||
rm -r "${directory}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Xcode may have generated a bazel-bin directory after a previous clean.
|
||||
# Remove it to prevent a useless warning.
|
||||
remove_dir "${bazel_bin_dir}"
|
||||
|
||||
(
|
||||
set -x
|
||||
"${bazel_executable}" "${arguments[@]}"
|
||||
)
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# Copyright 2017 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the 'License');
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an 'AS IS' BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Logic to translate Xcode options to Bazel options."""
|
||||
|
||||
|
||||
class BazelOptions(object):
|
||||
"""Converts Xcode features into Bazel command line flags."""
|
||||
|
||||
def __init__(self, xcode_env):
|
||||
"""Creates a new BazelOptions object.
|
||||
|
||||
Args:
|
||||
xcode_env: A dictionary of Xcode environment variables.
|
||||
|
||||
Returns:
|
||||
A BazelOptions instance.
|
||||
"""
|
||||
self.xcode_env = xcode_env
|
||||
|
||||
def bazel_feature_flags(self):
|
||||
"""Returns a list of bazel flags for the current Xcode env configuration."""
|
||||
flags = []
|
||||
if self.xcode_env.get('ENABLE_ADDRESS_SANITIZER') == 'YES':
|
||||
flags.append('--features=asan')
|
||||
if self.xcode_env.get('ENABLE_THREAD_SANITIZER') == 'YES':
|
||||
flags.append('--features=tsan')
|
||||
if self.xcode_env.get('ENABLE_UNDEFINED_BEHAVIOR_SANITIZER') == 'YES':
|
||||
flags.append('--features=ubsan')
|
||||
|
||||
return flags
|
|
@ -0,0 +1,187 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Bootstraps the presence and setup of ~/.lldbinit-tulsiproj."""
|
||||
|
||||
import io
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
|
||||
TULSI_LLDBINIT_FILE = os.path.expanduser('~/.lldbinit-tulsiproj')
|
||||
|
||||
CHANGE_NEEDED = 0
|
||||
NO_CHANGE = 1
|
||||
NOT_FOUND = 2
|
||||
|
||||
|
||||
class BootstrapLLDBInit(object):
|
||||
"""Bootstrap Xcode's preferred lldbinit for Bazel debugging."""
|
||||
|
||||
def _ExtractLLDBInitContent(self, lldbinit_path, source_string,
|
||||
add_source_string):
|
||||
"""Extracts non-Tulsi content in a given lldbinit if needed.
|
||||
|
||||
Args:
|
||||
lldbinit_path: Absolute path to the lldbinit we are writing to.
|
||||
source_string: String that we wish to write or remove from the lldbinit.
|
||||
add_source_string: Boolean indicating whether we intend to write or remove
|
||||
the source string.
|
||||
|
||||
Returns:
|
||||
(int, [string]): A tuple featuring the status code along with the list
|
||||
of strings representing content to write to lldbinit
|
||||
that does not account for the Tulsi-generated strings.
|
||||
Status code will be 0 if Tulsi-generated strings are
|
||||
not all there. Status code will be 1 if we intend to
|
||||
write Tulsi strings and all strings were accounted for.
|
||||
Alternatively, if we intend to remove the Tulsi strings,
|
||||
the status code will be 1 if none of the strings were
|
||||
found. Status code will be 2 if the lldbinit file could
|
||||
not be found.
|
||||
"""
|
||||
if not os.path.isfile(lldbinit_path):
|
||||
return (NOT_FOUND, [])
|
||||
content = []
|
||||
with open(lldbinit_path) as f:
|
||||
ignoring = False
|
||||
|
||||
# Split on the newline. This works as long as the last string isn't
|
||||
# suffixed with \n.
|
||||
source_lines = source_string.split('\n')
|
||||
|
||||
source_idx = 0
|
||||
|
||||
# If the last line was suffixed with \n, last elements would be length
|
||||
# minus 2, accounting for the extra \n.
|
||||
source_last = len(source_lines) - 1
|
||||
|
||||
for line in f:
|
||||
|
||||
# For each line found matching source_string, increment the iterator
|
||||
# and do not append that line to the list.
|
||||
if source_idx <= source_last and source_lines[source_idx] in line:
|
||||
|
||||
# If we intend to write the source string and all lines were found,
|
||||
# return an error code with empty content.
|
||||
if add_source_string and source_idx == source_last:
|
||||
return (NO_CHANGE, [])
|
||||
|
||||
# Increment for each matching line found.
|
||||
source_idx += 1
|
||||
ignoring = True
|
||||
|
||||
if ignoring:
|
||||
|
||||
# If the last line was found...
|
||||
if source_lines[source_last] in line:
|
||||
# Stop ignoring lines and continue appending to content.
|
||||
ignoring = False
|
||||
continue
|
||||
|
||||
# If the line could not be found within source_string, append to the
|
||||
# content array.
|
||||
content.append(line)
|
||||
|
||||
# If we intend to remove the source string and none of the lines to remove
|
||||
# were found, return an error code with empty content.
|
||||
if not add_source_string and source_idx == 0:
|
||||
return (NO_CHANGE, [])
|
||||
|
||||
return (CHANGE_NEEDED, content)
|
||||
|
||||
def _LinkTulsiLLDBInit(self, add_source_string):
|
||||
"""Adds or removes a reference to ~/.lldbinit-tulsiproj to the primary lldbinit file.
|
||||
|
||||
Xcode 8+ executes the contents of the first available lldbinit on startup.
|
||||
To help work around this, an external reference to ~/.lldbinit-tulsiproj is
|
||||
added to that lldbinit. This causes Xcode's lldb-rpc-server to load the
|
||||
possibly modified contents between Debug runs of any given app. Note that
|
||||
this only happens after a Debug session terminates; the cache is only fully
|
||||
invalidated after Xcode is relaunched.
|
||||
|
||||
Args:
|
||||
add_source_string: Boolean indicating whether we intend to write or remove
|
||||
the source string.
|
||||
"""
|
||||
|
||||
# ~/.lldbinit-Xcode is the only lldbinit file that Xcode will read if it is
|
||||
# present, therefore it has priority.
|
||||
lldbinit_path = os.path.expanduser('~/.lldbinit-Xcode')
|
||||
if not os.path.isfile(lldbinit_path):
|
||||
# If ~/.lldbinit-Xcode does not exist, write the reference to
|
||||
# ~/.lldbinit-tulsiproj to ~/.lldbinit, the second lldbinit file that
|
||||
# Xcode will attempt to read if ~/.lldbinit-Xcode isn't present.
|
||||
lldbinit_path = os.path.expanduser('~/.lldbinit')
|
||||
|
||||
# String that we plan to inject or remove from this lldbinit.
|
||||
source_string = ('# <TULSI> LLDB bridge [:\n'
|
||||
'# This was autogenerated by Tulsi in order to modify '
|
||||
'LLDB source-maps at build time.\n'
|
||||
'command source %s\n' % TULSI_LLDBINIT_FILE +
|
||||
'# ]: <TULSI> LLDB bridge')
|
||||
|
||||
# Retrieve the contents of lldbinit if applicable along with a return code.
|
||||
return_code, content = self._ExtractLLDBInitContent(lldbinit_path,
|
||||
source_string,
|
||||
add_source_string)
|
||||
|
||||
out = io.StringIO()
|
||||
|
||||
if add_source_string:
|
||||
if return_code == CHANGE_NEEDED:
|
||||
# Print the existing contents of this ~/.lldbinit without any malformed
|
||||
# tulsi lldbinit block, and add the correct tulsi lldbinit block to the
|
||||
# end of it.
|
||||
for line in content:
|
||||
out.write(line)
|
||||
elif return_code == NO_CHANGE:
|
||||
# If we should ignore the contents of this lldbinit, and it has the
|
||||
# association with ~/.lldbinit-tulsiproj that we want, do not modify it.
|
||||
return
|
||||
|
||||
# Add a newline after the source_string for protection from other elements
|
||||
# within the lldbinit file.
|
||||
out.write(source_string + '\n')
|
||||
else:
|
||||
if return_code != CHANGE_NEEDED:
|
||||
# The source string was not found in the lldbinit so do not modify it.
|
||||
return
|
||||
|
||||
# Print the existing contents of this ~/.lldbinit without the tulsi
|
||||
# lldbinit block.
|
||||
for line in content:
|
||||
out.write(line)
|
||||
|
||||
out.seek(0, os.SEEK_END)
|
||||
if out.tell() == 0:
|
||||
# The file did not contain any content other than the source string so
|
||||
# remove the file altogether.
|
||||
os.remove(lldbinit_path)
|
||||
return
|
||||
|
||||
with open(lldbinit_path, 'w') as outfile:
|
||||
out.seek(0)
|
||||
# Negative length to make copyfileobj write the whole file at once.
|
||||
shutil.copyfileobj(out, outfile, -1)
|
||||
|
||||
def __init__(self, do_inject_link=True):
|
||||
self._LinkTulsiLLDBInit(do_inject_link)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
BootstrapLLDBInit()
|
||||
sys.exit(0)
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2022 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Stub for Xcode's clang invocations to avoid compilation but still create the
|
||||
# expected compiler outputs.
|
||||
|
||||
set -eu
|
||||
|
||||
while test $# -gt 0
|
||||
do
|
||||
case $1 in
|
||||
-MF|--serialize-diagnostics)
|
||||
# TODO: See if we can create a valid diagnostics file (it appear to be
|
||||
# LLVM bitcode), currently we get warnings like:
|
||||
# file.dia:1:1: Could not read serialized diagnostics file: error("Invalid diagnostics signature")
|
||||
shift
|
||||
touch $1
|
||||
;;
|
||||
*.o)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
|
@ -0,0 +1,103 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Symlinks files generated by Bazel into bazel-tulsi-includes for indexing."""
|
||||
|
||||
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
|
||||
class Installer(object):
|
||||
"""Symlinks generated files into bazel-tulsi-includes."""
|
||||
|
||||
def __init__(self, bazel_exec_root, preserve_tulsi_includes=True,
|
||||
output_root=None):
|
||||
"""Initializes the installer with the proper Bazel paths."""
|
||||
|
||||
self.bazel_exec_root = bazel_exec_root
|
||||
self.preserve_tulsi_includes = preserve_tulsi_includes
|
||||
# The folder must begin with an underscore as otherwise Bazel will delete
|
||||
# it whenever it builds. See tulsi_aspects.bzl for futher explanation.
|
||||
if not output_root:
|
||||
output_root = bazel_exec_root
|
||||
self.tulsi_root = os.path.join(output_root, 'bazel-tulsi-includes')
|
||||
|
||||
def PrepareTulsiIncludes(self):
|
||||
"""Creates tulsi includes, possibly removing the old folder."""
|
||||
|
||||
tulsi_root = self.tulsi_root
|
||||
if not self.preserve_tulsi_includes and os.path.exists(tulsi_root):
|
||||
shutil.rmtree(tulsi_root)
|
||||
if not os.path.exists(tulsi_root):
|
||||
os.mkdir(tulsi_root)
|
||||
|
||||
def InstallForTulsiouts(self, tulsiouts):
|
||||
"""Creates tulsi includes and symlinks generated sources."""
|
||||
self.PrepareTulsiIncludes()
|
||||
|
||||
for file_path in tulsiouts:
|
||||
try:
|
||||
output_data = json.load(open(file_path))
|
||||
self.InstallForData(output_data)
|
||||
except (ValueError, IOError) as e:
|
||||
print('Failed to load output data file "%s". %s' % (file_path, e))
|
||||
|
||||
def InstallForData(self, output_data):
|
||||
"""Symlinks generated sources present in the output_data."""
|
||||
bazel_exec_root = self.bazel_exec_root
|
||||
tulsi_root = self.tulsi_root
|
||||
|
||||
for gs in output_data['generated_sources']:
|
||||
real_path, link_path = gs
|
||||
src = os.path.join(bazel_exec_root, real_path)
|
||||
|
||||
# Bazel outputs are not guaranteed to be created if nothing references
|
||||
# them. This check skips the processing if an output was declared
|
||||
# but not created.
|
||||
if not os.path.exists(src):
|
||||
continue
|
||||
|
||||
# The /x/x/ part is here to match the number of directory components
|
||||
# between tulsi root and bazel root. See tulsi_aspects.bzl for futher
|
||||
# explanation.
|
||||
dst = os.path.join(tulsi_root, 'x/x/', link_path)
|
||||
|
||||
dst_dir = os.path.dirname(dst)
|
||||
if not os.path.exists(dst_dir):
|
||||
os.makedirs(dst_dir)
|
||||
|
||||
# It's important to use lexists() here in case dst is a broken symlink
|
||||
# (in which case exists() would return False).
|
||||
if os.path.lexists(dst):
|
||||
# Don't need to do anything if the link hasn't changed.
|
||||
if os.readlink(dst) == src:
|
||||
continue
|
||||
|
||||
# Link changed; must remove it otherwise os.symlink will fail.
|
||||
os.unlink(dst)
|
||||
|
||||
os.symlink(src, dst)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 3:
|
||||
sys.stderr.write('usage: %s <bazel exec root> '
|
||||
'<.tulsiouts JSON files>\n' % sys.argv[0])
|
||||
exit(1)
|
||||
|
||||
Installer(sys.argv[1]).InstallForTulsiouts(sys.argv[2:])
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2022 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Stub for Xcode's ld invocations to avoid linking but still create the expected
|
||||
# linker outputs.
|
||||
|
||||
set -eu
|
||||
|
||||
while test $# -gt 0
|
||||
do
|
||||
case $1 in
|
||||
*.dat)
|
||||
# Create an empty .dat file containing just a simple header.
|
||||
echo -n -e '\x00lld\0' > $1
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2022 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Stub to avoid swiftc but create the expected swiftc outputs."""
|
||||
|
||||
import json
|
||||
import os
|
||||
import pathlib
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def _TouchFile(filepath):
|
||||
"""Touch the given file: create if necessary and update its mtime."""
|
||||
pathlib.Path(filepath).touch()
|
||||
|
||||
|
||||
def _HandleOutputMapFile(filepath):
|
||||
# Touch all output files referenced in the map. See the documentation here:
|
||||
# https://github.com/apple/swift/blob/main/docs/Driver.md#output-file-maps
|
||||
with open(filepath, 'rb') as file:
|
||||
output_map = json.load(file)
|
||||
for single_file_outputs in output_map.values():
|
||||
for output in single_file_outputs.values():
|
||||
_TouchFile(output)
|
||||
|
||||
|
||||
def _CreateModuleFiles(module_path):
|
||||
_TouchFile(module_path)
|
||||
filename_no_ext = os.path.splitext(module_path)[0]
|
||||
_TouchFile(filename_no_ext + '.swiftdoc')
|
||||
_TouchFile(filename_no_ext + '.swiftsourceinfo')
|
||||
|
||||
|
||||
def main(args):
|
||||
# Xcode may call `swiftc -v` which we need to pass through.
|
||||
if args == ['-v'] or args == ['--version']:
|
||||
return subprocess.call(['swiftc', '-v'])
|
||||
|
||||
index = 0
|
||||
num_args = len(args)
|
||||
# Compare against length - 1 since we only care about arguments which come in
|
||||
# pairs.
|
||||
while index < num_args - 1:
|
||||
cur_arg = args[index]
|
||||
|
||||
if cur_arg == '-output-file-map':
|
||||
index += 1
|
||||
output_file_map = args[index]
|
||||
_HandleOutputMapFile(output_file_map)
|
||||
elif cur_arg == '-emit-module-path':
|
||||
index += 1
|
||||
module_path = args[index]
|
||||
_CreateModuleFiles(module_path)
|
||||
elif cur_arg == '-emit-objc-header-path':
|
||||
index += 1
|
||||
header_path = args[index]
|
||||
_TouchFile(header_path)
|
||||
index += 1
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main(sys.argv[1:]))
|
|
@ -0,0 +1,119 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Manages our dSYM SQLite database schema."""
|
||||
|
||||
import errno
|
||||
import os
|
||||
import sqlite3
|
||||
|
||||
|
||||
SQLITE_SYMBOL_CACHE_PATH = os.path.expanduser('~/Library/Application Support/'
|
||||
'Tulsi/Scripts/symbol_cache.db')
|
||||
|
||||
|
||||
class SymbolCacheSchema(object):
|
||||
"""Defines and updates the SQLite database used for DBGShellCommands."""
|
||||
|
||||
current_version = 1
|
||||
|
||||
def UpdateSchemaV1(self, connection):
|
||||
"""Updates the database to the v1 schema.
|
||||
|
||||
Args:
|
||||
connection: Connection to the database that needs to be updated.
|
||||
|
||||
Returns:
|
||||
True if the database reported that it was updated to v1.
|
||||
False if not.
|
||||
"""
|
||||
# Create the table (schema version 1).
|
||||
cursor = connection.cursor()
|
||||
cursor.execute('CREATE TABLE symbol_cache('
|
||||
'uuid TEXT PRIMARY KEY, '
|
||||
'dsym_path TEXT, '
|
||||
'architecture TEXT'
|
||||
');')
|
||||
# NOTE: symbol_cache (uuid) already has an index, as the PRIMARY KEY.
|
||||
# Create a unique index to keep dSYM paths and architectures unique.
|
||||
cursor.execute('CREATE UNIQUE INDEX idx_dsym_arch '
|
||||
'ON '
|
||||
'symbol_cache('
|
||||
'dsym_path, '
|
||||
'architecture'
|
||||
');')
|
||||
cursor.execute('PRAGMA user_version = 1;')
|
||||
|
||||
# Verify the updated user_version, as confirmation of the update.
|
||||
cursor.execute('PRAGMA user_version;')
|
||||
return cursor.fetchone()[0] == 1
|
||||
|
||||
def VerifySchema(self, connection):
|
||||
"""Updates the database to the latest schema.
|
||||
|
||||
Args:
|
||||
connection: Connection to the database that needs to be updated.
|
||||
|
||||
Returns:
|
||||
True if the database reported that it was updated to the latest schema.
|
||||
False if not.
|
||||
"""
|
||||
cursor = connection.cursor()
|
||||
cursor.execute('PRAGMA user_version;') # Default is 0
|
||||
db_version = cursor.fetchone()[0]
|
||||
|
||||
# Update to the latest schema in the given database, if necessary.
|
||||
if db_version < self.current_version:
|
||||
# Future schema updates will build on this.
|
||||
if self.UpdateSchemaV1(connection):
|
||||
db_version = 1
|
||||
|
||||
# Return if the database has been updated to the latest schema.
|
||||
return db_version == self.current_version
|
||||
|
||||
def InitDB(self, db_path):
|
||||
"""Initializes a new connection to a SQLite database.
|
||||
|
||||
Args:
|
||||
db_path: String representing a reference to the SQLite database.
|
||||
|
||||
Returns:
|
||||
A sqlite3.connection object representing an active connection to
|
||||
the database referenced by db_path.
|
||||
"""
|
||||
# If this is not an in-memory SQLite database...
|
||||
if ':memory:' not in db_path:
|
||||
# Create all subdirs before we create a new db or connect to existing.
|
||||
if not os.path.isfile(db_path):
|
||||
try:
|
||||
os.makedirs(os.path.dirname(db_path))
|
||||
except OSError as e:
|
||||
if e.errno != errno.EEXIST:
|
||||
raise
|
||||
|
||||
connection = sqlite3.connect(db_path)
|
||||
|
||||
# Update to the latest schema and return the db connection.
|
||||
if self.VerifySchema(connection):
|
||||
return connection
|
||||
else:
|
||||
return None
|
||||
|
||||
def __init__(self, db_path=SQLITE_SYMBOL_CACHE_PATH):
|
||||
self.connection = self.InitDB(db_path)
|
||||
|
||||
def __del__(self):
|
||||
if self.connection:
|
||||
self.connection.close()
|
|
@ -0,0 +1,77 @@
|
|||
# Copyright 2017 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the 'License');
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an 'AS IS' BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Logging routines used by Tulsi scripts."""
|
||||
|
||||
import logging
|
||||
import logging.handlers
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
def validity_check():
|
||||
"""Returns a warning message from logger initialization, if applicable."""
|
||||
return None
|
||||
|
||||
|
||||
class Logger(object):
|
||||
"""Tulsi specific logging."""
|
||||
|
||||
def __init__(self):
|
||||
logging_dir = os.path.expanduser('~/Library/Application Support/Tulsi')
|
||||
if not os.path.exists(logging_dir):
|
||||
os.mkdir(logging_dir)
|
||||
|
||||
logfile = os.path.join(logging_dir, 'build_log.txt')
|
||||
|
||||
# Currently only creates a single logger called 'tulsi_logging'. If
|
||||
# additional loggers are needed, consider adding a name attribute to the
|
||||
# Logger.
|
||||
self._logger = logging.getLogger('tulsi_logging')
|
||||
self._logger.setLevel(logging.INFO)
|
||||
|
||||
try:
|
||||
file_handler = logging.handlers.RotatingFileHandler(logfile,
|
||||
backupCount=20)
|
||||
file_handler.setLevel(logging.INFO)
|
||||
# Create a new log file for each build.
|
||||
file_handler.doRollover()
|
||||
self._logger.addHandler(file_handler)
|
||||
except (IOError, OSError) as err:
|
||||
filename = 'none'
|
||||
if hasattr(err, 'filename'):
|
||||
filename = err.filename
|
||||
sys.stderr.write('Failed to set up logging to file: %s (%s).\n' %
|
||||
(os.strerror(err.errno), filename))
|
||||
sys.stderr.flush()
|
||||
|
||||
console = logging.StreamHandler()
|
||||
console.setLevel(logging.INFO)
|
||||
self._logger.addHandler(console)
|
||||
|
||||
def log_bazel_message(self, message):
|
||||
self._logger.info(message)
|
||||
|
||||
def log_action(self, action_name, action_id, seconds, start=None, end=None):
|
||||
"""Logs the start, duration, and end of an action."""
|
||||
del action_id # Unused by this logger.
|
||||
if start:
|
||||
self._logger.info('<**> %s start: %f', action_name, start)
|
||||
|
||||
# Log to file and print to stdout for display in the Xcode log.
|
||||
self._logger.info('<*> %s completed in %0.3f ms',
|
||||
action_name, seconds * 1000)
|
||||
|
||||
if end:
|
||||
self._logger.info('<**> %s end: %f', action_name, end)
|
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Update the Tulsi dSYM symbol cache."""
|
||||
|
||||
import sqlite3
|
||||
from symbol_cache_schema import SQLITE_SYMBOL_CACHE_PATH
|
||||
from symbol_cache_schema import SymbolCacheSchema
|
||||
|
||||
|
||||
class UpdateSymbolCache(object):
|
||||
"""Provides a common interface to update a UUID referencing a dSYM."""
|
||||
|
||||
def UpdateUUID(self, uuid, dsym_path, arch):
|
||||
"""Updates a given UUID entry in the database.
|
||||
|
||||
Args:
|
||||
uuid: A UUID representing a binary slice in the dSYM bundle.
|
||||
dsym_path: An absolute path to the dSYM bundle.
|
||||
arch: The binary slice's architecture.
|
||||
|
||||
Returns:
|
||||
None: If no error occurred in inserting the new set of values.
|
||||
String: If a sqlite3.error was raised upon attempting to store new
|
||||
values into the dSYM cache.
|
||||
"""
|
||||
con = self.cache_schema.connection
|
||||
cur = con.cursor()
|
||||
# Relies on the UNIQUE constraint between dsym_path + architecture to
|
||||
# update the UUID if dsym_path and arch match an existing pair, or
|
||||
# create a new row if this combination of dsym_path and arch is unique.
|
||||
try:
|
||||
cur.execute('INSERT OR REPLACE INTO symbol_cache '
|
||||
'(uuid, dsym_path, architecture) '
|
||||
'VALUES("%s", "%s", "%s");' % (uuid, dsym_path, arch))
|
||||
con.commit()
|
||||
except sqlite3.Error as e:
|
||||
return e.message
|
||||
return None
|
||||
|
||||
def __init__(self, db_path=SQLITE_SYMBOL_CACHE_PATH):
|
||||
self.cache_schema = SymbolCacheSchema(db_path)
|
|
@ -0,0 +1,111 @@
|
|||
#!/usr/bin/python3
|
||||
# Copyright 2018 The Tulsi Authors. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Invokes Bazel builds for the given target using Tulsi specific flags."""
|
||||
|
||||
|
||||
import argparse
|
||||
import pipes
|
||||
import subprocess
|
||||
import sys
|
||||
from bazel_build_settings import BUILD_SETTINGS
|
||||
|
||||
|
||||
def _FatalError(msg, exit_code=1):
|
||||
"""Prints a fatal error message to stderr and exits."""
|
||||
sys.stderr.write(msg)
|
||||
sys.exit(exit_code)
|
||||
|
||||
|
||||
def _BuildSettingsTargetForTargets(targets):
|
||||
"""Returns the singular target to use when fetching build settings."""
|
||||
return targets[0] if len(targets) == 1 else None
|
||||
|
||||
|
||||
def _CreateCommand(targets, build_settings, test, release,
|
||||
config, xcode_version, force_swift):
|
||||
"""Creates a Bazel command for targets with the specified settings."""
|
||||
target = _BuildSettingsTargetForTargets(targets)
|
||||
bazel, startup, flags = build_settings.flags_for_target(
|
||||
target, not release, config, is_swift_override=force_swift)
|
||||
bazel_action = 'test' if test else 'build'
|
||||
|
||||
command = [bazel]
|
||||
command.extend(startup)
|
||||
command.append(bazel_action)
|
||||
command.extend(flags)
|
||||
if xcode_version:
|
||||
command.append('--xcode_version=%s' % xcode_version)
|
||||
command.append('--tool_tag=tulsi:user_build')
|
||||
command.extend(targets)
|
||||
|
||||
return command
|
||||
|
||||
|
||||
def _QuoteCommandForShell(cmd):
|
||||
cmd = [pipes.quote(x) for x in cmd]
|
||||
return ' '.join(cmd)
|
||||
|
||||
|
||||
def _InterruptSafeCall(cmd):
|
||||
p = subprocess.Popen(cmd)
|
||||
try:
|
||||
return p.wait()
|
||||
except KeyboardInterrupt:
|
||||
return p.wait()
|
||||
|
||||
|
||||
def main():
|
||||
if not BUILD_SETTINGS:
|
||||
_FatalError('Unable to fetch build settings. Please report a Tulsi bug.')
|
||||
|
||||
default_config = BUILD_SETTINGS.defaultPlatformConfigId
|
||||
config_options = BUILD_SETTINGS.platformConfigFlags
|
||||
config_help = (
|
||||
'Bazel apple config (used for flags). Default: {}').format(default_config)
|
||||
|
||||
parser = argparse.ArgumentParser(description='Invoke a Bazel build or test '
|
||||
'with the same flags as Tulsi.')
|
||||
parser.add_argument('--test', dest='test', action='store_true', default=False)
|
||||
parser.add_argument('--release', dest='release', action='store_true',
|
||||
default=False)
|
||||
parser.add_argument('--noprint_cmd', dest='print_cmd', action='store_false',
|
||||
default=True)
|
||||
parser.add_argument('--norun', dest='run', action='store_false', default=True)
|
||||
parser.add_argument('--config', help=config_help, default=default_config,
|
||||
choices=config_options)
|
||||
parser.add_argument('--xcode_version', help='Bazel --xcode_version flag.')
|
||||
parser.add_argument('--force_swift', dest='swift', action='store_true',
|
||||
default=None, help='Forcibly treat the given targets '
|
||||
'as containing Swift.')
|
||||
parser.add_argument('--force_noswift', dest='swift', action='store_false',
|
||||
default=None, help='Forcibly treat the given targets '
|
||||
'as not containing Swift.')
|
||||
parser.add_argument('targets', nargs='+')
|
||||
|
||||
args = parser.parse_args()
|
||||
command = _CreateCommand(args.targets, BUILD_SETTINGS, args.test,
|
||||
args.release, args.config, args.xcode_version,
|
||||
args.swift)
|
||||
if args.print_cmd:
|
||||
print(_QuoteCommandForShell(command))
|
||||
|
||||
if args.run:
|
||||
return _InterruptSafeCall(command)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
|
@ -0,0 +1,6 @@
|
|||
# This file is autogenerated by Tulsi and should not be edited.
|
||||
# This sets lldb's working directory to the Bazel workspace root used by 'OlaFaceUnity.xcodeproj'.
|
||||
platform settings -w "/Users/wangrenzhu/Documents/github/mediapipe-render/"
|
||||
# This enables implicitly loading Clang modules which can be disabled when a Swift module was built with explicit modules enabled.
|
||||
settings set -- target.swift-extra-clang-flags "-fimplicit-module-maps"
|
||||
settings clear target.source-map
|
|
@ -0,0 +1 @@
|
|||
/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc/execroot/mediapipe
|
|
@ -0,0 +1 @@
|
|||
/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc
|
|
@ -0,0 +1 @@
|
|||
/private/var/tmp/_bazel_wangrenzhu/b244be861f40c753b454f38ce4e943dc/execroot/mediapipe
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildSystemType</key>
|
||||
<string>Original</string>
|
||||
<key>DisableBuildSystemDeprecationDiagnostic</key>
|
||||
<true/>
|
||||
<key>DisableBuildSystemDeprecationWarning</key>
|
||||
<true/>
|
||||
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
|
||||
<false/>
|
||||
<key>PreviewsEnabled</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
<Scheme version="1.3" LastUpgradeVersion="1000">
|
||||
<BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501965E9F0C00000000" BuildableName="OlaFaceUnityFramework.framework" BlueprintName="OlaFaceUnityFramework" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES" buildConfiguration="__TulsiTestRunner_Debug">
|
||||
<Testables></Testables>
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BlueprintIdentifier="D807E501965E9F0C00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="OlaFaceUnityFramework.framework" BlueprintName="OlaFaceUnityFramework" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</TestAction>
|
||||
<LaunchAction selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" launchStyle="0" debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" ignoresPersistentStateOnLaunch="NO" debugDocumentVersioning="YES" allowLocationSimulation="YES" buildConfiguration="Debug" useCustomWorkingDirectory="NO">
|
||||
<EnvironmentVariables></EnvironmentVariables>
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="OlaFaceUnityFramework.framework" BlueprintIdentifier="D807E501965E9F0C00000000" BlueprintName="OlaFaceUnityFramework" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release" shouldUseLaunchSchemeArgsEnv="YES" useCustomWorkingDirectory="NO">
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BlueprintName="OlaFaceUnityFramework" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501965E9F0C00000000" BuildableName="OlaFaceUnityFramework.framework" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
|
||||
<ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,598 @@
|
|||
|
||||
<Scheme version="1.3" LastUpgradeVersion="1000">
|
||||
<BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_OlaFaceUnityLibrary_5CE49B93_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5015DAF3A1600000000" BlueprintName="_idx_OlaFaceUnityLibrary_5CE49B93_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E501652D07FE00000000" BlueprintName="_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_image_to_tensor_converter_metal_9AA64D0A_ios_min11.0.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E50125AB3D8C00000000" BlueprintName="_idx_image_to_tensor_converter_metal_9AA64D0A_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_transpose_conv_bias_207EFBC1_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E50128DF669000000000" BlueprintName="_idx_transpose_conv_bias_207EFBC1_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5016B67FEEC00000000" BuildableName="lib_idx_FaceMeshGPULibrary_2BF20B88_ios_min11.0.a" BlueprintName="_idx_FaceMeshGPULibrary_2BF20B88_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501E4CCBCC400000000" BuildableName="lib_idx_split_vector_calculator_6654799A_ios_min11.0.a" BlueprintName="_idx_split_vector_calculator_6654799A_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_begin_loop_calculator_FEDA75EA_ios_min11.0.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5010700315200000000" BlueprintName="_idx_begin_loop_calculator_FEDA75EA_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min15.5.a" BlueprintIdentifier="D807E5015C0B74AE00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501A00763E200000000" BuildableIdentifier="primary" BlueprintName="_idx_inference_calculator_metal_712F45E9_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_inference_calculator_metal_712F45E9_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_pixel_buffer_pool_util_1B0D8C74_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E5016999113E00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_pixel_buffer_pool_util_1B0D8C74_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5.a" BlueprintIdentifier="D807E50198631CBE00000000" BuildableIdentifier="primary" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5012CDA58B600000000" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501F727D6E200000000" BuildableIdentifier="primary" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0.a" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintName="_idx_shader_util_F77AE4F3_ios_min15.5" BuildableName="lib_idx_shader_util_F77AE4F3_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E501BFC8082200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_split_vector_calculator_6654799A_ios_min15.5" BlueprintIdentifier="D807E50153AD96EA00000000" BuildableName="lib_idx_split_vector_calculator_6654799A_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E5015C0B74AE00000000" BuildableName="lib_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_core_core-ios_4EDC2AF0_ios_min15.5.a" BlueprintName="_idx_core_core-ios_4EDC2AF0_ios_min15.5" BlueprintIdentifier="D807E50171C7DBE400000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BlueprintIdentifier="D807E501A20D2A1200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_detection_projection_calculator_9B95E740_ios_min15.5" BlueprintIdentifier="D807E5014BACA9B800000000" BuildableName="lib_idx_detection_projection_calculator_9B95E740_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501A20D2A1200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5012CDA58B600000000" BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5.a" BuildableIdentifier="primary" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_mediapipe_framework_ios_E5983FAB_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E501BBDDDAB800000000" BuildableName="lib_idx_mediapipe_framework_ios_E5983FAB_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min15.5" BlueprintIdentifier="D807E5014594765800000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501D5C6ED8200000000" BlueprintName="_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min15.5" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_clip_vector_size_calculator_02FA2733_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_clip_vector_size_calculator_02FA2733_ios_min11.0" BlueprintIdentifier="D807E501181DA32A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501E67C2A1A00000000" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0.a" BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501970493FA00000000" BuildableName="lib_idx_annotation_overlay_calculator_7B50CB48_ios_min11.0.a" BlueprintName="_idx_annotation_overlay_calculator_7B50CB48_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E50160A115C800000000" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5012CDA58B600000000" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501F727D6E200000000" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintIdentifier="D807E501A20D2A1200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintName="_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min11.0.a" BlueprintIdentifier="D807E501E1D70D7A00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5.a" BuildableIdentifier="primary" BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5" BlueprintIdentifier="D807E5010C83C67C00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501126D7CC600000000" BuildableName="lib_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min15.5.a" BlueprintIdentifier="D807E501652D07FE00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E50160A115C800000000" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501F509D76C00000000" BuildableIdentifier="primary" BlueprintName="_idx_detection_projection_calculator_9B95E740_ios_min11.0" BuildableName="lib_idx_detection_projection_calculator_9B95E740_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_tensors_to_detections_calculator_888E512F_ios_min15.5" BuildableName="lib_idx_tensors_to_detections_calculator_888E512F_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50123AC318600000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50160A115C800000000" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501A20D2A1200000000" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintName="_idx_resource_util_B6FA1F0B_ios_min15.5" BlueprintIdentifier="D807E501D05A039A00000000" BuildableName="lib_idx_resource_util_B6FA1F0B_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5012CDA58B600000000" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5011780241600000000" BuildableIdentifier="primary" BuildableName="lib_idx_begin_loop_calculator_FEDA75EA_ios_min15.5.a" BlueprintName="_idx_begin_loop_calculator_FEDA75EA_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E50198631CBE00000000" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5017039FC3C00000000" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501D40A970600000000" BlueprintName="_idx_pixel_buffer_pool_util_1B0D8C74_ios_min15.5" BuildableName="lib_idx_pixel_buffer_pool_util_1B0D8C74_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E501FE323FCE00000000" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0.a" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min15.5.a" BlueprintIdentifier="D807E5014594765800000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableName="lib_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min11.0.a" BlueprintName="_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min11.0" BlueprintIdentifier="D807E501C07677A200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_cpu_util_B64315B8_ios_min11.0" BuildableName="lib_idx_cpu_util_B64315B8_ios_min11.0.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E501462EFBA200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_tflite_model_loader_F900857E_ios_min15.5" BuildableName="lib_idx_tflite_model_loader_F900857E_ios_min15.5.a" BlueprintIdentifier="D807E5017B881ECA00000000" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min11.0" BlueprintIdentifier="D807E501BA73597200000000" BuildableName="lib_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min11.0.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E50146D4E80800000000" BuildableName="lib_idx_transpose_conv_bias_207EFBC1_ios_min11.0.a" BlueprintName="_idx_transpose_conv_bias_207EFBC1_ios_min11.0" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min11.0" BlueprintIdentifier="D807E501BA73597200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501C07677A200000000" BlueprintName="_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min11.0" BuildableName="lib_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min11.0.a" BlueprintIdentifier="D807E50137FF534E00000000" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0" BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0.a" BlueprintIdentifier="D807E5014EABA32800000000" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min15.5.a" BlueprintName="_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E5014594765800000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501126D7CC600000000" BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min11.0.a" BlueprintName="_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_non_max_suppression_calculator_EA803631_ios_min15.5.a" BlueprintName="_idx_non_max_suppression_calculator_EA803631_ios_min15.5" BlueprintIdentifier="D807E5011BBEB05200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min15.5.a" BlueprintName="_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min15.5" BlueprintIdentifier="D807E501BE53424A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0" BlueprintIdentifier="D807E501FE323FCE00000000" BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min15.5" BlueprintIdentifier="D807E501D5C6ED8200000000" BuildableIdentifier="primary" BuildableName="lib_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BlueprintIdentifier="D807E5017039FC3C00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableName="lib_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min15.5.a" BlueprintName="_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E50134002EA400000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E501F727D6E200000000" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min11.0" BuildableName="lib_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min11.0.a" BlueprintIdentifier="D807E50137FF534E00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableName="lib_idx_gl_calculator_helper_D8986C65_ios_min11.0.a" BlueprintIdentifier="D807E5019537EA2600000000" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gl_calculator_helper_D8986C65_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5" BlueprintIdentifier="D807E50160A115C800000000" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501C7D8DFDE00000000" BlueprintName="_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintName="_idx_MPPGraphGPUData_733A9D5A_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_MPPGraphGPUData_733A9D5A_ios_min11.0.a" BlueprintIdentifier="D807E501680A55C800000000" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_tflite_custom_op_resolver_calculator_042597A8_ios_min15.5.a" BlueprintName="_idx_tflite_custom_op_resolver_calculator_042597A8_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50113B9FA2E00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501E67C2A1A00000000" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E50198D05C4A00000000" BuildableName="lib_idx_gl_calculator_helper_D8986C65_ios_min15.5.a" BuildableIdentifier="primary" BlueprintName="_idx_gl_calculator_helper_D8986C65_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5013476F00000000000" BlueprintName="_idx_clip_vector_size_calculator_02FA2733_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_clip_vector_size_calculator_02FA2733_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501E67C2A1A00000000" BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintName="_idx_MPPMetalHelper_7397E6A5_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E5014C0DA67000000000" BuildableName="lib_idx_MPPMetalHelper_7397E6A5_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_mediapipe_framework_ios_E5983FAB_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5014843522C00000000" BlueprintName="_idx_mediapipe_framework_ios_E5983FAB_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BlueprintIdentifier="D807E5017039FC3C00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableName="lib_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501D625937400000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50162D4D60C00000000" BuildableName="lib_idx_resource_util_B6FA1F0B_ios_min11.0.a" BlueprintName="_idx_resource_util_B6FA1F0B_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BlueprintIdentifier="D807E501A20D2A1200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableName="lib_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintName="_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min11.0" BlueprintIdentifier="D807E501C7D8DFDE00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501FE323FCE00000000" BuildableIdentifier="primary" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintName="_idx_core_core-ios_4EDC2AF0_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E5017073403C00000000" BuildableName="lib_idx_core_core-ios_4EDC2AF0_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintName="_idx_MPPMetalUtil_E63D8158_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E50112A6202400000000" BuildableName="lib_idx_MPPMetalUtil_E63D8158_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E501C07677A200000000" BuildableName="lib_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5016749B1D400000000" BuildableName="lib_idx_non_max_suppression_calculator_EA803631_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_non_max_suppression_calculator_EA803631_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E50133E4A23C00000000" BuildableIdentifier="primary" BuildableName="lib_idx_cpu_op_resolver_741B9450_ios_min11.0.a" BlueprintName="_idx_cpu_op_resolver_741B9450_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501D5C6ED8200000000" BlueprintName="_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min15.5" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E5014EABA32800000000" BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_image_to_tensor_calculator_C3DB5E1E_ios_min15.5.a" BuildableIdentifier="primary" BlueprintName="_idx_image_to_tensor_calculator_C3DB5E1E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501A2DE10FC00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0.a" BlueprintIdentifier="D807E501FE323FCE00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501107AC04000000000" BlueprintName="_idx_cpu_op_resolver_741B9450_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_cpu_op_resolver_741B9450_ios_min15.5.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E50171C7DBE400000000" BlueprintName="_idx_core_core-ios_4EDC2AF0_ios_min15.5" BuildableName="lib_idx_core_core-ios_4EDC2AF0_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableName="lib_idx_core_core-ios_4EDC2AF0_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_core_core-ios_4EDC2AF0_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E5017073403C00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E501E67C2A1A00000000" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min11.0.a" BlueprintIdentifier="D807E5015F25395000000000" BlueprintName="_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5014EF47AD000000000" BuildableName="lib_idx_util_28409609_ios_min11.0.a" BlueprintName="_idx_util_28409609_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min15.5" BlueprintIdentifier="D807E5012EDC5D5A00000000" BuildableIdentifier="primary" BuildableName="lib_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501F70D126A00000000" BuildableIdentifier="primary" BuildableName="lib_idx_MPPMetalHelper_7397E6A5_ios_min11.0.a" BlueprintName="_idx_MPPMetalHelper_7397E6A5_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017039FC3C00000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501E1EABCB600000000" BuildableName="lib_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min15.5.a" BlueprintName="_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501BA73597200000000" BuildableName="lib_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_olamodule_common_library_4A2D4D8A_ios_min11.0.a" BlueprintName="_idx_olamodule_common_library_4A2D4D8A_ios_min11.0" BlueprintIdentifier="D807E501F07E016E00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5" BlueprintIdentifier="D807E50198631CBE00000000" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintIdentifier="D807E501A20D2A1200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintIdentifier="D807E5017039FC3C00000000" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min15.5.a" BlueprintName="_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E5012EDC5D5A00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501F8F8F01C00000000" BlueprintName="_idx_util_28409609_ios_min15.5" BuildableIdentifier="primary" BuildableName="lib_idx_util_28409609_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_OlaFaceUnityLibrary_5CE49B93_ios_min11.0.a" BlueprintIdentifier="D807E5016335695200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_OlaFaceUnityLibrary_5CE49B93_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableIdentifier="primary" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_tflite_model_loader_F900857E_ios_min11.0" BlueprintIdentifier="D807E50106BDEB2A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_tflite_model_loader_F900857E_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501D971168E00000000" BlueprintName="_idx_olamodule_common_library_4A2D4D8A_ios_min15.5" BuildableName="lib_idx_olamodule_common_library_4A2D4D8A_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501D625937400000000" BuildableName="lib_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min11.0.a" BlueprintName="_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForArchiving="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_MPPMetalUtil_E63D8158_ios_min11.0.a" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50125CEBB5E00000000" BlueprintName="_idx_MPPMetalUtil_E63D8158_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableName="lib_idx_image_to_tensor_calculator_C3DB5E1E_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E501B392E15C00000000" BlueprintName="_idx_image_to_tensor_calculator_C3DB5E1E_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5017039FC3C00000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0.a" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min11.0" BlueprintIdentifier="D807E501F727D6E200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0.a" BlueprintIdentifier="D807E501FE323FCE00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501A20D2A1200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintName="_idx_math_3043B97F_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E5012B54506200000000" BuildableName="lib_idx_math_3043B97F_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5015F25395000000000" BlueprintName="_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableName="lib_idx_annotation_renderer_BE836363_ios_min11.0.a" BlueprintIdentifier="D807E5010AA81EC200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_annotation_renderer_BE836363_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_image_to_tensor_converter_opencv_F40C896E_ios_min15.5.a" BlueprintName="_idx_image_to_tensor_converter_opencv_F40C896E_ios_min15.5" BlueprintIdentifier="D807E5015F558F1C00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5016D63274000000000" BlueprintName="_idx_tensors_to_detections_calculator_888E512F_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_tensors_to_detections_calculator_888E512F_ios_min11.0.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5016B9DD04400000000" BuildableName="lib_idx_shader_util_F77AE4F3_ios_min11.0.a" BuildableIdentifier="primary" BlueprintName="_idx_shader_util_F77AE4F3_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5017039FC3C00000000" BuildableIdentifier="primary" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5015AF9572600000000" BuildableName="lib_idx_tflite_custom_op_resolver_calculator_042597A8_ios_min11.0.a" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_tflite_custom_op_resolver_calculator_042597A8_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableName="lib_idx_image_to_tensor_converter_opencv_F40C896E_ios_min11.0.a" BlueprintName="_idx_image_to_tensor_converter_opencv_F40C896E_ios_min11.0" BlueprintIdentifier="D807E50145A4DD6400000000" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary" BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501E12D6E0E00000000" BuildableName="lib_idx_gl_simple_shaders_6A91D77D_ios_min11.0.a" BlueprintName="_idx_gl_simple_shaders_6A91D77D_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_op_resolver_E390FDC7_ios_min15.5" BuildableName="lib_idx_op_resolver_E390FDC7_ios_min15.5.a" BlueprintIdentifier="D807E5015EC7447A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableName="lib_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min15.5.a" BlueprintName="_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min15.5" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50134002EA400000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E50165CC282600000000" BlueprintName="_idx_annotation_overlay_calculator_7B50CB48_ios_min15.5" BuildableName="lib_idx_annotation_overlay_calculator_7B50CB48_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501E1D70D7A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min11.0.a" BlueprintName="_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501F3D581C800000000" BlueprintName="_idx_math_3043B97F_ios_min15.5" BuildableIdentifier="primary" BuildableName="lib_idx_math_3043B97F_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min15.5.a" BlueprintIdentifier="D807E501E1EABCB600000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E5010C83C67C00000000" BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501B9EA5DEE00000000" BlueprintName="_idx_inference_calculator_metal_712F45E9_ios_min11.0" BuildableName="lib_idx_inference_calculator_metal_712F45E9_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501B5CD309A00000000" BuildableName="lib_idx_image_to_tensor_converter_metal_9AA64D0A_ios_min15.5.a" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_image_to_tensor_converter_metal_9AA64D0A_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_gl_simple_shaders_6A91D77D_ios_min15.5" BlueprintIdentifier="D807E50176D9570200000000" BuildableName="lib_idx_gl_simple_shaders_6A91D77D_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5017073403C00000000" BuildableName="lib_idx_core_core-ios_4EDC2AF0_ios_min11.0.a" BlueprintName="_idx_core_core-ios_4EDC2AF0_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintName="_idx_op_resolver_E390FDC7_ios_min11.0" BlueprintIdentifier="D807E5013C33B88E00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_op_resolver_E390FDC7_ios_min11.0.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501A20D2A1200000000" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForRunning="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5015C0B74AE00000000" BuildableName="lib_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min15.5.a" BlueprintName="_idx_tensors_to_landmarks_calculator_tensors_to_floats_calculator_7ED8D1B5_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5014EABA32800000000" BuildableIdentifier="primary" BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E5010C83C67C00000000" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForArchiving="YES" buildForRunning="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E50160A115C800000000" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5.a" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501BE53424A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min15.5" BuildableName="lib_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForAnalyzing="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min11.0.a" BlueprintName="_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min11.0" BlueprintIdentifier="D807E501C7D8DFDE00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E50198631CBE00000000" BuildableName="lib_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5.a" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_rectangle_util_callback_packet_calculator_image_to_tensor_utils_7F9F05C6_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E5014EABA32800000000" BuildableName="lib_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_transform_tensor_bilinear_landmarks_to_transform_matrix_transform_landmarks_AB0D0716_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5" BlueprintIdentifier="D807E50160A115C800000000" BuildableIdentifier="primary" BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501F57C17F000000000" BuildableIdentifier="primary" BlueprintName="_idx_FaceMeshGPULibrary_2BF20B88_ios_min15.5" BuildableName="lib_idx_FaceMeshGPULibrary_2BF20B88_ios_min15.5.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BuildableName="lib_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5.a" BlueprintName="_idx_ref_gpuimagemath_gpuimageutil_8BF43A5D_ios_min15.5" BlueprintIdentifier="D807E5010C83C67C00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501126D7CC600000000" BlueprintName="_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min11.0" BuildableName="lib_idx_gpu_buffer_storage_gpu_buffer_format_BA46520A_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_cpu_util_B64315B8_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_cpu_util_B64315B8_ios_min15.5.a" BlueprintIdentifier="D807E50184D8D44000000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary" BlueprintIdentifier="D807E5015F25395000000000" BuildableName="lib_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min11.0.a" BlueprintName="_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min15.5.a" BuildableIdentifier="primary" BlueprintIdentifier="D807E501652D07FE00000000" BlueprintName="_idx_previous_loopback_calculator_header_util_D9AEB78A_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BlueprintIdentifier="D807E501A20D2A1200000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5012EDC5D5A00000000" BlueprintName="_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min15.5" BuildableName="lib_idx_max_unpooling_max_pool_argmax_92E156D6_ios_min15.5.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintName="_idx_MPPGraphGPUData_733A9D5A_ios_min15.5" BuildableName="lib_idx_MPPGraphGPUData_733A9D5A_ios_min15.5.a" BlueprintIdentifier="D807E5013F591E2E00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501BE53424A00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min15.5.a" BuildableIdentifier="primary" BlueprintName="_idx_gpu_buffer_multi_pool_gl_context_4D0E07B8_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForProfiling="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min11.0.a" BlueprintName="_idx_image_properties_calculator_gpu_service_6BF370A2_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E50137FF534E00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForTesting="YES" buildForRunning="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0.a" BlueprintIdentifier="D807E501FE323FCE00000000" BlueprintName="_idx_gpu_buffer_storage_cv_pixel_buffer_gl_texture_buffer_gl_texture_buffer_pool_gl_texture_view_gpu_buffer_26C42D3D_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E501D9E967BE00000000" BlueprintName="_idx_annotation_renderer_BE836363_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_annotation_renderer_BE836363_ios_min15.5.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForAnalyzing="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min15.5.a" BlueprintName="_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min15.5" BuildableIdentifier="primary" BlueprintIdentifier="D807E50134002EA400000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES" buildForArchiving="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501D625937400000000" BuildableName="lib_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintName="_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min11.0"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForProfiling="YES" buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableName="lib_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min15.5.a" BlueprintIdentifier="D807E501E1EABCB600000000" BuildableIdentifier="primary" BlueprintName="_idx_inference_calculator_interface_inference_calculator_cpu_AEFE6570_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForAnalyzing="YES" buildForTesting="YES" buildForProfiling="YES" buildForArchiving="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501A20D2A1200000000" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E5017039FC3C00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min15.5"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForTesting="YES">
|
||||
<BuildableReference BuildableName="lib_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0.a" BlueprintName="_idx_to_image_calculator_association_norm_rect_calculator_collection_has_min_size_calculator_constant_side_packet_calculator_detections_to_rects_calculator_detections_to_render_data_etc_A15F304E_ios_min11.0" BuildableIdentifier="primary" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501A20D2A1200000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForArchiving="YES" buildForRunning="YES" buildForProfiling="YES" buildForTesting="YES" buildForAnalyzing="YES">
|
||||
<BuildableReference BuildableIdentifier="primary" BuildableName="lib_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min11.0.a" BlueprintName="_idx_tflite_model_calculator_end_loop_calculator_6A228ACC_ios_min11.0" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BlueprintIdentifier="D807E501E1D70D7A00000000"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES" buildForTesting="YES">
|
||||
<BuildableReference BlueprintIdentifier="D807E50171C7DBE400000000" BlueprintName="_idx_core_core-ios_4EDC2AF0_ios_min15.5" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="lib_idx_core_core-ios_4EDC2AF0_ios_min15.5.a" BuildableIdentifier="primary"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB">
|
||||
<Testables></Testables>
|
||||
</TestAction>
|
||||
<LaunchAction useCustomWorkingDirectory="NO" buildConfiguration="Debug" launchStyle="0" debugDocumentVersioning="YES" ignoresPersistentStateOnLaunch="NO" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" debugServiceExtension="internal" allowLocationSimulation="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB">
|
||||
<EnvironmentVariables></EnvironmentVariables>
|
||||
</LaunchAction>
|
||||
<ProfileAction buildConfiguration="Release" useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES"></ProfileAction>
|
||||
<AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
|
||||
<ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"></ArchiveAction>
|
||||
</Scheme>
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
<Scheme version="1.3" LastUpgradeVersion="1000">
|
||||
<BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry buildForRunning="YES" buildForArchiving="YES" buildForTesting="YES" buildForAnalyzing="YES" buildForProfiling="YES">
|
||||
<BuildableReference BlueprintName="mediapipe-render-module-beauty-ios-OlaFaceUnityLibrary" BuildableIdentifier="primary" BlueprintIdentifier="D807E501C284C0CA00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj" BuildableName="libmediapipe-render-module-beauty-ios-OlaFaceUnityLibrary.a"></BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction buildConfiguration="__TulsiTestRunner_Debug" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" shouldUseLaunchSchemeArgsEnv="YES" customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit">
|
||||
<Testables></Testables>
|
||||
<BuildableProductRunnable runnableDebuggingMode="0">
|
||||
<BuildableReference BlueprintName="mediapipe-render-module-beauty-ios-OlaFaceUnityLibrary" BuildableIdentifier="primary" BuildableName="libmediapipe-render-module-beauty-ios-OlaFaceUnityLibrary.a" BlueprintIdentifier="D807E501C284C0CA00000000" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</TestAction>
|
||||
<LaunchAction customLLDBInitFile="$(PROJECT_FILE_PATH)/.tulsi/Utils/lldbinit" buildConfiguration="Debug" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" launchStyle="0" useCustomWorkingDirectory="NO" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" debugDocumentVersioning="YES" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" debugServiceExtension="internal">
|
||||
<EnvironmentVariables></EnvironmentVariables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference BuildableName="libmediapipe-render-module-beauty-ios-OlaFaceUnityLibrary.a" BlueprintIdentifier="D807E501C284C0CA00000000" BuildableIdentifier="primary" BlueprintName="mediapipe-render-module-beauty-ios-OlaFaceUnityLibrary" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</MacroExpansion>
|
||||
</LaunchAction>
|
||||
<ProfileAction useCustomWorkingDirectory="NO" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release" shouldUseLaunchSchemeArgsEnv="YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="D807E501C284C0CA00000000" BlueprintName="mediapipe-render-module-beauty-ios-OlaFaceUnityLibrary" BuildableName="libmediapipe-render-module-beauty-ios-OlaFaceUnityLibrary.a" ReferencedContainer="container:OlaFaceUnity.xcodeproj"></BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction buildConfiguration="Debug"></AnalyzeAction>
|
||||
<ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction>
|
||||
</Scheme>
|
Loading…
Reference in New Issue
Block a user