#define NI_FLAGS_REF 0x0008
#define NI_FLAGS_INPUT_BUBBLE 0x0010
#define NI_FLAGS_INPUT_BUBBLE_REF 0x0020
-#define NI_FLAGS_NO_PIPELINE 0x0040
-#define NI_FLAGS_MIBC 0x0080
-#define NI_FLAGS_PRINT_CMD 0x0100
+#define NI_FLAGS_EXTRA_REF 0x0040
+#define NI_FLAGS_NO_PIPELINE 0x0080
+#define NI_FLAGS_MIBC 0x0100
+#define NI_FLAGS_PRINT_CMD 0x0200
typedef std::function<void (std::string)> afterCreate;
typedef struct NIOption{
DWORD flags;
std::vector<std::string> refPath;
+ std::vector<std::string> extraRefPath;
std::vector<std::string> inputBubbleRefPath;
std::vector<std::string> mibcPath;
} NIOption;
}
}
+ if (opt->flags & NI_FLAGS_EXTRA_REF) {
+ for (const auto &erPath : opt->extraRefPath) {
+ std::string path = getAbsolutePath(erPath);
+ if (checkDllExistInDir(path)) {
+ REF_VECTOR.push_back("-r:" + path + "/*.dll");
+ }
+ }
+ }
+
for (const auto &path : refPaths) {
if (checkDllExistInDir(path)) {
REF_VECTOR.push_back("-r:" + path + "/*.dll");
char* extraDllPaths = pluginGetExtraDllPath();
if (extraDllPaths && extraDllPaths[0] != '\0') {
- __pm->setExtraDllPaths(extraDllPaths);
+ opt->flags |= NI_FLAGS_EXTRA_REF;
+ splitPath(extraDllPaths, opt->extraRefPath);
}
opt->flags |= NI_FLAGS_APPNI;