mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
Core on Android compiles one more time - improvments in Android builder, code refactoring
git-svn-id: svn://ultimatepp.org/upp/trunk@10567 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
aae3c4a238
commit
61606fd866
11 changed files with 320 additions and 170 deletions
81
uppsrc/ide/Builders/AndroidModuleMakeFileBuilder.cpp
Normal file
81
uppsrc/ide/Builders/AndroidModuleMakeFileBuilder.cpp
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
#include "AndroidBuilder.h"
|
||||
|
||||
namespace Upp {
|
||||
|
||||
AndroidModuleMakeFileCreator::AndroidModuleMakeFileCreator(const Index<String>& builderConfig)
|
||||
: config(builderConfig)
|
||||
{
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddSources(Vector<String>& sources)
|
||||
{
|
||||
for(int i = 0; i < sources.GetCount(); ++i) {
|
||||
makeFile.AddSourceFile(sources[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddInclude(const String& path)
|
||||
{
|
||||
makeFile.AddInclude(path);
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddIncludeWithSubdirs(const String& path)
|
||||
{
|
||||
BiVector<String> dirs { path };
|
||||
while(!dirs.IsEmpty()) {
|
||||
for(FindFile ff(AppendFileName(dirs.Head(), "*")); ff; ff.Next()) {
|
||||
if(ff.IsHidden() || ff.IsSymLink() || !ff.IsFolder()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String name = ff.GetName();
|
||||
if (name.EndsWith(".tpp")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
dirs.AddTail(ff.GetPath());
|
||||
}
|
||||
|
||||
AddInclude(dirs.Head());
|
||||
dirs.DropHead();
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddIncludes(const Array<OptItem>& uses)
|
||||
{
|
||||
for(int i = 0; i < uses.GetCount(); ++i) {
|
||||
makeFile.AddInclude(AndroidBuilderUtils::GetAssemblyDir(uses[i].text));
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddFlags(const Array<OptItem>& flags)
|
||||
{
|
||||
for(int i = 0; i < flags.GetCount(); ++i) {
|
||||
makeFile.AddCppFlag(flags[i].text);
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddLdLibraries(const Array<OptItem>& libraries)
|
||||
{
|
||||
Vector<String> libs = Split(Gather(libraries, config.GetKeys()), ' ');
|
||||
for(int i = 0; i < libs.GetCount(); ++i) {
|
||||
makeFile.AddLdLibrary(libs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddStaticModuleLibrary(Array<OptItem>& staticLibraries)
|
||||
{
|
||||
Vector<String> slibs = Split(Gather(staticLibraries, config.GetKeys()), ' ');
|
||||
for(int i = 0; i < slibs.GetCount(); ++i) {
|
||||
makeFile.AddStaticModuleLibrary(slibs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidModuleMakeFileCreator::AddSharedLibraries(const Array<OptItem>& uses)
|
||||
{
|
||||
for(int i = 0; i < uses.GetCount(); i++) {
|
||||
makeFile.AddSharedLibrary(uses[i].text);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue