mirror of
https://github.com/mcneel/opennurbs.git
synced 2026-03-23 02:39:30 +08:00
Sync changes from upstream repository
Co-authored-by: Alain <alain@mcneel.com> Co-authored-by: Andrew Le Bihan <andy@mcneel.com> Co-authored-by: Bozo <bozo@mcneel.com> Co-authored-by: chuck <chuck@mcneel.com> Co-authored-by: Dale Fugier <dale@mcneel.com> Co-authored-by: Giulio Piacentino <giulio@mcneel.com> Co-authored-by: John Croudy <croudyj@gmail.com> Co-authored-by: Mikko Oksanen <mikko@mcneel.com> Co-authored-by: Pierre Cuvilliers <pierre@mcneel.com> Co-authored-by: Steve Baer <steve@mcneel.com>
This commit is contained in:
@@ -1,430 +1,430 @@
|
||||
/* $NoKeywords: $ */
|
||||
/*
|
||||
//
|
||||
// Copyright (c) 1993-2011 Robert McNeel & Associates. All rights reserved.
|
||||
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
|
||||
// McNeel & Assoicates.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
|
||||
// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
|
||||
// MERCHANTABILITY ARE HEREBY DISCLAIMED.
|
||||
//
|
||||
// For complete openNURBS copyright information see <http://www.opennurbs.org>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////
|
||||
*/
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// example_read.cpp
|
||||
//
|
||||
// Example program using the Rhino file IO toolkit. The program reads in
|
||||
// a Rhino 3dm model file and describes its contents. The program is a
|
||||
// console application that takes a filename as a command line argument.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "../opennurbs_public_examples.h"
|
||||
|
||||
#include "../example_userdata/example_ud.h"
|
||||
|
||||
static bool Dump3dmFileHelper(
|
||||
const wchar_t* sFileName, // full name of file
|
||||
ON_TextLog& dump
|
||||
)
|
||||
{
|
||||
dump.Print("====== FILENAME: %ls\n",sFileName);
|
||||
ON_Workspace ws;
|
||||
FILE* fp = ws.OpenFile( sFileName, L"rb" ); // file automatically closed by ~ON_Workspace()
|
||||
if ( !fp ) {
|
||||
dump.Print("**ERROR** Unable to open file.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
ON_BinaryFile file( ON::archive_mode::read3dm, fp );
|
||||
|
||||
int version = 0;
|
||||
ON_String comment_block;
|
||||
bool rc = file.Read3dmStartSection( &version, comment_block );
|
||||
if (!rc) {
|
||||
dump.Print("**ERROR** Read3dmStartSection() failed\n");
|
||||
return false;
|
||||
}
|
||||
dump.Print("====== VERSION: %d\n",version );
|
||||
dump.Print("====== COMMENT BLOCK:\n",version );
|
||||
dump.PushIndent();
|
||||
dump.Print(comment_block);
|
||||
dump.PopIndent();
|
||||
dump.Print("====== CHUNKS:\n",version );
|
||||
unsigned int typecode;
|
||||
while ( !file.AtEnd() ) {
|
||||
typecode = file.Dump3dmChunk( dump, 0 );
|
||||
if ( !typecode )
|
||||
break;
|
||||
if ( typecode == TCODE_ENDOFFILE )
|
||||
break;
|
||||
}
|
||||
dump.Print("====== FINISHED: %ls\n",sFileName);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
Returns:
|
||||
True if .3dm file was successfully read into an ONX_Model class.
|
||||
*/
|
||||
static bool ReadFileHelper(
|
||||
const wchar_t* sFileName,
|
||||
bool bVerboseTextDump,
|
||||
bool bChunkDump,
|
||||
ON_TextLog& dump
|
||||
)
|
||||
{
|
||||
if ( bChunkDump )
|
||||
{
|
||||
return Dump3dmFileHelper(sFileName,dump);
|
||||
}
|
||||
|
||||
ONX_Model model;
|
||||
|
||||
dump.Print("\nOpenNURBS Archive File: %ls\n", sFileName );
|
||||
|
||||
// open file containing opennurbs archive
|
||||
FILE* archive_fp = ON::OpenFile( sFileName, L"rb");
|
||||
if ( !archive_fp )
|
||||
{
|
||||
dump.Print(" Unable to open file.\n" );
|
||||
return false;
|
||||
}
|
||||
|
||||
dump.PushIndent();
|
||||
|
||||
// create achive object from file pointer
|
||||
ON_BinaryFile archive( ON::archive_mode::read3dm, archive_fp );
|
||||
|
||||
// read the contents of the file into "model"
|
||||
bool rc = model.Read( archive, &dump );
|
||||
|
||||
// close the file
|
||||
ON::CloseFile( archive_fp );
|
||||
|
||||
// print diagnostic
|
||||
if ( rc )
|
||||
dump.Print("Successfully read.\n");
|
||||
else
|
||||
dump.Print("Errors during reading.\n");
|
||||
|
||||
// create a text dump of the model
|
||||
if ( bVerboseTextDump )
|
||||
{
|
||||
dump.PushIndent();
|
||||
model.Dump(dump);
|
||||
dump.PopIndent();
|
||||
}
|
||||
|
||||
dump.PopIndent();
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
Returns:
|
||||
Number of files read.
|
||||
*/
|
||||
static int ReadDirectoryHelper(
|
||||
int directory_depth,
|
||||
int maximum_directory_depth,
|
||||
const wchar_t* directory_name,
|
||||
const wchar_t* file_name_filter,
|
||||
bool bVerboseTextDump,
|
||||
bool bChunkDump,
|
||||
ON_TextLog& dump
|
||||
)
|
||||
{
|
||||
int file_count = 0;
|
||||
if ( directory_depth <= maximum_directory_depth )
|
||||
{
|
||||
if ( 0 == file_name_filter || 0 == file_name_filter[0] )
|
||||
file_name_filter = L"*.3dm";
|
||||
|
||||
// read files in this directory
|
||||
ON_FileIterator file_it;
|
||||
bool bFoundDirectory = false;
|
||||
for ( bool bHaveFileSystemItem = (file_it.Initialize( directory_name, file_name_filter ) && file_it.FirstItem());
|
||||
bHaveFileSystemItem;
|
||||
bHaveFileSystemItem = file_it.NextItem()
|
||||
)
|
||||
{
|
||||
if (file_it.CurrentItemIsDirectory())
|
||||
{
|
||||
bFoundDirectory = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( false == file_it.CurrentItemIsFile() )
|
||||
continue;
|
||||
|
||||
if ( file_it.CurrentItemIsHidden() )
|
||||
continue;
|
||||
|
||||
ON_wString full_path(file_it.CurrentItemFullPathName());
|
||||
if ( full_path.IsEmpty() )
|
||||
continue;
|
||||
|
||||
if ( !ON::IsOpenNURBSFile(full_path) )
|
||||
continue;
|
||||
|
||||
if ( ReadFileHelper(full_path,bVerboseTextDump,bChunkDump,dump) )
|
||||
file_count++;
|
||||
}
|
||||
|
||||
// read files in subdirectories
|
||||
if ( bFoundDirectory && directory_depth < maximum_directory_depth )
|
||||
{
|
||||
ON_FileIterator dir_it;
|
||||
for ( bool bHaveFileSystemItem = (dir_it.Initialize( directory_name, nullptr ) && dir_it.FirstItem());
|
||||
bHaveFileSystemItem;
|
||||
bHaveFileSystemItem = dir_it.NextItem()
|
||||
)
|
||||
{
|
||||
if ( false == dir_it.CurrentItemIsDirectory() )
|
||||
continue;
|
||||
|
||||
if ( dir_it.CurrentItemIsHidden() )
|
||||
continue;
|
||||
|
||||
ON_wString full_path(dir_it.CurrentItemFullPathName());
|
||||
if ( full_path.IsEmpty() )
|
||||
continue;
|
||||
|
||||
file_count += ReadDirectoryHelper(
|
||||
directory_depth + 1,
|
||||
maximum_directory_depth,
|
||||
full_path,
|
||||
file_name_filter,
|
||||
bVerboseTextDump,
|
||||
bChunkDump,
|
||||
dump
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return file_count;
|
||||
}
|
||||
|
||||
|
||||
static void print_help(const char* example_read_exe_name)
|
||||
{
|
||||
if ( 0 == example_read_exe_name || 0 == example_read_exe_name[0])
|
||||
example_read_exe_name = "example_read";
|
||||
|
||||
printf("\n");
|
||||
printf("SYNOPSIS:\n");
|
||||
printf(" %s [-out:outputfilename.txt] [-c] [-r] <file or directory names>\n",example_read_exe_name );
|
||||
printf("\n");
|
||||
printf("DESCRIPTION:\n");
|
||||
printf(" If a file is listed, it is read as an opennurbs model file.\n");
|
||||
printf(" If a directory is listed, all .3dm files in that directory\n");
|
||||
printf(" are read as opennurbs model files.\n");
|
||||
printf("\n");
|
||||
printf(" Available options:\n");
|
||||
printf(" -out:outputfilename.txt\n");
|
||||
printf(" The output is written to the named file.\n");
|
||||
printf(" -chunkdump\n");
|
||||
printf(" Does a chunk dump instead of reading the file's contents.\n");
|
||||
printf(" -recursive\n");
|
||||
printf(" Recursivly reads files in subdirectories.\n");
|
||||
printf("\n");
|
||||
printf("EXAMPLE:\n");
|
||||
printf(" %s -out:list.txt -resursive .../example_files\n",example_read_exe_name);
|
||||
printf(" with read all the opennurbs .3dm files in the\n");
|
||||
printf(" example_files/ directory and subdirectories.\n");
|
||||
}
|
||||
|
||||
|
||||
#if defined(ON_COMPILER_MSC)
|
||||
|
||||
// When you run a C program, you can use either of the two wildcards
|
||||
// the question mark (?) and the asterisk (*) to specify filename
|
||||
// and path arguments on the command line.
|
||||
// By default, wildcards are not expanded in command-line arguments.
|
||||
// You can replace the normal argument vector argv loading routine with
|
||||
// a version that does expand wildcards by linking with the setargv.obj or wsetargv.obj file.
|
||||
// If your program uses a main function, link with setargv.obj.
|
||||
// If your program uses a wmain function, link with wsetargv.obj.
|
||||
// Both of these have equivalent behavior.
|
||||
// To link with setargv.obj or wsetargv.obj, use the /link option.
|
||||
//
|
||||
// For example:
|
||||
// cl example.c /link setargv.obj
|
||||
// The wildcards are expanded in the same manner as operating system commands.
|
||||
// (See your operating system user's guide if you are unfamiliar with wildcards.)
|
||||
|
||||
// example_read.vcxproj linkin options include setargv.obj.
|
||||
|
||||
#endif
|
||||
|
||||
int main( int argc, const char *argv[] )
|
||||
{
|
||||
// If you are using OpenNURBS as a Windows DLL, then you MUST use
|
||||
// ON::OpenFile() to open the file. If you are not using OpenNURBS
|
||||
// as a Windows DLL, then you may use either ON::OpenFile() or fopen()
|
||||
// to open the file.
|
||||
|
||||
const char* example_read_exe_name = 0;
|
||||
if ( argc >= 1 && 0 != argv && 0 != argv[0] && 0 != argv[0][0] )
|
||||
{
|
||||
on_splitpath(
|
||||
argv[0],
|
||||
nullptr, // drive
|
||||
nullptr, // director,
|
||||
&example_read_exe_name,
|
||||
nullptr // extension
|
||||
);
|
||||
}
|
||||
|
||||
if ( 0 == example_read_exe_name || 0 == example_read_exe_name[0] )
|
||||
{
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
example_read_exe_name = "example_read.exe";
|
||||
#else
|
||||
example_read_exe_name = "example_read";
|
||||
#endif
|
||||
}
|
||||
|
||||
int argi;
|
||||
if ( argc < 2 )
|
||||
{
|
||||
print_help(example_read_exe_name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Call once in your application to initialze opennurbs library
|
||||
ON::Begin();
|
||||
|
||||
// default dump is to stdout
|
||||
ON_TextLog dump_to_stdout;
|
||||
dump_to_stdout.SetIndentSize(2);
|
||||
ON_TextLog* dump = &dump_to_stdout;
|
||||
FILE* dump_fp = 0;
|
||||
|
||||
bool bVerboseTextDump = true;
|
||||
|
||||
bool bChunkDump = false;
|
||||
|
||||
|
||||
int maximum_directory_depth = 0;
|
||||
|
||||
int file_count = 0;
|
||||
|
||||
for ( argi = 1; argi < argc; argi++ )
|
||||
{
|
||||
const char* arg = argv[argi];
|
||||
|
||||
// check for -out or /out option
|
||||
if ( ( 0 == strncmp(arg,"-out:",5) || 0 == strncmp(arg,"-out:",5)
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
|| 0 == strncmp(arg,"/out:",5)
|
||||
#endif
|
||||
)
|
||||
&& arg[5] )
|
||||
{
|
||||
// change destination of dump file
|
||||
if ( dump != &dump_to_stdout )
|
||||
{
|
||||
delete dump;
|
||||
dump = 0;
|
||||
}
|
||||
if ( dump_fp )
|
||||
{
|
||||
ON::CloseFile(dump_fp);
|
||||
}
|
||||
|
||||
const ON_wString sDumpFilename = ON_FileSystemPath::ExpandUser(arg + 5);
|
||||
FILE* text_fp = ON::OpenFile(sDumpFilename,L"w");
|
||||
if ( text_fp )
|
||||
{
|
||||
dump_fp = text_fp;
|
||||
dump = new ON_TextLog(dump_fp);
|
||||
dump->SetIndentSize(2);
|
||||
}
|
||||
|
||||
if ( 0 == dump )
|
||||
dump = &dump_to_stdout;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// check for -chunkdump or /chunkdump option
|
||||
if ( 0 == strcmp(arg,"-C")
|
||||
|| 0 == strcmp(arg,"-c")
|
||||
|| 0 == strcmp(arg,"-chunk")
|
||||
|| 0 == strcmp(arg,"-chunkdump")
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
|| 0 == strcmp(arg,"/C")
|
||||
|| 0 == strcmp(arg,"/c")
|
||||
|| 0 == strcmp(arg,"/chunk")
|
||||
|| 0 == strcmp(arg,"/chunkdump")
|
||||
#endif
|
||||
)
|
||||
{
|
||||
bChunkDump = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
// check for -recursive or /recursive option
|
||||
if ( 0 == strcmp(arg,"-R")
|
||||
|| 0 == strcmp(arg,"-r")
|
||||
|| 0 == strcmp(arg,"-recurse")
|
||||
|| 0 == strcmp(arg,"-recursive")
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
|| 0 == strcmp(arg,"/R")
|
||||
|| 0 == strcmp(arg,"/r")
|
||||
|| 0 == strcmp(arg,"/recurse")
|
||||
|| 0 == strcmp(arg,"/recursive")
|
||||
#endif
|
||||
)
|
||||
{
|
||||
maximum_directory_depth = 32;
|
||||
continue;
|
||||
}
|
||||
|
||||
ON_wString ws_arg = ON_FileSystemPath::ExpandUser(arg);
|
||||
const wchar_t* wchar_arg = ws_arg;
|
||||
|
||||
if ( ON::IsDirectory(wchar_arg) )
|
||||
{
|
||||
file_count += ReadDirectoryHelper( 0, maximum_directory_depth, wchar_arg, 0, bVerboseTextDump, bChunkDump, *dump );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ReadFileHelper( wchar_arg, bVerboseTextDump, bChunkDump, *dump ) )
|
||||
file_count++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dump->Print("%s read %d opennurbs model files.\n",example_read_exe_name,file_count);
|
||||
if ( dump != &dump_to_stdout )
|
||||
{
|
||||
delete dump;
|
||||
dump = 0;
|
||||
}
|
||||
|
||||
if ( dump_fp )
|
||||
{
|
||||
// close the text dump file
|
||||
ON::CloseFile( dump_fp );
|
||||
dump_fp = 0;
|
||||
}
|
||||
|
||||
// OPTIONAL: Call just before your application exits to clean
|
||||
// up opennurbs class definition information.
|
||||
// Opennurbs will not work correctly after ON::End()
|
||||
// is called.
|
||||
ON::End();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* $NoKeywords: $ */
|
||||
/*
|
||||
//
|
||||
// Copyright (c) 1993-2011 Robert McNeel & Associates. All rights reserved.
|
||||
// OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert
|
||||
// McNeel & Assoicates.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
|
||||
// ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF
|
||||
// MERCHANTABILITY ARE HEREBY DISCLAIMED.
|
||||
//
|
||||
// For complete openNURBS copyright information see <http://www.opennurbs.org>.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////
|
||||
*/
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// example_read.cpp
|
||||
//
|
||||
// Example program using the Rhino file IO toolkit. The program reads in
|
||||
// a Rhino 3dm model file and describes its contents. The program is a
|
||||
// console application that takes a filename as a command line argument.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "../opennurbs_public_examples.h"
|
||||
|
||||
#include "../example_userdata/example_ud.h"
|
||||
|
||||
static bool Dump3dmFileHelper(
|
||||
const wchar_t* sFileName, // full name of file
|
||||
ON_TextLog& dump
|
||||
)
|
||||
{
|
||||
dump.Print("====== FILENAME: %ls\n",sFileName);
|
||||
ON_Workspace ws;
|
||||
FILE* fp = ws.OpenFile( sFileName, L"rb" ); // file automatically closed by ~ON_Workspace()
|
||||
if ( !fp ) {
|
||||
dump.Print("**ERROR** Unable to open file.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
ON_BinaryFile file( ON::archive_mode::read3dm, fp );
|
||||
|
||||
int version = 0;
|
||||
ON_String comment_block;
|
||||
bool rc = file.Read3dmStartSection( &version, comment_block );
|
||||
if (!rc) {
|
||||
dump.Print("**ERROR** Read3dmStartSection() failed\n");
|
||||
return false;
|
||||
}
|
||||
dump.Print("====== VERSION: %d\n",version );
|
||||
dump.Print("====== COMMENT BLOCK:\n",version );
|
||||
dump.PushIndent();
|
||||
dump.Print(comment_block);
|
||||
dump.PopIndent();
|
||||
dump.Print("====== CHUNKS:\n",version );
|
||||
unsigned int typecode;
|
||||
while ( !file.AtEnd() ) {
|
||||
typecode = file.Dump3dmChunk( dump, 0 );
|
||||
if ( !typecode )
|
||||
break;
|
||||
if ( typecode == TCODE_ENDOFFILE )
|
||||
break;
|
||||
}
|
||||
dump.Print("====== FINISHED: %ls\n",sFileName);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
Returns:
|
||||
True if .3dm file was successfully read into an ONX_Model class.
|
||||
*/
|
||||
static bool ReadFileHelper(
|
||||
const wchar_t* sFileName,
|
||||
bool bVerboseTextDump,
|
||||
bool bChunkDump,
|
||||
ON_TextLog& dump
|
||||
)
|
||||
{
|
||||
if ( bChunkDump )
|
||||
{
|
||||
return Dump3dmFileHelper(sFileName,dump);
|
||||
}
|
||||
|
||||
ONX_Model model;
|
||||
|
||||
dump.Print("\nOpenNURBS Archive File: %ls\n", sFileName );
|
||||
|
||||
// open file containing opennurbs archive
|
||||
FILE* archive_fp = ON::OpenFile( sFileName, L"rb");
|
||||
if ( !archive_fp )
|
||||
{
|
||||
dump.Print(" Unable to open file.\n" );
|
||||
return false;
|
||||
}
|
||||
|
||||
dump.PushIndent();
|
||||
|
||||
// create achive object from file pointer
|
||||
ON_BinaryFile archive( ON::archive_mode::read3dm, archive_fp );
|
||||
|
||||
// read the contents of the file into "model"
|
||||
bool rc = model.Read( archive, &dump );
|
||||
|
||||
// close the file
|
||||
ON::CloseFile( archive_fp );
|
||||
|
||||
// print diagnostic
|
||||
if ( rc )
|
||||
dump.Print("Successfully read.\n");
|
||||
else
|
||||
dump.Print("Errors during reading.\n");
|
||||
|
||||
// create a text dump of the model
|
||||
if ( bVerboseTextDump )
|
||||
{
|
||||
dump.PushIndent();
|
||||
model.Dump(dump);
|
||||
dump.PopIndent();
|
||||
}
|
||||
|
||||
dump.PopIndent();
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
Returns:
|
||||
Number of files read.
|
||||
*/
|
||||
static int ReadDirectoryHelper(
|
||||
int directory_depth,
|
||||
int maximum_directory_depth,
|
||||
const wchar_t* directory_name,
|
||||
const wchar_t* file_name_filter,
|
||||
bool bVerboseTextDump,
|
||||
bool bChunkDump,
|
||||
ON_TextLog& dump
|
||||
)
|
||||
{
|
||||
int file_count = 0;
|
||||
if ( directory_depth <= maximum_directory_depth )
|
||||
{
|
||||
if ( 0 == file_name_filter || 0 == file_name_filter[0] )
|
||||
file_name_filter = L"*.3dm";
|
||||
|
||||
// read files in this directory
|
||||
ON_FileIterator file_it;
|
||||
bool bFoundDirectory = false;
|
||||
for ( bool bHaveFileSystemItem = (file_it.Initialize( directory_name, file_name_filter ) && file_it.FirstItem());
|
||||
bHaveFileSystemItem;
|
||||
bHaveFileSystemItem = file_it.NextItem()
|
||||
)
|
||||
{
|
||||
if (file_it.CurrentItemIsDirectory())
|
||||
{
|
||||
bFoundDirectory = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( false == file_it.CurrentItemIsFile() )
|
||||
continue;
|
||||
|
||||
if ( file_it.CurrentItemIsHidden() )
|
||||
continue;
|
||||
|
||||
ON_wString full_path(file_it.CurrentItemFullPathName());
|
||||
if ( full_path.IsEmpty() )
|
||||
continue;
|
||||
|
||||
if ( !ON::IsOpenNURBSFile(full_path) )
|
||||
continue;
|
||||
|
||||
if ( ReadFileHelper(full_path,bVerboseTextDump,bChunkDump,dump) )
|
||||
file_count++;
|
||||
}
|
||||
|
||||
// read files in subdirectories
|
||||
if ( bFoundDirectory && directory_depth < maximum_directory_depth )
|
||||
{
|
||||
ON_FileIterator dir_it;
|
||||
for ( bool bHaveFileSystemItem = (dir_it.Initialize( directory_name, nullptr ) && dir_it.FirstItem());
|
||||
bHaveFileSystemItem;
|
||||
bHaveFileSystemItem = dir_it.NextItem()
|
||||
)
|
||||
{
|
||||
if ( false == dir_it.CurrentItemIsDirectory() )
|
||||
continue;
|
||||
|
||||
if ( dir_it.CurrentItemIsHidden() )
|
||||
continue;
|
||||
|
||||
ON_wString full_path(dir_it.CurrentItemFullPathName());
|
||||
if ( full_path.IsEmpty() )
|
||||
continue;
|
||||
|
||||
file_count += ReadDirectoryHelper(
|
||||
directory_depth + 1,
|
||||
maximum_directory_depth,
|
||||
full_path,
|
||||
file_name_filter,
|
||||
bVerboseTextDump,
|
||||
bChunkDump,
|
||||
dump
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return file_count;
|
||||
}
|
||||
|
||||
|
||||
static void print_help(const char* example_read_exe_name)
|
||||
{
|
||||
if ( 0 == example_read_exe_name || 0 == example_read_exe_name[0])
|
||||
example_read_exe_name = "example_read";
|
||||
|
||||
printf("\n");
|
||||
printf("SYNOPSIS:\n");
|
||||
printf(" %s [-out:outputfilename.txt] [-c] [-r] <file or directory names>\n",example_read_exe_name );
|
||||
printf("\n");
|
||||
printf("DESCRIPTION:\n");
|
||||
printf(" If a file is listed, it is read as an opennurbs model file.\n");
|
||||
printf(" If a directory is listed, all .3dm files in that directory\n");
|
||||
printf(" are read as opennurbs model files.\n");
|
||||
printf("\n");
|
||||
printf(" Available options:\n");
|
||||
printf(" -out:outputfilename.txt\n");
|
||||
printf(" The output is written to the named file.\n");
|
||||
printf(" -chunkdump\n");
|
||||
printf(" Does a chunk dump instead of reading the file's contents.\n");
|
||||
printf(" -recursive\n");
|
||||
printf(" Recursivly reads files in subdirectories.\n");
|
||||
printf("\n");
|
||||
printf("EXAMPLE:\n");
|
||||
printf(" %s -out:list.txt -resursive .../example_files\n",example_read_exe_name);
|
||||
printf(" with read all the opennurbs .3dm files in the\n");
|
||||
printf(" example_files/ directory and subdirectories.\n");
|
||||
}
|
||||
|
||||
|
||||
#if defined(ON_COMPILER_MSC)
|
||||
|
||||
// When you run a C program, you can use either of the two wildcards
|
||||
// the question mark (?) and the asterisk (*) to specify filename
|
||||
// and path arguments on the command line.
|
||||
// By default, wildcards are not expanded in command-line arguments.
|
||||
// You can replace the normal argument vector argv loading routine with
|
||||
// a version that does expand wildcards by linking with the setargv.obj or wsetargv.obj file.
|
||||
// If your program uses a main function, link with setargv.obj.
|
||||
// If your program uses a wmain function, link with wsetargv.obj.
|
||||
// Both of these have equivalent behavior.
|
||||
// To link with setargv.obj or wsetargv.obj, use the /link option.
|
||||
//
|
||||
// For example:
|
||||
// cl example.c /link setargv.obj
|
||||
// The wildcards are expanded in the same manner as operating system commands.
|
||||
// (See your operating system user's guide if you are unfamiliar with wildcards.)
|
||||
|
||||
// example_read.vcxproj linkin options include setargv.obj.
|
||||
|
||||
#endif
|
||||
|
||||
int main( int argc, const char *argv[] )
|
||||
{
|
||||
// If you are using OpenNURBS as a Windows DLL, then you MUST use
|
||||
// ON::OpenFile() to open the file. If you are not using OpenNURBS
|
||||
// as a Windows DLL, then you may use either ON::OpenFile() or fopen()
|
||||
// to open the file.
|
||||
|
||||
const char* example_read_exe_name = 0;
|
||||
if ( argc >= 1 && 0 != argv && 0 != argv[0] && 0 != argv[0][0] )
|
||||
{
|
||||
on_splitpath(
|
||||
argv[0],
|
||||
nullptr, // drive
|
||||
nullptr, // director,
|
||||
&example_read_exe_name,
|
||||
nullptr // extension
|
||||
);
|
||||
}
|
||||
|
||||
if ( 0 == example_read_exe_name || 0 == example_read_exe_name[0] )
|
||||
{
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
example_read_exe_name = "example_read.exe";
|
||||
#else
|
||||
example_read_exe_name = "example_read";
|
||||
#endif
|
||||
}
|
||||
|
||||
int argi;
|
||||
if ( argc < 2 )
|
||||
{
|
||||
print_help(example_read_exe_name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Call once in your application to initialze opennurbs library
|
||||
ON::Begin();
|
||||
|
||||
// default dump is to stdout
|
||||
ON_TextLog dump_to_stdout;
|
||||
dump_to_stdout.SetIndentSize(2);
|
||||
ON_TextLog* dump = &dump_to_stdout;
|
||||
FILE* dump_fp = 0;
|
||||
|
||||
bool bVerboseTextDump = true;
|
||||
|
||||
bool bChunkDump = false;
|
||||
|
||||
|
||||
int maximum_directory_depth = 0;
|
||||
|
||||
int file_count = 0;
|
||||
|
||||
for ( argi = 1; argi < argc; argi++ )
|
||||
{
|
||||
const char* arg = argv[argi];
|
||||
|
||||
// check for -out or /out option
|
||||
if ( ( 0 == strncmp(arg,"-out:",5) || 0 == strncmp(arg,"-out:",5)
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
|| 0 == strncmp(arg,"/out:",5)
|
||||
#endif
|
||||
)
|
||||
&& arg[5] )
|
||||
{
|
||||
// change destination of dump file
|
||||
if ( dump != &dump_to_stdout )
|
||||
{
|
||||
delete dump;
|
||||
dump = 0;
|
||||
}
|
||||
if ( dump_fp )
|
||||
{
|
||||
ON::CloseFile(dump_fp);
|
||||
}
|
||||
|
||||
const ON_wString sDumpFilename = ON_FileSystemPath::ExpandUser(arg + 5);
|
||||
FILE* text_fp = ON::OpenFile(sDumpFilename,L"w");
|
||||
if ( text_fp )
|
||||
{
|
||||
dump_fp = text_fp;
|
||||
dump = new ON_TextLog(dump_fp);
|
||||
dump->SetIndentSize(2);
|
||||
}
|
||||
|
||||
if ( 0 == dump )
|
||||
dump = &dump_to_stdout;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// check for -chunkdump or /chunkdump option
|
||||
if ( 0 == strcmp(arg,"-C")
|
||||
|| 0 == strcmp(arg,"-c")
|
||||
|| 0 == strcmp(arg,"-chunk")
|
||||
|| 0 == strcmp(arg,"-chunkdump")
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
|| 0 == strcmp(arg,"/C")
|
||||
|| 0 == strcmp(arg,"/c")
|
||||
|| 0 == strcmp(arg,"/chunk")
|
||||
|| 0 == strcmp(arg,"/chunkdump")
|
||||
#endif
|
||||
)
|
||||
{
|
||||
bChunkDump = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
// check for -recursive or /recursive option
|
||||
if ( 0 == strcmp(arg,"-R")
|
||||
|| 0 == strcmp(arg,"-r")
|
||||
|| 0 == strcmp(arg,"-recurse")
|
||||
|| 0 == strcmp(arg,"-recursive")
|
||||
#if defined(ON_OS_WINDOWS)
|
||||
|| 0 == strcmp(arg,"/R")
|
||||
|| 0 == strcmp(arg,"/r")
|
||||
|| 0 == strcmp(arg,"/recurse")
|
||||
|| 0 == strcmp(arg,"/recursive")
|
||||
#endif
|
||||
)
|
||||
{
|
||||
maximum_directory_depth = 32;
|
||||
continue;
|
||||
}
|
||||
|
||||
ON_wString ws_arg = ON_FileSystemPath::ExpandUser(arg);
|
||||
const wchar_t* wchar_arg = ws_arg;
|
||||
|
||||
if ( ON::IsDirectory(wchar_arg) )
|
||||
{
|
||||
file_count += ReadDirectoryHelper( 0, maximum_directory_depth, wchar_arg, 0, bVerboseTextDump, bChunkDump, *dump );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ReadFileHelper( wchar_arg, bVerboseTextDump, bChunkDump, *dump ) )
|
||||
file_count++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dump->Print("%s read %d opennurbs model files.\n",example_read_exe_name,file_count);
|
||||
if ( dump != &dump_to_stdout )
|
||||
{
|
||||
delete dump;
|
||||
dump = 0;
|
||||
}
|
||||
|
||||
if ( dump_fp )
|
||||
{
|
||||
// close the text dump file
|
||||
ON::CloseFile( dump_fp );
|
||||
dump_fp = 0;
|
||||
}
|
||||
|
||||
// OPTIONAL: Call just before your application exits to clean
|
||||
// up opennurbs class definition information.
|
||||
// Opennurbs will not work correctly after ON::End()
|
||||
// is called.
|
||||
ON::End();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,160 +1,160 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{14A32F02-5A5D-49F7-9156-7EA3608C5900}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>example_read</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\example_userdata\example_ud.cpp" />
|
||||
<ClCompile Include="example_read.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\examples.h" />
|
||||
<ClInclude Include="..\examples_linking_pragmas.h" />
|
||||
<ClInclude Include="..\example_userdata\example_ud.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{14A32F02-5A5D-49F7-9156-7EA3608C5900}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>example_read</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\opennurbs_msbuild.Cpp.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>setargv.obj;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\example_userdata\example_ud.cpp" />
|
||||
<ClCompile Include="example_read.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\examples.h" />
|
||||
<ClInclude Include="..\examples_linking_pragmas.h" />
|
||||
<ClInclude Include="..\example_userdata\example_ud.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,31 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{08cf1add-3c46-4bc3-912e-e268f06ecbc4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="example_read.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\example_userdata\example_ud.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\examples_linking_pragmas.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\example_userdata\example_ud.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\examples.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{08cf1add-3c46-4bc3-912e-e268f06ecbc4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="example_read.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\example_userdata\example_ud.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\examples_linking_pragmas.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\example_userdata\example_ud.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\examples.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,296 +1,296 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1D77E3891EE20FA700994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E3881EE20FA700994B0B /* Cocoa.framework */; };
|
||||
1DCB16F11EE0835C004CC693 /* example_read.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DCB16F01EE0835C004CC693 /* example_read.cpp */; };
|
||||
1DCB16F41EE0841D004CC693 /* example_ud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DCB16F31EE0841D004CC693 /* example_ud.cpp */; };
|
||||
1DCB16F71EE0883F004CC693 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */; };
|
||||
1DCB16FB1EE08850004CC693 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
1D4066521EE0826A008E12FE /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = /usr/share/man/man1/;
|
||||
dstSubfolderSpec = 0;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1D4066541EE0826A008E12FE /* example_read */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_read; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1D77E3881EE20FA700994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
1DCB16F01EE0835C004CC693 /* example_read.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_read.cpp; sourceTree = "<group>"; };
|
||||
1DCB16F31EE0841D004CC693 /* example_ud.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = example_ud.cpp; path = ../example_userdata/example_ud.cpp; sourceTree = "<group>"; };
|
||||
1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/opennurbs_public-guyfbzppmwxsskejyvyxsmsqppib/Build/Products/Debug/libopennurbs_public.a"; sourceTree = "<group>"; };
|
||||
1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1D4066511EE0826A008E12FE /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D77E3891EE20FA700994B0B /* Cocoa.framework in Frameworks */,
|
||||
1DCB16FB1EE08850004CC693 /* libopennurbs_public_zlib.a in Frameworks */,
|
||||
1DCB16F71EE0883F004CC693 /* libopennurbs_public.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1D40664B1EE0826A008E12FE = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1DCB16F31EE0841D004CC693 /* example_ud.cpp */,
|
||||
1DCB16F01EE0835C004CC693 /* example_read.cpp */,
|
||||
1D4066551EE0826A008E12FE /* Products */,
|
||||
1DCB16F51EE0883F004CC693 /* Frameworks */,
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 2;
|
||||
wrapsLines = 0;
|
||||
};
|
||||
1D4066551EE0826A008E12FE /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D4066541EE0826A008E12FE /* example_read */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1DCB16F51EE0883F004CC693 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D77E3881EE20FA700994B0B /* Cocoa.framework */,
|
||||
1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */,
|
||||
1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D4066531EE0826A008E12FE /* example_read */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D40665B1EE0826A008E12FE /* Build configuration list for PBXNativeTarget "example_read" */;
|
||||
buildPhases = (
|
||||
1D4066501EE0826A008E12FE /* Sources */,
|
||||
1D4066511EE0826A008E12FE /* Frameworks */,
|
||||
1D4066521EE0826A008E12FE /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = example_read;
|
||||
productName = example_read;
|
||||
productReference = 1D4066541EE0826A008E12FE /* example_read */;
|
||||
productType = "com.apple.product-type.tool";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
1D40664C1EE0826A008E12FE /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1020;
|
||||
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
|
||||
TargetAttributes = {
|
||||
1D4066531EE0826A008E12FE = {
|
||||
CreatedOnToolsVersion = 8.3.2;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 1D40664F1EE0826A008E12FE /* Build configuration list for PBXProject "example_read" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
en,
|
||||
);
|
||||
mainGroup = 1D40664B1EE0826A008E12FE;
|
||||
productRefGroup = 1D4066551EE0826A008E12FE /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D4066531EE0826A008E12FE /* example_read */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1D4066501EE0826A008E12FE /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1DCB16F11EE0835C004CC693 /* example_read.cpp in Sources */,
|
||||
1DCB16F41EE0841D004CC693 /* example_ud.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D4066591EE0826A008E12FE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
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_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
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;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D40665A1EE0826A008E12FE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
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_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
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;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1D40665C1EE0826A008E12FE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D40665D1EE0826A008E12FE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1D40664F1EE0826A008E12FE /* Build configuration list for PBXProject "example_read" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D4066591EE0826A008E12FE /* Debug */,
|
||||
1D40665A1EE0826A008E12FE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1D40665B1EE0826A008E12FE /* Build configuration list for PBXNativeTarget "example_read" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D40665C1EE0826A008E12FE /* Debug */,
|
||||
1D40665D1EE0826A008E12FE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 1D40664C1EE0826A008E12FE /* Project object */;
|
||||
}
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1D77E3891EE20FA700994B0B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D77E3881EE20FA700994B0B /* Cocoa.framework */; };
|
||||
1DCB16F11EE0835C004CC693 /* example_read.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DCB16F01EE0835C004CC693 /* example_read.cpp */; };
|
||||
1DCB16F41EE0841D004CC693 /* example_ud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1DCB16F31EE0841D004CC693 /* example_ud.cpp */; };
|
||||
1DCB16F71EE0883F004CC693 /* libopennurbs_public.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */; };
|
||||
1DCB16FB1EE08850004CC693 /* libopennurbs_public_zlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
1D4066521EE0826A008E12FE /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = /usr/share/man/man1/;
|
||||
dstSubfolderSpec = 0;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1D4066541EE0826A008E12FE /* example_read */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = example_read; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1D77E3881EE20FA700994B0B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
1DCB16F01EE0835C004CC693 /* example_read.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = example_read.cpp; sourceTree = "<group>"; };
|
||||
1DCB16F31EE0841D004CC693 /* example_ud.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = example_ud.cpp; path = ../example_userdata/example_ud.cpp; sourceTree = "<group>"; };
|
||||
1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public.a; path = "../../../../../../../../Library/Developer/Xcode/DerivedData/opennurbs_public-guyfbzppmwxsskejyvyxsmsqppib/Build/Products/Debug/libopennurbs_public.a"; sourceTree = "<group>"; };
|
||||
1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopennurbs_public_zlib.a; path = ../zlib/build/Debug/libopennurbs_public_zlib.a; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1D4066511EE0826A008E12FE /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D77E3891EE20FA700994B0B /* Cocoa.framework in Frameworks */,
|
||||
1DCB16FB1EE08850004CC693 /* libopennurbs_public_zlib.a in Frameworks */,
|
||||
1DCB16F71EE0883F004CC693 /* libopennurbs_public.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1D40664B1EE0826A008E12FE = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1DCB16F31EE0841D004CC693 /* example_ud.cpp */,
|
||||
1DCB16F01EE0835C004CC693 /* example_read.cpp */,
|
||||
1D4066551EE0826A008E12FE /* Products */,
|
||||
1DCB16F51EE0883F004CC693 /* Frameworks */,
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 2;
|
||||
wrapsLines = 0;
|
||||
};
|
||||
1D4066551EE0826A008E12FE /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D4066541EE0826A008E12FE /* example_read */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1DCB16F51EE0883F004CC693 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D77E3881EE20FA700994B0B /* Cocoa.framework */,
|
||||
1DCB16FA1EE08850004CC693 /* libopennurbs_public_zlib.a */,
|
||||
1DCB16F61EE0883F004CC693 /* libopennurbs_public.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D4066531EE0826A008E12FE /* example_read */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D40665B1EE0826A008E12FE /* Build configuration list for PBXNativeTarget "example_read" */;
|
||||
buildPhases = (
|
||||
1D4066501EE0826A008E12FE /* Sources */,
|
||||
1D4066511EE0826A008E12FE /* Frameworks */,
|
||||
1D4066521EE0826A008E12FE /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = example_read;
|
||||
productName = example_read;
|
||||
productReference = 1D4066541EE0826A008E12FE /* example_read */;
|
||||
productType = "com.apple.product-type.tool";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
1D40664C1EE0826A008E12FE /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1020;
|
||||
ORGANIZATIONNAME = "OpenNURBS 3dm File IO Toolkit";
|
||||
TargetAttributes = {
|
||||
1D4066531EE0826A008E12FE = {
|
||||
CreatedOnToolsVersion = 8.3.2;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 1D40664F1EE0826A008E12FE /* Build configuration list for PBXProject "example_read" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
en,
|
||||
);
|
||||
mainGroup = 1D40664B1EE0826A008E12FE;
|
||||
productRefGroup = 1D4066551EE0826A008E12FE /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D4066531EE0826A008E12FE /* example_read */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1D4066501EE0826A008E12FE /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1DCB16F11EE0835C004CC693 /* example_read.cpp in Sources */,
|
||||
1DCB16F41EE0841D004CC693 /* example_ud.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D4066591EE0826A008E12FE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
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_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
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;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D40665A1EE0826A008E12FE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
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_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = 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_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
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;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1D40665C1EE0826A008E12FE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D40665D1EE0826A008E12FE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1D40664F1EE0826A008E12FE /* Build configuration list for PBXProject "example_read" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D4066591EE0826A008E12FE /* Debug */,
|
||||
1D40665A1EE0826A008E12FE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1D40665B1EE0826A008E12FE /* Build configuration list for PBXNativeTarget "example_read" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D40665C1EE0826A008E12FE /* Debug */,
|
||||
1D40665D1EE0826A008E12FE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 1D40664C1EE0826A008E12FE /* Project object */;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:example_read.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:example_read.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
||||
Reference in New Issue
Block a user