summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/config.xml8
-rw-r--r--src/plantuml.cpp19
2 files changed, 26 insertions, 1 deletions
diff --git a/src/config.xml b/src/config.xml
index fb60c4c..9448781 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -3305,6 +3305,14 @@ to be found in the default search path.
]]>
</docs>
</option>
+ <option type='list' id='PLANTUML_INCLUDE_PATH' format='dir' defval='' depends='HAVE_DOT'>
+ <docs>
+<![CDATA[
+ When using plantuml, the specified paths are searched for files specified by the \c !include
+ statement in a plantuml block.
+]]>
+ </docs>
+ </option>
<option type='int' id='DOT_GRAPH_MAX_NODES' minval='0' maxval='10000' defval='50' depends='HAVE_DOT'>
<docs>
<![CDATA[
diff --git a/src/plantuml.cpp b/src/plantuml.cpp
index 7e2863e..166be73 100644
--- a/src/plantuml.cpp
+++ b/src/plantuml.cpp
@@ -56,7 +56,24 @@ void generatePlantUMLOutput(const char *baseName,const char *outDir,PlantUMLOutp
static QCString plantumlJarPath = Config_getString("PLANTUML_JAR_PATH");
QCString pumlExe = "java";
- QCString pumlArgs = "-Djava.awt.headless=true -jar \""+plantumlJarPath+"plantuml.jar\" ";
+ QCString pumlArgs = "";
+
+ QStrList &pumlIncludePathList = Config_getList("PLANTUML_INCLUDE_PATH");
+ char *s=pumlIncludePathList.first();
+ if (s)
+ {
+ pumlArgs += "-Dplantuml.include.path=\"";
+ pumlArgs += s;
+ s = pumlIncludePathList.next();
+ }
+ while (s)
+ {
+ pumlArgs += portable_pathListSeparator();
+ pumlArgs += s;
+ s = pumlIncludePathList.next();
+ }
+ if (pumlIncludePathList.first()) pumlArgs += "\" ";
+ pumlArgs += "-Djava.awt.headless=true -jar \""+plantumlJarPath+"plantuml.jar\" ";
pumlArgs+="-o \"";
pumlArgs+=outDir;
pumlArgs+="\" ";