summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2010-10-25 10:20:21 +0000
committerMatthias Melcher <fltk@matthiasm.com>2010-10-25 10:20:21 +0000
commit2870b6efe19c9118f2f70d01afa334905bf254f9 (patch)
treeddf527a135ca84b39b2d53a06388b017528eaf7e
parent9ec755f5fad93be700e67a2f40122adf932e578f (diff)
Added new project template for Xcode (part 2 of 3). Part 3 will be done later (see TODO: tag sin README.OSX)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7739 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--README.OSX.txt60
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/English.lproj/InfoPlist.strings2
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAMEASIDENTIFIER___-Info.plist28
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/TemplateInfo.plist4
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/project.pbxproj355
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.cpp12
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.h6
-rw-r--r--ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/ui.fl15
-rw-r--r--ide/Xcode3/fluid.pbfilespec8
9 files changed, 470 insertions, 20 deletions
diff --git a/README.OSX.txt b/README.OSX.txt
index 172a5519f..3c431d65a 100644
--- a/README.OSX.txt
+++ b/README.OSX.txt
@@ -248,32 +248,52 @@ tools:
Installing Little Helpers
---------------------------
-FIXME:
-Xcode can learn how to create FLTK projects for you. To add FLTK projects as a
-new project template for Xcode 3, copy "./ide/Xcode3/Project Templates/" to
-"~/Library/Application Support/Developer/Shared/Xcode/" and restart Xcode.
+- Project Templates:
-Projects that are generated using this template expect fltk 1.3 as it is
-installed using the command line. Also, you will need to add the
-"AudioToolbox.framework" manually which is needed to create warning beeps.
+Project Templates are the quickest way to vcreate a new FLTK application from
+within Xcode. The included project builds an FLTK based Cocoa application
+written in C++ with support for the Fluid UI designer, image reading, and
+OpenGL. Unsused FLTK sub-Frameworks can simply be removed from the project.
+The template assumes that Release versions of the FLTK frameworks are installed
+in /Library/Frameworks as described above.
-Xcode can also handle the .fl file extension to edit and compile Fluid resource
-files for you. The template project contains custom build rules for .fl files.
+First, we need to create the Template folder:
-Choose Xcode > Preferences to open Xcode's preferences window. There is a
-toolbar at the top of the window with many buttons. Click the File Types button.
+ sudo mkdir -p /Library/Application\ Support/Developer/Shared/Xcode/Project\ Templates/
-Create the file "Library/Application Support/Developer/Shared/Xcode/
-Specifications/fluid.pbfilespec" and add the following lines:
-
- {
- Identifier = sourcecode.fluid;
- BasedOn = sourcecode;
- Extensions = (fl);
- }
+Next, we copy the project template over:
+
+ sudo cp -r ide/Xcode3/Project\ Templates/* /Library/Application\ Support/Developer/Shared/Xcode/Project\ Templates/
+
+After restarting Xcode, the dialog for "File > New Project..." will offer an
+FLTK 1.3 user template which is ready to compile.
+
+
+- Fluid file handling
+
+This section assumes that a Relaease version of Fluid is installed in
+"/Developer/Applications/Utilities/FLTK/" as describe above. It will installe
+a new file type which opens Fluid as an editor for files ending in ".fl".
+
+First, we need to create the spec folder:
+
+ sudo mkdir -p /Library/Application\ Support/Developer/Shared/Xcode/Specifications/
+
+Next, we copy the Fluid specification over:
+
+ sudo cp ide/Xcode3/fluid.pbfilespec /Library/Application\ Support/Developer/Shared/Xcode/Specifications/
+
+Open Xcoe preferences and select the File Types tab. Find the "sourcecode.fluid"
+entry in "file > text > sourcecode" and set the external editor to Fluid. When
+radding ".fl" files, set the File Type in the Info dialog to "sourcecode.fluid"
+and Xcode will edit your fil in Fluid when double-clicking.
+
+
+- More
-END OF FIXME.
+TODO: Language Definition
+TODO: Build Rules
Creating new Projects
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/English.lproj/InfoPlist.strings b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/English.lproj/InfoPlist.strings
new file mode 100644
index 000000000..477b28ff8
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/English.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAMEASIDENTIFIER___-Info.plist b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAMEASIDENTIFIER___-Info.plist
new file mode 100644
index 000000000..95f5aa42e
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAMEASIDENTIFIER___-Info.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>${MACOSX_DEPLOYMENT_TARGET}</string>
+</dict>
+</plist>
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/TemplateInfo.plist b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
new file mode 100644
index 000000000..1726da587
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
@@ -0,0 +1,4 @@
+{
+ Description = "This project builds an FLTK based Cocoa application written in C++ with support for the Fluid UI designer, image reading, and OpenGL.";
+}
+
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/project.pbxproj b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..f24c337ac
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/___PROJECTNAME___.xcodeproj/project.pbxproj
@@ -0,0 +1,355 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+ C95960BE1274CD8A009C0594 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C95960BD1274CD8A009C0594 /* fltk.framework */; };
+ C9601E9910B1FAED0018BADE /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9601E9810B1FAED0018BADE /* main.cpp */; };
+ C9601EE410B2020B0018BADE /* ui.fl in Resources */ = {isa = PBXBuildFile; fileRef = C9601EE310B2020B0018BADE /* ui.fl */; };
+ C9601EEC10B202440018BADE /* ui.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C9601EEA10B202440018BADE /* ui.cxx */; };
+ C96291231274D238007D3CFE /* fltk_forms.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96291221274D238007D3CFE /* fltk_forms.framework */; };
+ C96291251274D238007D3CFE /* fltk_gl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96291241274D238007D3CFE /* fltk_gl.framework */; };
+ C96291271274D238007D3CFE /* fltk_images.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96291261274D238007D3CFE /* fltk_images.framework */; };
+ C96291291274D238007D3CFE /* fltk_jpeg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C96291281274D238007D3CFE /* fltk_jpeg.framework */; };
+ C962912B1274D238007D3CFE /* fltk_png.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C962912A1274D238007D3CFE /* fltk_png.framework */; };
+ C962912D1274D238007D3CFE /* fltk_zlib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C962912C1274D238007D3CFE /* fltk_zlib.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildRule section */
+ C9601C4B10B1F9B60018BADE /* PBXBuildRule */ = {
+ isa = PBXBuildRule;
+ compilerSpec = com.apple.compilers.proxy.script;
+ filePatterns = "*.fl";
+ fileType = pattern.proxy;
+ isEditable = 1;
+ outputFiles = (
+ "${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.cxx",
+ "${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.h",
+ );
+ script = "/Developer/Applications/Utilities/FLTK/Fluid.app/Contents/MacOS/Fluid -c ${INPUT_FILE_NAME}";
+ };
+/* End PBXBuildRule section */
+
+/* Begin PBXFileReference section */
+ 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* ___PROJECTNAMEASIDENTIFIER___-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "___PROJECTNAMEASIDENTIFIER___-Info.plist"; sourceTree = "<group>"; };
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ___PROJECTNAME___.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ C95960BD1274CD8A009C0594 /* fltk.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk.framework; path = /Library/Frameworks/fltk.framework; sourceTree = "<absolute>"; };
+ C9601DCB10B1FA890018BADE /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ C9601E9710B1FAED0018BADE /* main.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = "<group>"; };
+ C9601E9810B1FAED0018BADE /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
+ C9601EE310B2020B0018BADE /* ui.fl */ = {isa = PBXFileReference; explicitFileType = sourcecode.fluid; fileEncoding = 4; path = ui.fl; sourceTree = "<group>"; };
+ C9601EEA10B202440018BADE /* ui.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ui.cxx; sourceTree = "<group>"; };
+ C9601EEB10B202440018BADE /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = "<group>"; };
+ C96291221274D238007D3CFE /* fltk_forms.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk_forms.framework; path = /Library/Frameworks/fltk_forms.framework; sourceTree = "<absolute>"; };
+ C96291241274D238007D3CFE /* fltk_gl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk_gl.framework; path = /Library/Frameworks/fltk_gl.framework; sourceTree = "<absolute>"; };
+ C96291261274D238007D3CFE /* fltk_images.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk_images.framework; path = /Library/Frameworks/fltk_images.framework; sourceTree = "<absolute>"; };
+ C96291281274D238007D3CFE /* fltk_jpeg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk_jpeg.framework; path = /Library/Frameworks/fltk_jpeg.framework; sourceTree = "<absolute>"; };
+ C962912A1274D238007D3CFE /* fltk_png.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk_png.framework; path = /Library/Frameworks/fltk_png.framework; sourceTree = "<absolute>"; };
+ C962912C1274D238007D3CFE /* fltk_zlib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = fltk_zlib.framework; path = /Library/Frameworks/fltk_zlib.framework; sourceTree = "<absolute>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D11072E0486CEB800E47090 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C95960BE1274CD8A009C0594 /* fltk.framework in Frameworks */,
+ C96291231274D238007D3CFE /* fltk_forms.framework in Frameworks */,
+ C96291251274D238007D3CFE /* fltk_gl.framework in Frameworks */,
+ C96291271274D238007D3CFE /* fltk_images.framework in Frameworks */,
+ C96291291274D238007D3CFE /* fltk_jpeg.framework in Frameworks */,
+ C962912B1274D238007D3CFE /* fltk_png.framework in Frameworks */,
+ C962912D1274D238007D3CFE /* fltk_zlib.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 1058C7A0FEA54F0111CA2CBB /* OS X Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ C9601DCB10B1FA890018BADE /* OpenGL.framework */,
+ );
+ name = "OS X Frameworks";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */ = {
+ isa = PBXGroup;
+ children = (
+ C9601E9410B1FADC0018BADE /* Sources */,
+ C9601EED10B2024C0018BADE /* FLUID Sources */,
+ C9601EE910B2022E0018BADE /* Generated Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = ___PROJECTNAMEASXML___;
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D1107310486CEB800E47090 /* ___PROJECTNAMEASIDENTIFIER___-Info.plist */,
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ C9EDD6C71274CC1D00ADB21C /* FLTK Frameworks */,
+ 1058C7A0FEA54F0111CA2CBB /* OS X Frameworks */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ C9601E9410B1FADC0018BADE /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ C9601E9710B1FAED0018BADE /* main.h */,
+ C9601E9810B1FAED0018BADE /* main.cpp */,
+ );
+ name = Sources;
+ sourceTree = "<group>";
+ };
+ C9601EE910B2022E0018BADE /* Generated Sources */ = {
+ isa = PBXGroup;
+ children = (
+ C9601EEA10B202440018BADE /* ui.cxx */,
+ C9601EEB10B202440018BADE /* ui.h */,
+ );
+ name = "Generated Sources";
+ sourceTree = "<group>";
+ };
+ C9601EED10B2024C0018BADE /* FLUID Sources */ = {
+ isa = PBXGroup;
+ children = (
+ C9601EE310B2020B0018BADE /* ui.fl */,
+ );
+ name = "FLUID Sources";
+ sourceTree = "<group>";
+ };
+ C9EDD6C71274CC1D00ADB21C /* FLTK Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ C95960BD1274CD8A009C0594 /* fltk.framework */,
+ C96291221274D238007D3CFE /* fltk_forms.framework */,
+ C96291241274D238007D3CFE /* fltk_gl.framework */,
+ C96291261274D238007D3CFE /* fltk_images.framework */,
+ C96291281274D238007D3CFE /* fltk_jpeg.framework */,
+ C962912A1274D238007D3CFE /* fltk_png.framework */,
+ C962912C1274D238007D3CFE /* fltk_zlib.framework */,
+ );
+ name = "FLTK Frameworks";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */;
+ buildPhases = (
+ 8D1107290486CEB800E47090 /* Resources */,
+ 8D11072C0486CEB800E47090 /* Sources */,
+ 8D11072E0486CEB800E47090 /* Frameworks */,
+ );
+ buildRules = (
+ C9601C4B10B1F9B60018BADE /* PBXBuildRule */,
+ );
+ dependencies = (
+ );
+ name = "___PROJECTNAME___";
+ productInstallPath = "$(HOME)/Applications";
+ productName = "___PROJECTNAME___";
+ productReference = 8D1107320486CEB800E47090 /* ___PROJECTNAME___.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */;
+ compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 29B97314FDCFA39411CA2CEA /* ___PROJECTNAMEASXML___ */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D1107260486CEB800E47090 /* ___PROJECTNAME___ */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D1107290486CEB800E47090 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ C9601EE410B2020B0018BADE /* ui.fl in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D11072C0486CEB800E47090 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9601E9910B1FAED0018BADE /* main.cpp in Sources */,
+ C9601EEC10B202440018BADE /* ui.cxx in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C165DFE840E0CC02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C01FCF4B08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+ GCC_WARN_UNUSED_VARIABLE = NO;
+ HEADER_SEARCH_PATHS = (
+ /Library/Frameworks/fltk.framework/Headers/,
+ /Library/Framework/fltk.frameworks/Headers/FL/images,
+ );
+ INFOPLIST_FILE = "___PROJECTNAMEASIDENTIFIER___-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ SDKROOT = macosx10.5;
+ STRINGS_FILE_OUTPUT_ENCODING = "UTF-8";
+ VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64";
+ };
+ name = Debug;
+ };
+ C01FCF4C08A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
+ GCC_WARN_UNUSED_VARIABLE = NO;
+ HEADER_SEARCH_PATHS = (
+ /Library/Frameworks/fltk.framework/Headers/,
+ /Library/Framework/fltk.frameworks/Headers/FL/images,
+ );
+ INFOPLIST_FILE = "___PROJECTNAMEASIDENTIFIER___-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ ONLY_ACTIVE_ARCH = NO;
+ OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "___PROJECTNAME___";
+ SDKROOT = macosx10.5;
+ STRINGS_FILE_OUTPUT_ENCODING = "UTF-8";
+ VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64";
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PREBINDING = NO;
+ SDKROOT = macosx10.6;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = macosx10.6;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4B08A954540054247B /* Debug */,
+ C01FCF4C08A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "___PROJECTNAME___" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.cpp b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.cpp
new file mode 100644
index 000000000..4ee84edb6
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.cpp
@@ -0,0 +1,12 @@
+
+#include "main.h"
+#include "ui.h"
+
+#include <FL/FL.h>
+
+int main(int argc, char **argv)
+{
+ Fl_Window *win = make_window();
+ win->show(argc, argv);
+ return Fl::run();
+}
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.h b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.h
new file mode 100644
index 000000000..51e43b0b6
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/main.h
@@ -0,0 +1,6 @@
+
+#ifndef MAIN_H
+#define MAIN_H
+
+#endif
+
diff --git a/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/ui.fl b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/ui.fl
new file mode 100644
index 000000000..efe088804
--- /dev/null
+++ b/ide/Xcode3/Project Templates/FLTK Application/FLTK 1.3/ui.fl
@@ -0,0 +1,15 @@
+# data file for the Fltk User Interface Designer (fluid)
+version 1.0300
+header_name {.h}
+code_name {.cxx}
+Function {make_window()} {open
+} {
+ Fl_Window {} {open selected
+ xywh {550 77 300 160} type Double visible
+ } {
+ Fl_Box {} {
+ label {Welcome to FLTK!}
+ xywh {50 25 200 100} box GTK_ROUND_UP_BOX color 50 labelsize 20
+ }
+ }
+}
diff --git a/ide/Xcode3/fluid.pbfilespec b/ide/Xcode3/fluid.pbfilespec
new file mode 100644
index 000000000..e5c8a8007
--- /dev/null
+++ b/ide/Xcode3/fluid.pbfilespec
@@ -0,0 +1,8 @@
+{
+ Identifier = sourcecode.fluid;
+ BasedOn = sourcecode;
+ Name = "FLTK Fluid GUI description";
+ Extensions = (fl);
+ AppliesToBuildRules = yes;
+ CanSetIncludeInIndex = YES;
+}