Disabled external gits

This commit is contained in:
2022-04-07 18:46:57 +02:00
parent 88cb3426ad
commit 15e7120d6d
5316 changed files with 4563444 additions and 6 deletions

View File

@ -0,0 +1,62 @@
# Copyright (c) 2005-2020 Intel Corporation
#
# 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.
# Common Makefile that builds and runs example.
# Just specify your program basename
PROG=Fractal
ARGS=auto
PERF_RUN_ARGS=auto 1 1000000 silent
LIGHT_ARGS=auto 1 1000
# Trying to find if icl.exe is set
CXX1 = $(TBB_CXX)-
CXX2 = $(CXX1:icl.exe-=icl.exe)
CXX = $(CXX2:-=cl.exe)
# Uncomment one of next lines to choose user interface type (console, gdiplus, direct draw)
#UI = con
UI = gdi
#UI = dd
# Machine architecture, auto-detected from TBB_TARGET_ARCH by default
# Use XARCH variable to change it. See index.html for more information
ARCH0 = $(TBB_TARGET_ARCH)-
ARCH1 = $(ARCH0:ia32-=x86)
ARCH2 = $(ARCH1:intel64-=AMD64)
XARCH = $(ARCH2:-=x86)
MAKEINC = ../../common/gui/Makefile.win
SOURCES = fractal.cpp main.cpp
all: release test
release: compiler_check
@$(MAKE) -f $(MAKEINC) UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=gui SOURCE="$(SOURCES)" EXE=$(PROG).exe build_one
debug: compiler_check
@$(MAKE) -f $(MAKEINC) UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) /D TBB_USE_DEBUG" LFLAGS="$(LDFLAGS) tbb_debug.lib $(LIBS)" XARCH=$(XARCH) RCNAME=gui SOURCE="$(SOURCES)" EXE=$(PROG).exe build_one
clean:
@cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest msvs\gui.res
test:
$(PROG) $(ARGS)
light_test:
$(PROG) $(LIGHT_ARGS)
perf_build: compiler_check
@$(MAKE) -f $(MAKEINC) UI=con CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=gui SOURCE="$(SOURCES) " EXE=$(PROG).exe build_one
perf_run:
$(PROG) $(PERF_RUN_ARGS)
compiler_check:
@echo compiler_test>compiler_test && @$(CXX) /E compiler_test >nul 2>&1 || echo "$(CXX) command not found. Check if CXX=$(CXX) is set properly"
@cmd.exe /C del compiler_test

View File

@ -0,0 +1,244 @@
/*
Copyright (c) 2005-2020 Intel Corporation
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.
*/
#include "fractal.h"
#include "tbb/parallel_for.h"
#include "tbb/blocked_range2d.h"
#include "tbb/tick_count.h"
#include <math.h>
#include <stdio.h>
video *v;
extern bool silent;
extern bool schedule_auto;
extern int grain_size;
color_t fractal::calc_one_pixel( int x0, int y0 ) const {
unsigned int iter;
double fx0, fy0, xtemp, x, y, mu;
color_t color;
fx0 = (double)x0 - (double) size_x / 2.0;
fy0 = (double)y0 - (double) size_y / 2.0;
fx0 = fx0 / magn + cx;
fy0 = fy0 / magn + cy;
iter = 0; x = 0; y = 0;
mu = 0;
while (((x*x + y*y) <= 4) && (iter < max_iterations)) {
xtemp = x*x - y*y + fx0;
y = 2*x*y + fy0;
x = xtemp;
mu += exp(-sqrt(x*x+y*y));
iter++;
}
if (iter == max_iterations) {
// point corresponds to the mandelbrot set
color = v->get_color(255, 255, 255);
return color;
}
int b = (int)(256*mu);
int g = (b/8);
int r = (g/16);
b = b>255 ? 255 : b;
g = g>255 ? 255 : g;
r = r>255 ? 255 : r;
color = v->get_color(r, g, b);
return color;
}
void fractal::clear() {
drawing_area area( off_x, off_y, size_x, size_y, dm ) ;
// fill the rendering area with black color
for (int y=0; y<size_y; ++y) {
area.set_pos( 0, y );
for (int x=0; x<size_x; ++x) {
area.put_pixel( v->get_color(0, 0, 0) );
}
}
}
void fractal::draw_border( bool is_active ) {
color_t color = is_active ? v->get_color(0, 255, 0) // green color
: v->get_color(96, 128, 96); // green-gray color
// top border
drawing_area area0( off_x-1, off_y-1, size_x+2, 1, dm );
for (int i=-1; i<size_x+1; ++i)
area0.put_pixel(color);
// bottom border
drawing_area area1( off_x-1, off_y+size_y, size_x+2, 1, dm );
for (int i=-1; i<size_x+1; ++i)
area1.put_pixel(color);
// left border
drawing_area area2( off_x-1, off_y, 1, size_y+2, dm );
for (int i=0; i<size_y; ++i)
area2.set_pixel(0, i, color);
// right border
drawing_area area3( size_x+off_x, off_y, 1, size_y+2, dm );
for (int i=0; i<size_y; ++i)
area3.set_pixel(0, i, color);
}
void fractal::render_rect( int x0, int y0, int x1, int y1 ) const {
// render the specified rectangle area
drawing_area area(off_x+x0, off_y+y0, x1-x0, y1-y0, dm);
for ( int y=y0; y<y1; ++y ) {
area.set_pos( 0, y-y0 );
for ( int x=x0; x<x1; ++x ) {
area.put_pixel( calc_one_pixel( x, y ) );
}
}
}
class fractal_body {
fractal &f;
public:
void operator()( tbb::blocked_range2d<int> &r ) const {
if ( v->next_frame() )
f.render_rect( r.cols().begin(), r.rows().begin(), r.cols().end(), r.rows().end() );
}
fractal_body( fractal &_f ) : f(_f) {
}
};
void fractal::render( tbb::task_group_context &context ) {
// Make copy of fractal object and render fractal with parallel_for with
// the provided context and partitioner chosen by schedule_auto.
// Updates to fractal are not reflected in the render.
fractal f = *this;
fractal_body body(f);
if( schedule_auto )
tbb::parallel_for( tbb::blocked_range2d<int>(0, size_y, grain_size, 0, size_x, grain_size ),
body, tbb::auto_partitioner(), context);
else
tbb::parallel_for( tbb::blocked_range2d<int>(0, size_y, grain_size, 0, size_x, grain_size ),
body, tbb::simple_partitioner(), context);
}
void fractal::run( tbb::task_group_context &context ) {
clear();
context.reset();
render( context );
}
bool fractal::check_point( int x, int y ) const {
return x >= off_x && x <= off_x+size_x &&
y >= off_y && y <= off_y+size_y;
}
void fractal_group::calc_fractal( int num ) {
// calculate the fractal
fractal &f = num ? f1 : f0;
tbb::tick_count t0 = tbb::tick_count::now();
while ( v->next_frame() && num_frames[num] != 0 ) {
f.run( context[num] );
if ( num_frames[num]>0 ) num_frames[num] -= 1;
}
tbb::tick_count t1 = tbb::tick_count::now();
if ( !silent ) {
printf(" %s fractal finished. Time: %g\n", num ? "Second" : "First", (t1-t0).seconds());
}
}
void fractal_group::switch_active( int new_active ) {
if( new_active!=-1 ) active = new_active;
else active = 1-active; // assumes 'active' is only 0 or 1
draw_borders();
}
void fractal_group::set_num_frames_at_least( int n ) {
if ( num_frames[0]<n ) num_frames[0] = n;
if ( num_frames[1]<n ) num_frames[1] = n;
}
void fractal_group::run( bool create_second_fractal ) {
// First argument of arenas construntor is used to restrict concurrency
arenas[0].initialize(num_threads);
arenas[1].initialize(num_threads / 2);
draw_borders();
// the second fractal is calculating on separated thread
if ( create_second_fractal ) {
arenas[1].execute( [&] {
groups[1].run( [&] { calc_fractal( 1 ); } );
} );
}
arenas[0].execute( [&] {
groups[0].run( [&] { calc_fractal( 0 ); } );
} );
if ( create_second_fractal ) {
arenas[1].execute( [&] { groups[1].wait(); } );
}
arenas[0].execute( [&] { groups[0].wait(); } );
}
void fractal_group::draw_borders() {
f0.draw_border( active==0 );
f1.draw_border( active==1 );
}
fractal_group::fractal_group( const drawing_memory &_dm, int _num_threads, unsigned int _max_iterations, int _num_frames ) : f0(_dm), f1(_dm), num_threads(_num_threads) {
// set rendering areas
f0.size_x = f1.size_x = _dm.sizex/2-4;
f0.size_y = f1.size_y = _dm.sizey-4;
f0.off_x = f0.off_y = f1.off_y = 2;
f1.off_x = f0.size_x+4+2;
// set fractals parameters
f0.cx = -0.6f; f0.cy = 0.0f; f0.magn = 200.0f;
f1.cx = -0.6f; f1.cy = 0.0f; f1.magn = 200.0f;
f0.max_iterations = f1.max_iterations = _max_iterations;
// initially the first fractal is active
active = 0;
num_frames[0] = num_frames[1] = _num_frames;
}
void fractal_group::mouse_click( int x, int y ) {
// assumption that the point is not inside any fractal area
int new_active = -1;
if ( f0.check_point( x, y ) ) {
// the point is inside the first fractal area
new_active = 0;
} else if ( f1.check_point( x, y ) ) {
// the point is inside the second fractal area
new_active = 1;
}
if ( new_active != -1 && new_active != active ) {
switch_active( new_active );
}
}

View File

@ -0,0 +1,164 @@
/*
Copyright (c) 2005-2020 Intel Corporation
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.
*/
#ifndef FRACTAL_H_
#define FRACTAL_H_
#include <atomic>
#include "../../common/gui/video.h"
#include "../../common/utility/get_default_num_threads.h"
#include "tbb/task.h"
#include "tbb/task_arena.h"
#include "tbb/task_group.h"
//! Fractal class
class fractal {
//! Left corner of the fractal area
int off_x, off_y;
//! Size of the fractal area
int size_x, size_y;
//! Fractal properties
float cx, cy;
float magn;
float step;
unsigned int max_iterations;
//! Drawing memory object for rendering
const drawing_memory &dm;
//! One pixel calculation routine
color_t calc_one_pixel( int x, int y ) const;
//! Clears the fractal area
void clear();
//! Draws the border around the fractal area
void draw_border( bool is_active );
//! Renders the fractal
void render( tbb::task_group_context &context );
//! Check if the point is inside the fractal area
bool check_point( int x, int y ) const;
public:
//! Constructor
fractal( const drawing_memory &dm ) : step(0.2), dm(dm) {
#if _MSC_VER && _WIN64 && !__INTEL_COMPILER
// Workaround for MSVC x64 compiler issue
volatile int i=0;
#endif
}
//! Runs the fractal calculation
void run( tbb::task_group_context &context );
//! Renders the fractal rectangular area
void render_rect( int x0, int y0, int x1, int y1 ) const;
void move_up() { cy += step; }
void move_down() { cy -= step; }
void move_left() { cx += step; }
void move_right(){ cx -= step; }
void zoom_in() { magn *= 2.; step /= 2.; }
void zoom_out(){ magn /= 2.; step *= 2.; }
void quality_inc() { max_iterations += max_iterations/2; }
void quality_dec() { max_iterations -= max_iterations/2; }
friend class fractal_group;
};
//! The group of fractals
class fractal_group {
//! Fractals definition
fractal f0, f1;
//! Number of frames to calculate
std::atomic<int> num_frames[2];
//! Contexts, arenas and groups for concurrent computation
tbb::task_group_context context[2];
tbb::task_arena arenas[2];
tbb::task_group groups[2];
//! Border type enumeration
enum BORDER_TYPE {
BORDER_INACTIVE = 0,
BORDER_ACTIVE
};
//! The number of the threads
int num_threads;
//! The active (high priority) fractal number
int active;
//! Draws the borders around the fractals
void draw_borders();
//! Sets priorities for fractals calculations
void set_priorities();
public:
//! Constructor
fractal_group( const drawing_memory &_dm,
int num_threads = utility::get_default_num_threads(),
unsigned int max_iterations = 100000, int num_frames = 1 );
//! Run calculation
void run( bool create_second_fractal=true );
//! Mouse event handler
void mouse_click( int x, int y );
//! Fractal calculation routine
void calc_fractal( int num );
//! Get number of threads
int get_num_threads() const { return num_threads; }
//! Reset the number of frames to be not less than the given value
void set_num_frames_at_least( int n );
//! Switch active fractal
void switch_active( int new_active=-1 );
//! Get active fractal
fractal& get_active_fractal() { return active ? f1 : f0; }
void active_fractal_zoom_in() {
get_active_fractal().zoom_in();
context[active].cancel_group_execution();
}
void active_fractal_zoom_out() {
get_active_fractal().zoom_out();
context[active].cancel_group_execution();
}
void active_fractal_quality_inc() {
get_active_fractal().quality_inc();
context[active].cancel_group_execution();
}
void active_fractal_quality_dec() {
get_active_fractal().quality_dec();
context[active].cancel_group_execution();
}
void active_fractal_move_up() {
get_active_fractal().move_up();
context[active].cancel_group_execution();
}
void active_fractal_move_down() {
get_active_fractal().move_down();
context[active].cancel_group_execution();
}
void active_fractal_move_left() {
get_active_fractal().move_left();
context[active].cancel_group_execution();
}
void active_fractal_move_right() {
get_active_fractal().move_right();
context[active].cancel_group_execution();
}
};
#endif /* FRACTAL_H_ */

View File

@ -0,0 +1,84 @@
/*
Copyright (c) 2005-2020 Intel Corporation
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.
*/
#ifndef FRACTAL_VIDEO_H_
#define FRACTAL_VIDEO_H_
#include "../../common/gui/video.h"
#include "fractal.h"
extern video *v;
extern bool single;
class fractal_video : public video
{
fractal_group *fg;
private:
void on_mouse( int x, int y, int key ) {
if( key == 1 ) {
if ( fg ) {
fg->set_num_frames_at_least(20);
fg->mouse_click( x, y );
}
}
}
void on_key( int key ) {
switch ( key&0xff ) {
case esc_key:
running = false; break;
case 'q':
if( fg ) fg->active_fractal_zoom_in(); break;
case 'e':
if( fg ) fg->active_fractal_zoom_out(); break;
case 'r':
if( fg ) fg->active_fractal_quality_inc(); break;
case 'f':
if( fg ) fg->active_fractal_quality_dec(); break;
case 'w':
if( fg ) fg->active_fractal_move_up(); break;
case 'a':
if( fg ) fg->active_fractal_move_left(); break;
case 's':
if( fg ) fg->active_fractal_move_down(); break;
case 'd':
if( fg ) fg->active_fractal_move_right(); break;
}
if( fg ) fg->set_num_frames_at_least(20);
}
void on_process() {
if ( fg ) {
fg->run( !single );
}
}
public:
fractal_video() :fg(0) {
title = "Dynamic Priorities in TBB: Fractal Example";
v = this;
}
void set_fractal_group( fractal_group &_fg ) {
fg = &_fg;
}
};
#endif /* FRACTAL_VIDEO_H_ */

View File

@ -0,0 +1,87 @@
/*
Copyright (c) 2005-2020 Intel Corporation
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.
*/
#define VIDEO_WINMAIN_ARGS
#include <stdio.h>
#include <iostream>
#include "fractal.h"
#include "fractal_video.h"
#include "tbb/tick_count.h"
#include "../../common/utility/utility.h"
bool silent = false;
bool single = false;
bool schedule_auto = false;
int grain_size = 8;
int main(int argc, char *argv[])
{
try{
tbb::tick_count mainStartTime = tbb::tick_count::now();
// It is used for console mode for test with different number of threads and also has
// meaning for GUI: threads.first - use separate event/updating loop thread (>0) or not (0).
// threads.second - initialization value for scheduler
utility::thread_number_range threads( utility::get_default_num_threads );
int num_frames = -1;
int max_iterations = 1000000;
// command line parsing
utility::parse_cli_arguments(argc,argv,
utility::cli_argument_pack()
//"-h" option for displaying help is present implicitly
.positional_arg(threads,"n-of-threads",utility::thread_number_range_desc)
.positional_arg(num_frames,"n-of-frames","number of frames the example processes internally")
.positional_arg(max_iterations,"max-of-iterations","maximum number of the fractal iterations")
.positional_arg(grain_size,"grain-size","the grain size value")
.arg(schedule_auto, "use-auto-partitioner", "use tbb::auto_partitioner")
.arg(silent, "silent", "no output except elapsed time")
.arg(single, "single", "process only one fractal")
);
fractal_video video;
// video layer init
if ( video.init_window(1024, 512) ) {
video.calc_fps = false;
video.threaded = threads.first > 0;
// initialize fractal group
fractal_group fg( video.get_drawing_memory(), threads.last, max_iterations, num_frames );
video.set_fractal_group( fg );
// main loop
video.main_loop();
}
else if ( video.init_console() ) {
// in console mode we always have limited number of frames
num_frames = num_frames<0 ? 1 : num_frames;
for(int p = threads.first; p <= threads.last; p = threads.step(p) ) {
if ( !silent ) printf("Threads = %d\n", p);
fractal_group fg( video.get_drawing_memory(), p, max_iterations, num_frames );
fg.run( !single );
}
}
video.terminate();
utility::report_elapsed_time((tbb::tick_count::now() - mainStartTime).seconds());
return 0;
} catch ( std::exception& e ) {
std::cerr<<"error occurred. error text is :\"" <<e.what()<<"\"\n";
return 1;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,90 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_GUI ICON "gui.ico"
IDI_SMALL ICON "small.ico"
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_APP_TITLE "gui"
IDC_GUI "GUI"
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@ -0,0 +1,24 @@
/*
Copyright (c) 2005-2020 Intel Corporation
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.
*/
#define IDC_MYICON 2
#define IDD_GUI 102
#define IDS_APP_TITLE 103
#define IDI_GUI 107
#define IDI_SMALL 108
#define IDC_GUI 109
#define IDR_MAINFRAME 128
#define IDC_STATIC -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,445 @@
<!DOCTYPE html>
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
<head>
<meta charset="UTF-8">
<style>
::selection {
background: #b7ffb7;
}
::-moz-selection {
background: #b7ffb7;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
width: 800px;
margin: 0 auto;
}
#banner {
/* Div for banner */
float:left;
margin: 0px;
margin-bottom: 10px;
width: 100%;
background-color: #0071C5;
z-index: 0;
}
#banner .logo {
/* Apply to logo in banner. Add as class to image tag. */
float: left;
margin-right: 20px;
margin-left: 20px;
margin-top: 15px;
padding-bottom: 5px;
}
h1 {
text-align: center;
font-size: 36px;
}
h1.title {
/* Add as class to H1 in banner */
font-family: "Intel Clear", Verdana, Arial, sans-serif;
font-weight:normal;
color: #FFFFFF;
font-size: 170%;
margin-right: 40px;
margin-left: 40px;
padding-right: 20px;
text-indent: 20px;
}
.h3-alike {
display:inline;
font-size: 1.17em;
font-weight: bold;
color: #0071C5;
}
h3 {
font-size: 1.17em;
font-weight: bold;
color: #0071C5;
}
.h4-alike {
display:inline;
font-size: 1.05em;
font-weight: bold;
}
pre {
font-family: "Consolas", Monaco, monospace;
font-size:small;
background: #fafafa;
margin: 0;
padding-left:20px;
}
#footer {
font-size: small;
}
code {
font-family: "Consolas", Monaco, monospace;
}
.code-block
{
padding-left:20px;
}
.changes {
margin: 1em 0;
}
.changes input:active {
position: relative;
top: 1px;
}
.changes input:hover:after {
padding-left: 16px;
font-size: 10px;
content: 'More';
}
.changes input:checked:hover:after {
content: 'Less';
}
.changes input + .show-hide {
display: none;
}
.changes input:checked + .show-hide {
display: block;
}
ul {
margin: 0;
padding: 0.5em 0 0.5em 2.5em;
}
ul li {
margin-bottom: 3px;
}
ul li:last-child {
margin-bottom: 0;
}
.disc {
list-style-type:disc
}
.circ {
list-style-type:circle
}
.single {
padding: 0 0.5em;
}
/* ------------------------------------------------- */
/* Table styles */
table{
margin-bottom:5pt;
border-collapse:collapse;
margin-left:0px;
margin-top:0.3em;
font-size:10pt;
}
tr{
vertical-align:top;
}
th,
th h3{
padding:4px;
text-align:left;
background-color:#0071C5;
font-weight:bold;
margin-top:1px;
margin-bottom:0;
color:#FFFFFF;
font-size:10pt;
vertical-align:middle;
}
th{
border:1px #dddddd solid;
padding-top:2px;
padding-bottom:0px;
padding-right:3px;
padding-left:3px;
}
td{
border:1px #dddddd solid;
vertical-align:top;
font-size:100%;
text-align:left;
margin-bottom:0;
}
td,
td p{
margin-top:0;
margin-left:0;
text-align:left;
font-size:inherit;
line-height:120%;
}
td p{
margin-bottom:0;
padding-top:5px;
padding-bottom:5px;
padding-right:5px;
padding-left:1px;
}
.noborder{
border:0px none;
}
.noborder1stcol{
border:0px none;
padding-left:0pt;
}
td ol{
font-size:inherit;
margin-left:28px;
}
td ul{
font-size:inherit;
margin-left:24px;
}
.DefListTbl{
width:90%;
margin-left:-3pt;
}
.syntaxdiagramtbl{
margin-left:-3pt;
}
.sdtbl{
}
.sdrow{
}
.sdtblp{
border:0px none;
font-size:inherit;
line-height:120%;
margin-bottom:0;
padding-bottom:0px;
padding-top:5px;
padding-left:0px;
padding-right:5px;
vertical-align:top;
}
.idepara, .ide_para{
border:0px none;
font-size:inherit;
line-height:120%;
margin-bottom:0;
padding-bottom:0px;
padding-top:5px;
padding-left:0px;
padding-right:5px;
vertical-align:top;
}
.specs {
border-collapse:collapse;
}
.specs td, .specs th {
font-size: 14px;
}
.specs td {
border: 1px solid black;
}
.specs td td, .specs td th {
border: none;
}
.specs td, .specs td td, .specs td th {
padding: 0 0.2em 0.2em;
text-align: center;
}
.specs td tr:last-child td,
.specs td tr:last-child th {
padding: 0 0.2em;
}
.serial-time {
}
.modified-time {
width: 6.5em;
}
.compiler {
}
.comp-opt {
}
.sys-specs {
width: 18em;
}
.note {
font-size:small;
font-style: italic;
}
</style>
<title>Intel&reg; Threading Building Blocks. Fractal sample</title>
</head>
<body>
<div id="banner">
<img class="logo" src="data:image/png;base64,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
9Or1LzUmVVz+HJXDAAAAAElFTkSuQmCC">
<h1 class="title">Intel&reg; Threading Building Blocks.<br>Fractal sample</h1>
</div>
<p>
The example calculates two classical Mandelbrot fractals with different concurrency levels.
<br><br>
The application window is divided into two areas where fractals are rendered.
The example also has the console mode.
</p>
<div class="changes">
<div class="h3-alike">System Requirements</div>
<input type="checkbox">
<div class="show-hide">
<p>
For the most up to date system requirements, see the <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a>
</p>
</div>
</div>
<div class="changes">
<div class="h3-alike">Files</div>
<input type="checkbox" checked="checked">
<div class="show-hide">
<dl>
<dt><a href="main.cpp">main.cpp</a>
<dd>Main program which parses command line options and runs the fractals calculation in GUI or Console mode.
<dt><a href="fractal.h">fractal.h</a>
<dd>Interfaces of fractal and fractal_group classes.
<dt><a href="fractal.cpp">fractal.cpp</a>
<dd>Implementations of fractal and fractal_group classes.
<dt><a href="fractal_video.h">fractal_video.h</a>
<dd>GUI mode support interface.
<dt><a href="Makefile">Makefile</a>
<dd>Makefile for building the example.
</dl>
</div>
</div>
<div class="changes">
<div class="h3-alike">Directories</div>
<input type="checkbox" checked="checked">
<div class="show-hide">
<dl>
<dt><a href="msvs/">msvs</a>
<dd>Contains Microsoft* Visual Studio* workspace for building and running the example (Windows* systems only).
<dt><a href="xcode/">xcode</a>
<dd>Contains Xcode* IDE workspace for building and running the example (macOS* systems only).
</dl>
<p>For information about the minimum supported version of IDE, see <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a></p>
</div>
</div>
<div class="changes">
<div class="h3-alike">Build instructions</div>
<input type="checkbox" checked="checked">
<div class="show-hide">
<p>General build directions can be found <a href="../../index.html">here</a>.</p>
</div>
</div>
<div class="changes">
<div class="h3-alike">Usage</div>
<input type="checkbox" checked="checked">
<div class="show-hide">
<dl>
<dt><tt>fractal <i>-h</i></tt>
<dd>Prints the help for command line options
<dt><tt>fractal [<i>n-of-threads=value</i>] [<i>n-of-frames=value</i>] [<i>max-of-iterations=value</i>] [<i>grain-size=value</i>] [<i>silent</i>] [<i>single</i>]</tt>
<dt><tt>fractal [<i>n-of-threads</i> [<i>n-of-frames</i> [<i>max-of-iterations</i> [<i>grain-size</i>]]]] [<i>silent</i>] [<i>single</i>]</tt>
<dd><i>n-of-threads</i> is the number of threads to use; a range of the form <i>low</i>[:<i>high</i>], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.<br>
<i>n-of-frames</i> is a number of frames the example processes internally.<br>
<i>max-of-iterations</i> is a maximum number of the fractal iterations.<br>
<i>grain-size</i> is an optional grain size, must be a positive integer. <br>
<i>use-auto-partitioner</i> - use tbb::auto_partitioner.<br>
<i>silent</i> - no output except elapsed time.<br>
<i>single</i> - process only one fractal.<br>
<dt>To run a short version of this example, e.g., for use with Intel&reg; Parallel Inspector:
<dd>Build a <i>debug</i> version of the example
(see the <a href="../../index.html">build instructions</a>).
<br>Run it with a small fractal iterations number and the desired number of threads, e.g., <tt>fractal&nbsp;4&nbsp;1&nbsp;10000</tt>.
</dl>
</div>
</div>
<div class="changes">
<div class="h3-alike">Hot keys</div>
<input type="checkbox" checked="checked">
<div class="show-hide">
<p>
The following hot keys can be used in interactive execution mode when the example is compiled with the graphical user interface:
</p>
<dl>
<dt>&lt;left mouse button&gt;
<dd>Make the fractal active
<dt>&lt;w&gt;
<dd>Move the active fractal up
<dt>&lt;a&gt;
<dd>Move the active fractal to the left
<dt>&lt;s&gt;
<dd>Move the active fractal down
<dt>&lt;d&gt;
<dd>Move the active fractal to the right
<dt>&lt;q&gt;
<dd>Zoom in the active fractal
<dt>&lt;e&gt;
<dd>Zoom out the active fractal
<dt>&lt;r&gt;
<dd>Increase quality (count of iterations for each pixel) the active fractal
<dt>&lt;f&gt;
<dd>Decrease quality (count of iterations for each pixel) the active fractal
<dt>&lt;esc&gt;
<dd>Stop execution.
</dl>
</div>
</div>
<br>
<a href="../index.html">Up to parent directory</a>
<hr>
<div class="changes">
<div class="h3-alike">Legal Information</div>
<input type="checkbox">
<div class="show-hide">
<p>
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
<br>* Other names and brands may be claimed as the property of others.
<br>&copy; 2020, Intel Corporation
</p>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,613 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
84011722152D687A00B07E4D /* fractal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84011720152D687A00B07E4D /* fractal.cpp */; };
84B8DA77152CA90100D59B95 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA6F152CA90100D59B95 /* main.m */; };
84B8DA78152CA90100D59B95 /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA71152CA90100D59B95 /* OpenGLView.m */; };
84B8DA79152CA90100D59B95 /* tbbAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */; };
84B8DA7A152CA90100D59B95 /* (null) in Resources */ = {isa = PBXBuildFile; };
84B8DA80152CA97B00D59B95 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */; };
84B8DA81152CA97B00D59B95 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84B8DA7E152CA97B00D59B95 /* MainMenu.xib */; };
84B8DA87152CA99C00D59B95 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA82152CA99C00D59B95 /* main.cpp */; };
84B8DA9A152CADF400D59B95 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA99152CADF400D59B95 /* macvideo.cpp */; };
84D017561527431F0008A4E0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D017551527431F0008A4E0 /* Cocoa.framework */; };
84D01776152744BD0008A4E0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D01775152744BD0008A4E0 /* OpenGL.framework */; };
D31F32341C11798900A77D54 /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA99152CADF400D59B95 /* macvideo.cpp */; };
D31F32351C11798E00A77D54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA6F152CA90100D59B95 /* main.m */; };
D31F32361C11799200A77D54 /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA71152CA90100D59B95 /* OpenGLView.m */; };
D31F32371C11799500A77D54 /* tbbAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */; };
D31F323A1C117A6200A77D54 /* iOS.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D31F32381C117A1700A77D54 /* iOS.storyboard */; };
D31F323B1C117BE300A77D54 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA82152CA99C00D59B95 /* main.cpp */; };
D31F323C1C117BE700A77D54 /* fractal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84011720152D687A00B07E4D /* fractal.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
C3C589782191C36D00DAC94C /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.intel.compilers.icc.latest;
fileType = sourcecode.cpp;
isEditable = 1;
outputFiles = (
);
script = "# Type a script or drag a script file from your workspace to insert its path.\n";
};
C3C5897A2191DC7A00DAC94C /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.intel.compilers.icc.latest;
fileType = sourcecode.cpp;
isEditable = 1;
outputFiles = (
);
script = "# Type a script or drag a script file from your workspace to insert its path.\n";
};
/* End PBXBuildRule section */
/* Begin PBXFileReference section */
8401171F152D687A00B07E4D /* fractal_video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fractal_video.h; path = ../fractal_video.h; sourceTree = "<group>"; };
84011720152D687A00B07E4D /* fractal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fractal.cpp; path = ../fractal.cpp; sourceTree = "<group>"; };
84011721152D687A00B07E4D /* fractal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fractal.h; path = ../fractal.h; sourceTree = "<group>"; };
84B8DA13152C9AC600D59B95 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/libtbb.dylib; sourceTree = "<group>"; };
84B8DA6F152CA90100D59B95 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../../../common/gui/xcode/tbbExample/main.m; sourceTree = "<group>"; };
84B8DA70152CA90100D59B95 /* OpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OpenGLView.h; path = ../../../common/gui/xcode/tbbExample/OpenGLView.h; sourceTree = "<group>"; };
84B8DA71152CA90100D59B95 /* OpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OpenGLView.m; path = ../../../common/gui/xcode/tbbExample/OpenGLView.m; sourceTree = "<group>"; };
84B8DA72152CA90100D59B95 /* tbbAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tbbAppDelegate.h; path = ../../../common/gui/xcode/tbbExample/tbbAppDelegate.h; sourceTree = "<group>"; };
84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = tbbAppDelegate.m; path = ../../../common/gui/xcode/tbbExample/tbbAppDelegate.m; sourceTree = "<group>"; };
84B8DA75152CA90100D59B95 /* tbbExample-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "tbbExample-Prefix.pch"; path = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch"; sourceTree = "<group>"; };
84B8DA7D152CA97B00D59B95 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = "<group>"; };
84B8DA7F152CA97B00D59B95 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = MainMenu.xib; sourceTree = "<group>"; };
84B8DA82152CA99C00D59B95 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../main.cpp; sourceTree = "<group>"; };
84B8DA99152CADF400D59B95 /* macvideo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macvideo.cpp; path = ../../../common/gui/macvideo.cpp; sourceTree = "<group>"; };
84D017511527431F0008A4E0 /* tbbExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tbbExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
84D017551527431F0008A4E0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
84D017581527431F0008A4E0 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
84D017591527431F0008A4E0 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
84D0175A1527431F0008A4E0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
84D01775152744BD0008A4E0 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
D31F321D1C11796D00A77D54 /* tbbExample_ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tbbExample_ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
D31F32381C117A1700A77D54 /* iOS.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = iOS.storyboard; path = ../iOS.storyboard; sourceTree = "<group>"; };
D31F323F1C11B5C900A77D54 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/libtbb.dylib; sourceTree = "<group>"; };
D31F32401C11B5C900A77D54 /* libtbbmalloc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbbmalloc.dylib; path = ../../../../lib/libtbbmalloc.dylib; sourceTree = "<group>"; };
D31F32901C12E67300A77D54 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/ios/libtbb.dylib; sourceTree = "<group>"; };
D31F32911C12E67300A77D54 /* libtbbmalloc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbbmalloc.dylib; path = ../../../../lib/ios/libtbbmalloc.dylib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
84D0174E1527431F0008A4E0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
84D01776152744BD0008A4E0 /* OpenGL.framework in Frameworks */,
84D017561527431F0008A4E0 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D31F321A1C11796D00A77D54 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
84011727152D68D200B07E4D /* Sources */ = {
isa = PBXGroup;
children = (
8401171F152D687A00B07E4D /* fractal_video.h */,
84B8DA82152CA99C00D59B95 /* main.cpp */,
84011720152D687A00B07E4D /* fractal.cpp */,
84011721152D687A00B07E4D /* fractal.h */,
);
name = Sources;
sourceTree = "<group>";
};
84B8DA6C152CA8D900D59B95 /* tbbExample */ = {
isa = PBXGroup;
children = (
84011727152D68D200B07E4D /* Sources */,
84B8DA98152CAD8600D59B95 /* Gui layer */,
84B8DA7B152CA97B00D59B95 /* Resources */,
);
name = tbbExample;
sourceTree = "<group>";
};
84B8DA7B152CA97B00D59B95 /* Resources */ = {
isa = PBXGroup;
children = (
D31F32381C117A1700A77D54 /* iOS.storyboard */,
84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */,
84B8DA7E152CA97B00D59B95 /* MainMenu.xib */,
);
name = Resources;
path = ../../../common/gui/xcode/tbbExample/en.lproj;
sourceTree = "<group>";
};
84B8DA98152CAD8600D59B95 /* Gui layer */ = {
isa = PBXGroup;
children = (
84B8DA99152CADF400D59B95 /* macvideo.cpp */,
84B8DA6F152CA90100D59B95 /* main.m */,
84B8DA70152CA90100D59B95 /* OpenGLView.h */,
84B8DA71152CA90100D59B95 /* OpenGLView.m */,
84B8DA72152CA90100D59B95 /* tbbAppDelegate.h */,
84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */,
84B8DA75152CA90100D59B95 /* tbbExample-Prefix.pch */,
);
name = "Gui layer";
sourceTree = "<group>";
};
84D017461527431F0008A4E0 = {
isa = PBXGroup;
children = (
84B8DA6C152CA8D900D59B95 /* tbbExample */,
84D017541527431F0008A4E0 /* Frameworks */,
84D017521527431F0008A4E0 /* Products */,
);
sourceTree = "<group>";
};
84D017521527431F0008A4E0 /* Products */ = {
isa = PBXGroup;
children = (
84D017511527431F0008A4E0 /* tbbExample.app */,
D31F321D1C11796D00A77D54 /* tbbExample_ios.app */,
);
name = Products;
sourceTree = "<group>";
};
84D017541527431F0008A4E0 /* Frameworks */ = {
isa = PBXGroup;
children = (
D31F323F1C11B5C900A77D54 /* libtbb.dylib */,
D31F32401C11B5C900A77D54 /* libtbbmalloc.dylib */,
D31F32901C12E67300A77D54 /* libtbb.dylib */,
D31F32911C12E67300A77D54 /* libtbbmalloc.dylib */,
84D01775152744BD0008A4E0 /* OpenGL.framework */,
84D017551527431F0008A4E0 /* Cocoa.framework */,
84D017571527431F0008A4E0 /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
84D017571527431F0008A4E0 /* Other Frameworks */ = {
isa = PBXGroup;
children = (
84B8DA13152C9AC600D59B95 /* libtbb.dylib */,
84D017581527431F0008A4E0 /* AppKit.framework */,
84D017591527431F0008A4E0 /* CoreData.framework */,
84D0175A1527431F0008A4E0 /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
84D017501527431F0008A4E0 /* tbbExample */ = {
isa = PBXNativeTarget;
buildConfigurationList = 84D01772152743200008A4E0 /* Build configuration list for PBXNativeTarget "tbbExample" */;
buildPhases = (
84D0174D1527431F0008A4E0 /* Sources */,
84D0174E1527431F0008A4E0 /* Frameworks */,
84D0174F1527431F0008A4E0 /* Resources */,
);
buildRules = (
C3C589782191C36D00DAC94C /* PBXBuildRule */,
);
dependencies = (
);
name = tbbExample;
productName = tbbExample;
productReference = 84D017511527431F0008A4E0 /* tbbExample.app */;
productType = "com.apple.product-type.application";
};
D31F321C1C11796D00A77D54 /* tbbExample_ios */ = {
isa = PBXNativeTarget;
buildConfigurationList = D31F32331C11796D00A77D54 /* Build configuration list for PBXNativeTarget "tbbExample_ios" */;
buildPhases = (
D31F32191C11796D00A77D54 /* Sources */,
D31F321A1C11796D00A77D54 /* Frameworks */,
D31F321B1C11796D00A77D54 /* Resources */,
);
buildRules = (
C3C5897A2191DC7A00DAC94C /* PBXBuildRule */,
);
dependencies = (
);
name = tbbExample_ios;
productName = tbbExample_ios;
productReference = D31F321D1C11796D00A77D54 /* tbbExample_ios.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
84D017481527431F0008A4E0 /* Project object */ = {
isa = PBXProject;
attributes = {
CLASSPREFIX = tbb;
LastUpgradeCheck = 1000;
TargetAttributes = {
D31F321C1C11796D00A77D54 = {
CreatedOnToolsVersion = 7.1.1;
};
};
};
buildConfigurationList = 84D0174B1527431F0008A4E0 /* Build configuration list for PBXProject "fractal" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 84D017461527431F0008A4E0;
productRefGroup = 84D017521527431F0008A4E0 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
84D017501527431F0008A4E0 /* tbbExample */,
D31F321C1C11796D00A77D54 /* tbbExample_ios */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
84D0174F1527431F0008A4E0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
84B8DA7A152CA90100D59B95 /* (null) in Resources */,
84B8DA80152CA97B00D59B95 /* InfoPlist.strings in Resources */,
84B8DA81152CA97B00D59B95 /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D31F321B1C11796D00A77D54 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D31F323A1C117A6200A77D54 /* iOS.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
84D0174D1527431F0008A4E0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
84B8DA77152CA90100D59B95 /* main.m in Sources */,
84B8DA78152CA90100D59B95 /* OpenGLView.m in Sources */,
84B8DA79152CA90100D59B95 /* tbbAppDelegate.m in Sources */,
84B8DA87152CA99C00D59B95 /* main.cpp in Sources */,
84B8DA9A152CADF400D59B95 /* macvideo.cpp in Sources */,
84011722152D687A00B07E4D /* fractal.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D31F32191C11796D00A77D54 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D31F32351C11798E00A77D54 /* main.m in Sources */,
D31F323C1C117BE700A77D54 /* fractal.cpp in Sources */,
D31F32361C11799200A77D54 /* OpenGLView.m in Sources */,
D31F32371C11799500A77D54 /* tbbAppDelegate.m in Sources */,
D31F323B1C117BE300A77D54 /* main.cpp in Sources */,
D31F32341C11798900A77D54 /* macvideo.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
84B8DA7D152CA97B00D59B95 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
84B8DA7E152CA97B00D59B95 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
84B8DA7F152CA97B00D59B95 /* en */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
84D01770152743200008A4E0 /* Debug64 */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = c11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = "";
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 = (
"$(TBBROOT)/include",
/opt/intel/tbb/include,
);
ICC_CXX_LANG_DIALECT = "c++11";
ICC_TBB = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(TBBROOT)/lib /opt/intel/tbb/lib";
LIBRARY_SEARCH_PATHS = (
"$(TBBROOT)/lib",
/opt/intel/tbb/lib,
);
MACOSX_DEPLOYMENT_TARGET = 10.11;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"-m64",
"-ltbb_debug",
);
SDKROOT = macosx;
VALID_ARCHS = x86_64;
};
name = Debug64;
};
84D01771152743200008A4E0 /* Release64 */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = c11;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = "";
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 = (
"$(TBBROOT)/include",
/opt/intel/tbb/include,
);
ICC_CXX_LANG_DIALECT = "c++11";
ICC_TBB = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(TBBROOT)/lib /opt/intel/tbb/lib";
LIBRARY_SEARCH_PATHS = (
"$(TBBROOT)/lib",
/opt/intel/tbb/lib,
);
MACOSX_DEPLOYMENT_TARGET = 10.11;
OTHER_LDFLAGS = (
"-m64",
"-ltbb",
);
SDKROOT = macosx;
VALID_ARCHS = x86_64;
};
name = Release64;
};
84D01773152743200008A4E0 /* Debug64 */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch";
HEADER_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
USER_HEADER_SEARCH_PATHS = "";
VERSION_INFO_BUILDER = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Debug64;
};
84D01774152743200008A4E0 /* Release64 */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch";
HEADER_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
USER_HEADER_SEARCH_PATHS = "";
VERSION_INFO_BUILDER = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Release64;
};
D31F32311C11796D00A77D54 /* Debug64 */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++11";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
"__TBB_IOS=1",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path";
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.11;
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.tbb.example;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug64;
};
D31F32321C11796D00A77D54 /* Release64 */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++11";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEVELOPMENT_TEAM = "";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = "__TBB_IOS=1";
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path";
LIBRARY_SEARCH_PATHS = "$(inherited)";
MACOSX_DEPLOYMENT_TARGET = 10.11;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.tbb.example;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release64;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
84D0174B1527431F0008A4E0 /* Build configuration list for PBXProject "fractal" */ = {
isa = XCConfigurationList;
buildConfigurations = (
84D01770152743200008A4E0 /* Debug64 */,
84D01771152743200008A4E0 /* Release64 */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release64;
};
84D01772152743200008A4E0 /* Build configuration list for PBXNativeTarget "tbbExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
84D01773152743200008A4E0 /* Debug64 */,
84D01774152743200008A4E0 /* Release64 */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release64;
};
D31F32331C11796D00A77D54 /* Build configuration list for PBXNativeTarget "tbbExample_ios" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D31F32311C11796D00A77D54 /* Debug64 */,
D31F32321C11796D00A77D54 /* Release64 */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release64;
};
/* End XCConfigurationList section */
};
rootObject = 84D017481527431F0008A4E0 /* Project object */;
}

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0710"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D31F321C1C11796D00A77D54"
BuildableName = "tbbExample_ios.app"
BlueprintName = "tbbExample_ios"
ReferencedContainer = "container:fractal.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D31F321C1C11796D00A77D54"
BuildableName = "tbbExample_ios.app"
BlueprintName = "tbbExample_ios"
ReferencedContainer = "container:fractal.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D31F321C1C11796D00A77D54"
BuildableName = "tbbExample_ios.app"
BlueprintName = "tbbExample_ios"
ReferencedContainer = "container:fractal.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D31F321C1C11796D00A77D54"
BuildableName = "tbbExample_ios.app"
BlueprintName = "tbbExample_ios"
ReferencedContainer = "container:fractal.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84D017501527431F0008A4E0"
BuildableName = "tbbExample.app"
BlueprintName = "tbbExample"
ReferencedContainer = "container:tbbExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84D017501527431F0008A4E0"
BuildableName = "tbbExample.app"
BlueprintName = "tbbExample"
ReferencedContainer = "container:fractal.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
customWorkingDirectory = "/tmp"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "NO"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84D017501527431F0008A4E0"
BuildableName = "tbbExample.app"
BlueprintName = "tbbExample"
ReferencedContainer = "container:fractal.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<EnvironmentVariables>
<EnvironmentVariable
key = "DYLD_LIBRARY_PATH"
value = "$(SRCROOT)/../../../../lib"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84D017501527431F0008A4E0"
BuildableName = "tbbExample.app"
BlueprintName = "tbbExample"
ReferencedContainer = "container:tbbExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>