diff --git a/ofxProjectGenerator/src/addons/ofAddon.cpp b/ofxProjectGenerator/src/addons/ofAddon.cpp index 34fb3b7d..f62f8117 100644 --- a/ofxProjectGenerator/src/addons/ofAddon.cpp +++ b/ofxProjectGenerator/src/addons/ofAddon.cpp @@ -273,7 +273,7 @@ void ofAddon::parseVariableValue(string variable, string value, bool addToValue, } if(variable == "ADDON_DATA"){ - addReplaceStringVector(data,value,addonRelPath,addToValue); + addReplaceStringVector(data,value,"",addToValue); } if(variable == "ADDON_LIBS_EXCLUDE"){ diff --git a/ofxProjectGenerator/src/projects/baseProject.cpp b/ofxProjectGenerator/src/projects/baseProject.cpp index 8badec79..c10a9b32 100644 --- a/ofxProjectGenerator/src/projects/baseProject.cpp +++ b/ofxProjectGenerator/src/projects/baseProject.cpp @@ -253,7 +253,23 @@ void baseProject::addAddon(std::string addonName){ auto standardPath = ofFilePath::join(ofFilePath::join(getOFRoot(), "addons"), addonName); addon.fromFS(standardPath, target); } + addAddon(addon); + + // Process values from ADDON_DATA + if (addon.data.size()) { + string dest = ofFilePath::join(projectDir, "bin/data/"); + + for (auto& filename : addon.data) { + ofFile src(ofFilePath::join(addon.addonPath, filename)); + if (!src.exists()) { + ofLogWarning() << "addon data file does not exist, skipping: " << filename; + } else { + ofLogVerbose() << "adding addon data files: " << filename; + src.copyTo(ofFilePath::join(dest, src.getFileName()), false, true); + } + } + } } void baseProject::addAddon(ofAddon & addon){ diff --git a/ofxProjectGenerator/src/projects/baseProject.h b/ofxProjectGenerator/src/projects/baseProject.h index 23010f64..fc4eac3a 100644 --- a/ofxProjectGenerator/src/projects/baseProject.h +++ b/ofxProjectGenerator/src/projects/baseProject.h @@ -67,7 +67,7 @@ class baseProject { virtual void addAfterRule(std::string script){} virtual void addAddon(std::string addon); - virtual void addAddon(ofAddon & addon); + virtual void addAddon(ofAddon & addon); std::string getName() { return projectName;} std::string getPath() { return projectDir; }