From cb2e2aa6079eb39b936a8c5b42a0f2cabfc2fdbb Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 15 Oct 2013 18:48:40 +0100 Subject: [PATCH] Introjucer: added a "defines" parameter to the module manifest format, to allow it to set modules to set project-wide preprocessor defs. --- extras/Introjucer/Source/Project/jucer_Module.cpp | 5 +++++ extras/Introjucer/Source/Project/jucer_Module.h | 1 + 2 files changed, 6 insertions(+) diff --git a/extras/Introjucer/Source/Project/jucer_Module.cpp b/extras/Introjucer/Source/Project/jucer_Module.cpp index 3dea365928..b72d780d25 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.cpp +++ b/extras/Introjucer/Source/Project/jucer_Module.cpp @@ -333,6 +333,11 @@ void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& pr exporter.addToExtraSearchPaths (exporter.getModuleFolderRelativeToProject (getID(), projectSaver).getParentDirectory()); + const String extraDefs (moduleInfo.getPreprocessorDefs().trim()); + + if (extraDefs.isNotEmpty()) + exporter.getExporterPreprocessorDefs() = exporter.getExporterPreprocessorDefsString() + "\n" + extraDefs; + { Array compiled; findAndAddCompiledCode (exporter, projectSaver, moduleInfo.getFolder(), compiled); diff --git a/extras/Introjucer/Source/Project/jucer_Module.h b/extras/Introjucer/Source/Project/jucer_Module.h index e6d5ccffdc..452f752ef2 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.h +++ b/extras/Introjucer/Source/Project/jucer_Module.h @@ -45,6 +45,7 @@ struct ModuleDescription String getDescription() const { return moduleInfo [Ids::description].toString(); } String getLicense() const { return moduleInfo [Ids::license].toString(); } String getHeaderName() const { return moduleInfo [Ids::include].toString(); } + String getPreprocessorDefs() const { return moduleInfo [Ids::defines].toString(); } File getFolder() const { jassert (manifestFile != File::nonexistent); return manifestFile.getParentDirectory(); }