mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-02-20 18:32:17 +00:00
Create mm sections in makefiles for Objective-C++
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@38250 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
f4110f9817
commit
4111197fd7
2 changed files with 64 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2014-12-15 Riccardo Mottola <rm@gnu.org>
|
||||||
|
|
||||||
|
* Framework/PCMakefileFactory.m
|
||||||
|
Create mm sections in makefiles for Objective-C++
|
||||||
|
|
||||||
2014-12-08 Riccardo Mottola <rm@gnu.org>
|
2014-12-08 Riccardo Mottola <rm@gnu.org>
|
||||||
|
|
||||||
* Framework/PCProject.m
|
* Framework/PCProject.m
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
/*
|
/*
|
||||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||||
|
|
||||||
Copyright (C) 2002-2010 Free Software Foundation
|
Copyright (C) 2002-2014 Free Software Foundation
|
||||||
|
|
||||||
Authors: Philippe C.D. Robert
|
Authors: Philippe C.D. Robert
|
||||||
Serg Stoyan
|
Serg Stoyan
|
||||||
|
Riccardo Mottola
|
||||||
|
|
||||||
This file is part of GNUstep.
|
This file is part of GNUstep.
|
||||||
|
|
||||||
|
@ -33,7 +34,8 @@
|
||||||
|
|
||||||
#define COMMENT_HEADERS @"\n\n#\n# Header files\n#\n"
|
#define COMMENT_HEADERS @"\n\n#\n# Header files\n#\n"
|
||||||
#define COMMENT_RESOURCES @"\n\n#\n# Resource files\n#\n"
|
#define COMMENT_RESOURCES @"\n\n#\n# Resource files\n#\n"
|
||||||
#define COMMENT_CLASSES @"\n\n#\n# Class files\n#\n"
|
#define COMMENT_CLASSES @"\n\n#\n# Objective-C Class files\n#\n"
|
||||||
|
#define COMMENT_OCPPCLASSES @"\n\n#\n# Objective-C++ Class files\n#\n"
|
||||||
#define COMMENT_CFILES @"\n\n#\n# Other sources\n#\n"
|
#define COMMENT_CFILES @"\n\n#\n# Other sources\n#\n"
|
||||||
#define COMMENT_SUBPROJECTS @"\n\n#\n# Subprojects\n#\n"
|
#define COMMENT_SUBPROJECTS @"\n\n#\n# Subprojects\n#\n"
|
||||||
#define COMMENT_APP @"\n\n#\n# Main application\n#\n"
|
#define COMMENT_APP @"\n\n#\n# Main application\n#\n"
|
||||||
|
@ -337,16 +339,48 @@ static PCMakefileFactory *_factory = nil;
|
||||||
|
|
||||||
- (void)appendClasses:(NSArray *)array forTarget:(NSString *)target
|
- (void)appendClasses:(NSArray *)array forTarget:(NSString *)target
|
||||||
{
|
{
|
||||||
|
NSEnumerator *oenum;
|
||||||
|
NSMutableArray *marray = nil;
|
||||||
|
NSMutableArray *mmarray = nil;
|
||||||
|
NSString *file;
|
||||||
|
|
||||||
if (array == nil || [array count] == 0)
|
if (array == nil || [array count] == 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oenum = [array objectEnumerator];
|
||||||
|
while ((file = [oenum nextObject]))
|
||||||
|
{
|
||||||
|
if ([file hasSuffix: @".m"])
|
||||||
|
{
|
||||||
|
if (marray == nil)
|
||||||
|
{
|
||||||
|
marray = [NSMutableArray array];
|
||||||
|
}
|
||||||
|
[marray addObject: file];
|
||||||
|
}
|
||||||
|
else if ([file hasSuffix: @".mm"])
|
||||||
|
{
|
||||||
|
if (mmarray == nil)
|
||||||
|
{
|
||||||
|
mmarray = [NSMutableArray array];
|
||||||
|
}
|
||||||
|
[mmarray addObject: file];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[self appendString:COMMENT_CLASSES];
|
[self appendString:COMMENT_CLASSES];
|
||||||
[self appendString:
|
[self appendString:
|
||||||
[NSString stringWithFormat: @"%@_OBJC_FILES = \\\n",target]];
|
[NSString stringWithFormat: @"%@_OBJC_FILES = \\\n",target]];
|
||||||
|
|
||||||
[self appendString: [array componentsJoinedByString: @" \\\n"]];
|
[self appendString: [marray componentsJoinedByString: @" \\\n"]];
|
||||||
|
|
||||||
|
[self appendString:COMMENT_OCPPCLASSES];
|
||||||
|
[self appendString:
|
||||||
|
[NSString stringWithFormat: @"%@_OBJCC_FILES = \\\n",target]];
|
||||||
|
|
||||||
|
[self appendString: [mmarray componentsJoinedByString: @" \\\n"]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)appendOtherSources:(NSArray *)array
|
- (void)appendOtherSources:(NSArray *)array
|
||||||
|
@ -362,6 +396,7 @@ static PCMakefileFactory *_factory = nil;
|
||||||
- (void)appendOtherSources:(NSArray *)array forTarget: (NSString *)target
|
- (void)appendOtherSources:(NSArray *)array forTarget: (NSString *)target
|
||||||
{
|
{
|
||||||
NSMutableArray *marray = nil;
|
NSMutableArray *marray = nil;
|
||||||
|
NSMutableArray *mmarray = nil;
|
||||||
NSMutableArray *oarray = nil;
|
NSMutableArray *oarray = nil;
|
||||||
NSEnumerator *oenum;
|
NSEnumerator *oenum;
|
||||||
NSString *file;
|
NSString *file;
|
||||||
|
@ -383,6 +418,14 @@ static PCMakefileFactory *_factory = nil;
|
||||||
}
|
}
|
||||||
[marray addObject: file];
|
[marray addObject: file];
|
||||||
}
|
}
|
||||||
|
else if ([file hasSuffix: @".mm"])
|
||||||
|
{
|
||||||
|
if (mmarray == nil)
|
||||||
|
{
|
||||||
|
mmarray = [NSMutableArray array];
|
||||||
|
}
|
||||||
|
[mmarray addObject: file];
|
||||||
|
}
|
||||||
else // non .m file
|
else // non .m file
|
||||||
{
|
{
|
||||||
if (oarray == nil)
|
if (oarray == nil)
|
||||||
|
@ -416,6 +459,19 @@ static PCMakefileFactory *_factory = nil;
|
||||||
|
|
||||||
[self appendString: [NSString stringWithFormat: @"%@_OBJC_FILES += ",pnme]];
|
[self appendString: [NSString stringWithFormat: @"%@_OBJC_FILES += ",pnme]];
|
||||||
|
|
||||||
|
while ((file = [oenum nextObject]))
|
||||||
|
{
|
||||||
|
[self appendString: [NSString stringWithFormat: @"\\\n%@ ", file]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add .mm files if any
|
||||||
|
if (mmarray && [marray count] != 0)
|
||||||
|
{
|
||||||
|
oenum = [mmarray objectEnumerator];
|
||||||
|
|
||||||
|
[self appendString: [NSString stringWithFormat: @"%@_OBJCC_FILES += ",pnme]];
|
||||||
|
|
||||||
while ((file = [oenum nextObject]))
|
while ((file = [oenum nextObject]))
|
||||||
{
|
{
|
||||||
[self appendString: [NSString stringWithFormat: @"\\\n%@ ", file]];
|
[self appendString: [NSString stringWithFormat: @"\\\n%@ ", file]];
|
||||||
|
|
Loading…
Reference in a new issue