summaryrefslogtreecommitdiff
path: root/fluid
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2010-02-25 21:21:04 +0000
committerMatthias Melcher <fltk@matthiasm.com>2010-02-25 21:21:04 +0000
commit7f395e6e4410e376ff95c914506d1599083afce7 (patch)
tree890103f68b8a8e5712352ea714044734da3d52b3 /fluid
parentd22a23744550720e58da3efac4424c5d982041c8 (diff)
Added VisualC IDE as it is autogenerated by Fluid. This is still somewhat experimental.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7146 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid')
-rw-r--r--fluid/ide_support.cxx140
-rw-r--r--fluid/ide_support.h8
-rw-r--r--fluid/ide_visualc.cxx29
-rw-r--r--fluid/ide_xcode.cxx80
4 files changed, 170 insertions, 87 deletions
diff --git a/fluid/ide_support.cxx b/fluid/ide_support.cxx
index c88e0ee59..e639f829a 100644
--- a/fluid/ide_support.cxx
+++ b/fluid/ide_support.cxx
@@ -270,22 +270,64 @@ const char *Fl_File_Prefs::fileExt() {
return pExt;
}
-void osx_only(Fl_Preferences::ID id) {
+void xcode_only(Fl_Preferences::ID id) {
Fl_Preferences p(id);
- p.set("only", "OS:OSX*"); // type:name#ver # is >, >=, <, <=, ==, !=, *
+ p.set("only", "xcode");
}
+char with_xcode(Fl_Preferences::ID id) {
+ Fl_Preferences p(id);
+ if (p.entryExists("only")) {
+ char os[16];
+ p.get("only", os, "xcode", 15);
+ return (strcmp(os, "xcode")==0);
+ } else {
+ return 1;
+ }
+}
+
+void visualc_only(Fl_Preferences::ID id) {
+ Fl_Preferences p(id);
+ p.set("only", "visualc");
+}
+
+char with_visualc(Fl_Preferences::ID id) {
+ Fl_Preferences p(id);
+ if (p.entryExists("only")) {
+ char os[16];
+ p.get("only", os, "visualc", 15);
+ return (strcmp(os, "visualc")==0);
+ } else {
+ return 1;
+ }
+}
+
+void makefile_only(Fl_Preferences::ID id) {
+ Fl_Preferences p(id);
+ p.set("only", "makefile");
+}
+
+char with_makefile(Fl_Preferences::ID id) {
+ Fl_Preferences p(id);
+ if (p.entryExists("only")) {
+ char os[16];
+ p.get("only", os, "makefile", 15);
+ return (strcmp(os, "makefile")==0);
+ } else {
+ return 1;
+ }
+}
+
+
//==============================================================================
-// TODO: Find a good standard position for the database
-// for testing, we used "/Users/matt/dev/fltk-1.3.0/fltk.db"
int create_new_database(const char *filename)
{
Fl_Preferences *db = new Fl_Preferences(filename, "fltk.org", 0);
db->clear();
- db->set("projectName", "FLTK");
+ db->set("projectName", "fltk");
Fl_Preferences targets_db(db, "targets");
Fl_IDE_Prefs files_db(*db, "files");
@@ -442,7 +484,7 @@ int create_new_database(const char *filename)
fltk_lib.add_source(files_db, "src/xutf8/is_spacing.c");
}
- Fl_Target_Prefs fltk_gl_lib(libs_db.add_with_key("name", "fltk_gl")); {
+ Fl_Target_Prefs fltk_gl_lib(libs_db.add_with_key("name", "fltkgl")); {
fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Choice.cxx");
fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Overlay.cxx");
fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Window.cxx");
@@ -453,12 +495,12 @@ int create_new_database(const char *filename)
fltk_gl_lib.add_source(files_db, "src/gl_draw.cxx");
fltk_gl_lib.add_source(files_db, "src/glut_compatability.cxx");
fltk_gl_lib.add_source(files_db, "src/glut_font.cxx");
- osx_only(fltk_gl_lib.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(fltk_gl_lib.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(fltk_gl_lib.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(fltk_gl_lib.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
fltk_gl_lib.add_lib(fltk_lib);
}
- Fl_Target_Prefs fltk_images_lib(libs_db.add_with_key("name", "fltk_images")); {
+ Fl_Target_Prefs fltk_images_lib(libs_db.add_with_key("name", "fltkimages")); {
fltk_images_lib.add_source(files_db, "src/Fl_BMP_Image.cxx");
fltk_images_lib.add_source(files_db, "src/Fl_File_Icon2.cxx");
fltk_images_lib.add_source(files_db, "src/Fl_GIF_Image.cxx");
@@ -468,10 +510,9 @@ int create_new_database(const char *filename)
fltk_images_lib.add_source(files_db, "src/Fl_PNM_Image.cxx");
fltk_images_lib.add_source(files_db, "src/fl_images_core.cxx");
fltk_images_lib.add_lib(fltk_lib);
- fltk_gl_lib.depends_on(fltk_lib);
}
- Fl_Target_Prefs fltk_png_lib(libs_db.add_with_key("name", "fltk_png")); {
+ Fl_Target_Prefs fltk_png_lib(libs_db.add_with_key("name", "fltkpng")); {
fltk_png_lib.add_source(files_db, "png/png.c");
fltk_png_lib.add_source(files_db, "png/pngerror.c");
fltk_png_lib.add_source(files_db, "png/pngget.c");
@@ -487,11 +528,11 @@ int create_new_database(const char *filename)
fltk_png_lib.add_source(files_db, "png/pngwrite.c");
fltk_png_lib.add_source(files_db, "png/pngwtran.c");
fltk_png_lib.add_source(files_db, "png/pngwutil.c");
- osx_only(fltk_png_lib.add_external_lib(files_db, "/usr/lib/libz.dylib"));
+ xcode_only(fltk_png_lib.add_external_lib(files_db, "/usr/lib/libz.dylib"));
fltk_images_lib.add_lib(fltk_png_lib);
}
- Fl_Target_Prefs fltk_jpeg_lib(libs_db.add_with_key("name", "fltk_jpeg")); {
+ Fl_Target_Prefs fltk_jpeg_lib(libs_db.add_with_key("name", "fltkjpeg")); {
fltk_jpeg_lib.add_source(files_db, "jpeg/jcapimin.c");
fltk_jpeg_lib.add_source(files_db, "jpeg/jcapistd.c");
fltk_jpeg_lib.add_source(files_db, "jpeg/jccoefct.c");
@@ -538,10 +579,11 @@ int create_new_database(const char *filename)
fltk_jpeg_lib.add_source(files_db, "jpeg/jquant1.c");
fltk_jpeg_lib.add_source(files_db, "jpeg/jquant2.c");
fltk_jpeg_lib.add_source(files_db, "jpeg/jutils.c");
+ fltk_jpeg_lib.add_lib(fltk_lib);
fltk_images_lib.add_lib(fltk_jpeg_lib);
}
- Fl_Target_Prefs fltk_forms_lib(libs_db.add_with_key("name", "fltk_forms")); {
+ Fl_Target_Prefs fltk_forms_lib(libs_db.add_with_key("name", "fltkforms")); {
fltk_forms_lib.add_source(files_db, "src/forms_bitmap.cxx");
fltk_forms_lib.add_source(files_db, "src/forms_compatability.cxx");
fltk_forms_lib.add_source(files_db, "src/forms_free.cxx");
@@ -550,7 +592,22 @@ int create_new_database(const char *filename)
fltk_forms_lib.add_source(files_db, "src/forms_timer.cxx");
fltk_forms_lib.add_lib(fltk_lib);
}
-
+
+ Fl_Target_Prefs fltk_z_lib(libs_db.add_with_key("name", "zlib")); {
+ fltk_z_lib.add_source(files_db, "zlib/adler32.c");
+ fltk_z_lib.add_source(files_db, "zlib/compress.c");
+ fltk_z_lib.add_source(files_db, "zlib/crc32.c");
+ fltk_z_lib.add_source(files_db, "zlib/deflate.c");
+ fltk_z_lib.add_source(files_db, "zlib/gzio.c");
+ fltk_z_lib.add_source(files_db, "zlib/inffast.c");
+ fltk_z_lib.add_source(files_db, "zlib/inflate.c");
+ fltk_z_lib.add_source(files_db, "zlib/inftrees.c");
+ fltk_z_lib.add_source(files_db, "zlib/trees.c");
+ fltk_z_lib.add_source(files_db, "zlib/uncompr.c");
+ fltk_z_lib.add_source(files_db, "zlib/zutil.c");
+ fltk_png_lib.add_lib(fltk_z_lib);
+ }
+
// --- create applications
Fl_IDE_Prefs apps_db(targets_db, "apps");
@@ -572,8 +629,7 @@ int create_new_database(const char *filename)
fluid_app.add_source(files_db, "fluid/fluid.cxx");
fluid_app.add_source(files_db, "fluid/function_panel.cxx");
fluid_app.add_source(files_db, "fluid/ide_support.cxx");
- fluid_app.add_source(files_db, "fluid/ide_support.cxx");
- fluid_app.add_source(files_db, "fluid/ide_xcode.cxx");
+ fluid_app.add_source(files_db, "fluid/ide_visualc.cxx");
fluid_app.add_source(files_db, "fluid/ide_xcode.cxx");
fluid_app.add_source(files_db, "fluid/template_panel.cxx");
fluid_app.add_source(files_db, "fluid/undo.cxx");
@@ -583,7 +639,8 @@ int create_new_database(const char *filename)
fluid_app.add_lib(fltk_images_lib);
fluid_app.add_lib(fltk_jpeg_lib);
fluid_app.add_lib(fltk_png_lib);
- osx_only(fluid_app.add_external_lib(files_db, "icons/fluid.icns"));
+ visualc_only(fluid_app.add_lib(fltk_z_lib));
+ xcode_only(fluid_app.add_external_lib(files_db, "icons/fluid.icns"));
}
// --- create test applications
@@ -592,6 +649,7 @@ int create_new_database(const char *filename)
Fl_Target_Prefs demo_db(tests_db.add_with_key("name", "Demo")); {
demo_db.add_source(files_db, "test/demo.cxx");
demo_db.add_lib(fltk_lib);
+ demo_db.depends_on(fluid_app);
}
{ Fl_Target_Prefs db(tests_db.add_with_key("name", "adjuster"));
@@ -621,7 +679,7 @@ int create_new_database(const char *filename)
{ Fl_Target_Prefs db(tests_db.add_with_key("name", "blocks"));
db.add_source(files_db, "test/blocks.cxx");
db.add_lib(fltk_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/CoreAudio.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/CoreAudio.framework"));
demo_db.depends_on(db);
}
@@ -678,8 +736,10 @@ int create_new_database(const char *filename)
db.add_source(files_db, "test/cube.cxx");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
demo_db.depends_on(db);
}
@@ -689,8 +749,10 @@ int create_new_database(const char *filename)
db.add_fl(files_db, "test/CubeViewUI.fl");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
db.depends_on(fluid_app);
demo_db.depends_on(db);
}
@@ -753,8 +815,10 @@ int create_new_database(const char *filename)
db.add_source(files_db, "test/fracviewer.cxx");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
db.add_lib(fltk_forms_lib);
demo_db.depends_on(db);
}
@@ -763,8 +827,10 @@ int create_new_database(const char *filename)
db.add_source(files_db, "test/fullscreen.cxx");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
demo_db.depends_on(db);
}
@@ -772,8 +838,10 @@ int create_new_database(const char *filename)
db.add_source(files_db, "test/gl_overlay.cxx");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
demo_db.depends_on(db);
}
@@ -781,8 +849,10 @@ int create_new_database(const char *filename)
db.add_source(files_db, "test/glpuzzle.cxx");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
demo_db.depends_on(db);
}
@@ -968,8 +1038,10 @@ int create_new_database(const char *filename)
db.add_source(files_db, "test/shape.cxx");
db.add_lib(fltk_lib);
db.add_lib(fltk_gl_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework"));
+ visualc_only(db.add_external_lib(files_db, "glu32.lib"));
+ visualc_only(db.add_external_lib(files_db, "opengl32.lib"));
demo_db.depends_on(db);
}
@@ -985,7 +1057,7 @@ int create_new_database(const char *filename)
db.add_lib(fltk_images_lib);
db.add_lib(fltk_jpeg_lib);
db.add_lib(fltk_png_lib);
- osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/CoreAudio.framework"));
+ xcode_only(db.add_external_lib(files_db, "/System/Library/Frameworks/CoreAudio.framework"));
demo_db.depends_on(db);
}
diff --git a/fluid/ide_support.h b/fluid/ide_support.h
index 7bafb9b23..adca73c99 100644
--- a/fluid/ide_support.h
+++ b/fluid/ide_support.h
@@ -95,7 +95,13 @@ public:
const char *fileExt();
};
-void osx_only(Fl_Preferences::ID id);
+void xcode_only(Fl_Preferences::ID id);
+void visualc_only(Fl_Preferences::ID id);
+void makefile_only(Fl_Preferences::ID id);
+
+char with_xcode(Fl_Preferences::ID id);
+char with_visualc(Fl_Preferences::ID id);
+char with_makefile(Fl_Preferences::ID id);
#endif
diff --git a/fluid/ide_visualc.cxx b/fluid/ide_visualc.cxx
index 9edfe8140..3126a0bca 100644
--- a/fluid/ide_visualc.cxx
+++ b/fluid/ide_visualc.cxx
@@ -46,6 +46,7 @@
#include <FL/filename.H>
#include <FL/fl_ask.H>
+#include "../src/flstring.h"
#include "Fl_Type.h"
@@ -161,7 +162,7 @@ public:
*/
int writeProjectFile(const char *filepath) {
char filename[2048];
- snprintf(filename, 2047, "%s/%s.dsw", filepath, "fltk");
+ fl_snprintf(filename, 2047, "%s/%s.dsw", filepath, "fltk");
FILE *f = fopen(filename, "wb");
if (!f) {
fl_alert("Can't open file:\n%s", filename);
@@ -4365,7 +4366,7 @@ public:
char name[80]; targetDB.get("name", name, "DBERROR", 80);
if (dir) dir = name;
char filename[2048];
- snprintf(filename, 2047, "%s/%s.dsp", filepath, name);
+ fl_snprintf(filename, 2047, "%s/%s.dsp", filepath, name);
FILE *f = fopen(filename, "wb");
if (!f) {
fl_alert("Can't open file:\n%s", filename);
@@ -4442,10 +4443,12 @@ public:
n = extsDB.groups();
for (i=0; i<n; i++) {
Fl_Preferences extDB(extsDB, i);
- GET_UUID(refUUID, extDB);
- Fl_File_Prefs fileDB(filesDB, refUUID);
- const char *fullName = fileDB.fullName();
- fprintf(f, "%s ", fullName);
+ if (with_visualc(extDB.id())) {
+ GET_UUID(refUUID, extDB);
+ Fl_File_Prefs fileDB(filesDB, refUUID);
+ char pathAndName[1024]; fileDB.get("pathAndName", pathAndName, "DBERROR/DBERROR.DBERR", 1024);
+ fprintf(f, "%s ", pathAndName);
+ }
}
fprintf(f, "comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:\"libcd\" /out:\"../../%s/%sd.exe\" /pdbtype:sept /libpath:\"..\\..\\lib\"\r\n", dir, name);
@@ -4490,13 +4493,8 @@ public:
Fl_Preferences extDB(extsDB, i);
GET_UUID(refUUID, extDB);
Fl_File_Prefs fileDB(filesDB, refUUID);
-/*#if 0
- const char *fullName = fileDB.fullName();
- fprintf(f, "%s ", fullName);
-#else
- char pathAndName[1024]; get("pathAndName", pathAndName, "DBERROR/DBERROR.DBERR", 1024);
+ char pathAndName[1024]; fileDB.get("pathAndName", pathAndName, "DBERROR/DBERROR.DBERR", 1024);
fprintf(f, "%s ", pathAndName);
-#endif*/
}
fprintf(f, "comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:\"libcd\" /out:\"../../%s/%sd.exe\" /pdbtype:sept /libpath:\"..\\..\\lib\"\r\n", dir, name);
@@ -4583,7 +4581,7 @@ public:
char name[80]; targetDB.get("name", name, "DBERROR", 80);
if (dir) dir = name;
char filename[2048];
- snprintf(filename, 2047, "%s/%s.dsp", filepath, name);
+ fl_snprintf(filename, 2047, "%s/%s.dsp", filepath, name);
FILE *f = fopen(filename, "wb");
if (!f) {
fl_alert("Can't open file:\n%s", filename);
@@ -4745,7 +4743,7 @@ public:
int writeDynamicLibTarget(const char *filepath, Fl_Preferences &targetDB, const char *dir=0) {
char name[80]; targetDB.get("name", name, "DBERROR", 80);
char filename[2048];
- snprintf(filename, 2047, "%s/%s_dll.dsp", filepath, name);
+ fl_snprintf(filename, 2047, "%s/%s_dll.dsp", filepath, name);
FILE *f = fopen(filename, "wb");
if (!f) {
fl_alert("Can't open file:\n%s", filename);
@@ -4831,9 +4829,6 @@ public:
// --- create a valid config.h
sprintf(filepath, "%s/ide/VisualC6/config.h", rootDir);
writeConfigH(filepath);
- // --- TODO: create default icons (maybe import icons for apps?)
- //sprintf(filepath, "%s/ide/Xcode3/icons", rootDir); fl_mkdir(filepath, 0777);
- //createIcons(filepath);
// --- close and finish
return 0;
}
diff --git a/fluid/ide_xcode.cxx b/fluid/ide_xcode.cxx
index 14eb706bc..79c9b9dd3 100644
--- a/fluid/ide_xcode.cxx
+++ b/fluid/ide_xcode.cxx
@@ -96,6 +96,7 @@
#include <FL/filename.H>
#include <FL/fl_ask.H>
+#include "../src/flstring.h"
#include "Fl_Type.h"
@@ -197,17 +198,18 @@ public:
Fl_Preferences extsDB(targetDB, "externals"); n = extsDB.groups();
for (i=0; i<n; i++) {
Fl_Preferences extDB(extsDB, i);
- GET_UUID(refUUID, extDB);
- Fl_File_Prefs fileDB(filesDB, refUUID);
- MAKE_XCID(xcFileID, fileDB);
- const char *fullName = fileDB.fullName();
- //-- TODO: test
- if (strcmp(fileDB.fileExt(), ".icns")==0) {
- MAKE_XCID(xcCopyResourceID, extDB);
- fprintf(out, "\t\t%s /* %s in Resources */ = {isa = PBXBuildFile; fileRef = %s /* %s */; };\n", xcCopyResourceID, fullName, xcFileID, fullName);
- } else {
- MAKE_XCID(xcBuildFrameworkID, extDB);
- fprintf(out, "\t\t%s /* %s in Frameworks */ = {isa = PBXBuildFile; fileRef = %s /* %s */; };\n", xcBuildFrameworkID, fullName, xcFileID, fullName);
+ if (with_xcode(extDB.id())) {
+ GET_UUID(refUUID, extDB);
+ Fl_File_Prefs fileDB(filesDB, refUUID);
+ MAKE_XCID(xcFileID, fileDB);
+ const char *fullName = fileDB.fullName();
+ if (strcmp(fileDB.fileExt(), ".icns")==0) {
+ MAKE_XCID(xcCopyResourceID, extDB);
+ fprintf(out, "\t\t%s /* %s in Resources */ = {isa = PBXBuildFile; fileRef = %s /* %s */; };\n", xcCopyResourceID, fullName, xcFileID, fullName);
+ } else {
+ MAKE_XCID(xcBuildFrameworkID, extDB);
+ fprintf(out, "\t\t%s /* %s in Frameworks */ = {isa = PBXBuildFile; fileRef = %s /* %s */; };\n", xcBuildFrameworkID, fullName, xcFileID, fullName);
+ }
}
}
return 0;
@@ -502,12 +504,14 @@ public:
n = extsDB.groups();
for (i=0; i<n; i++) {
Fl_Preferences extDB(extsDB, i);
- GET_UUID(refUUID, extDB);
- MAKE_XCID(xcBuildFrameworkID, extDB);
- Fl_File_Prefs fileDB(filesDB, refUUID);
- const char *fullName = fileDB.fullName();
- if (strcmp(fileDB.fileExt(), ".icns")!=0) {
- fprintf(out, "\t\t\t\t%s /* %s in Frameworks */,\n", xcBuildFrameworkID, fullName);
+ if (with_xcode(extDB.id())) {
+ GET_UUID(refUUID, extDB);
+ MAKE_XCID(xcBuildFrameworkID, extDB);
+ Fl_File_Prefs fileDB(filesDB, refUUID);
+ const char *fullName = fileDB.fullName();
+ if (strcmp(fileDB.fileExt(), ".icns")!=0) {
+ fprintf(out, "\t\t\t\t%s /* %s in Frameworks */,\n", xcBuildFrameworkID, fullName);
+ }
}
}
fprintf(out, "\t\t\t);\n");
@@ -574,11 +578,13 @@ public:
n = extsDB.groups();
for (j=0; j<n; j++) {
Fl_Preferences extDB(extsDB, j);
- GET_UUID(refUUID, extDB);
- Fl_File_Prefs fileDB(filesDB, refUUID);
- MAKE_XCID(xcFileID, fileDB);
- const char *fullName = fileDB.fullName();
- fprintf(out, "\t\t\t\t%s /* %s */,\n", xcFileID, fullName);
+ if (with_xcode(extDB.id())) {
+ GET_UUID(refUUID, extDB);
+ Fl_File_Prefs fileDB(filesDB, refUUID);
+ MAKE_XCID(xcFileID, fileDB);
+ const char *fullName = fileDB.fullName();
+ fprintf(out, "\t\t\t\t%s /* %s */,\n", xcFileID, fullName);
+ }
}
fprintf(out, "\t\t\t);\n");
@@ -865,11 +871,13 @@ public:
int i, n = extsDB.groups();
for (i=0; i<n; i++) {
Fl_Preferences extDB(extsDB, i);
- GET_UUID(refUUID, extDB);
- Fl_File_Prefs fileDB(filesDB, refUUID);
- if (strcmp(fileDB.fileExt(), ".icns")==0) {
- MAKE_XCID(xcCopyResourceID, extDB);
- fprintf(out, "\t\t\t\t%s /* %s in Resources */,\n", xcCopyResourceID, fileDB.fullName());
+ if (with_xcode(extDB.id())) {
+ GET_UUID(refUUID, extDB);
+ Fl_File_Prefs fileDB(filesDB, refUUID);
+ if (strcmp(fileDB.fileExt(), ".icns")==0) {
+ MAKE_XCID(xcCopyResourceID, extDB);
+ fprintf(out, "\t\t\t\t%s /* %s in Resources */,\n", xcCopyResourceID, fileDB.fullName());
+ }
}
}
fprintf(out, "\t\t\t);\n");
@@ -1441,7 +1449,7 @@ public:
*/
int writeProjectFile(const char *filepath) {
char filename[2048];
- snprintf(filename, 2047, "%s/project.pbxproj", filepath);
+ fl_snprintf(filename, 2047, "%s/project.pbxproj", filepath);
FILE *out = fopen(filename, "wb");
if (!out) {
fl_alert("Can't open file:\n%s", filename);
@@ -1526,7 +1534,7 @@ public:
int writePList(const char *filepath, Fl_Preferences &target_db, int fmwk=0) {
char name[80]; target_db.get("name", name, "DBERROR", 79);
char filename[2048];
- snprintf(filename, 2047, "%s/%s-Info.plist", filepath, name);
+ fl_snprintf(filename, 2047, "%s/%s-Info.plist", filepath, name);
FILE *f = fopen(filename, "wb");
fprintf(f, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
fprintf(f, "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n");
@@ -1566,11 +1574,13 @@ public:
int i, n = extsDB.groups();
for (i=0; i<n; i++) {
Fl_Preferences extDB(extsDB, i);
- GET_UUID(refUUID, extDB);
- Fl_File_Prefs fileDB(filesDB, refUUID);
- if (strcmp(fileDB.fileExt(), ".icns")==0) {
- fprintf(f, "\t<key>CFBundleIconFile</key>\n\t<string>%s</string>", fileDB.fileName());
- break;
+ if (with_xcode(extDB.id())) {
+ GET_UUID(refUUID, extDB);
+ Fl_File_Prefs fileDB(filesDB, refUUID);
+ if (strcmp(fileDB.fileExt(), ".icns")==0) {
+ fprintf(f, "\t<key>CFBundleIconFile</key>\n\t<string>%s</string>", fileDB.fileName());
+ break;
+ }
}
}
fprintf(f, "\t<key>CFBundleIdentifier</key>\n");
@@ -1670,7 +1680,7 @@ public:
int arg(int argc, char **argv, int &i) {
if (argc>=i+1 && strcmp(argv[i], "--dbxcode3")==0) {
if (argc>=i+3 && argv[i+1][0]!='-' && argv[i+2][0]!='-') {
- fprintf(stderr, "Creating Xcode3 IDE form %s in %s\n", argv[i+1], argv[i+2]);
+ fprintf(stderr, "Creating Xcode 3.0 IDE from %s in %s\n", argv[i+1], argv[i+2]);
exit_early = 1;
generate_fltk_Xcode3_support(argv[i+1], argv[i+2]);
i = i+3;