diff options
author | David Cole <david.cole@kitware.com> | 2012-10-31 20:33:56 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2012-10-31 20:33:56 (GMT) |
commit | bd394d42e6adda56d36236b33b61338e76e810ed (patch) | |
tree | 7bd7205a2493cfb1ad8947e8cd948929b7d6b7b5 /Source/CPack | |
parent | b3927bce78103136d671c14cdd6de9d3ddf11e9c (diff) | |
parent | 14561e3d350e006206a7427d8a1c428e553c42b8 (diff) | |
download | CMake-bd394d42e6adda56d36236b33b61338e76e810ed.zip CMake-bd394d42e6adda56d36236b33b61338e76e810ed.tar.gz CMake-bd394d42e6adda56d36236b33b61338e76e810ed.tar.bz2 |
Merge topic 'cpack-rez-error'
14561e3 Fix for possible Rez errors when creating dmg.
Diffstat (limited to 'Source/CPack')
-rw-r--r-- | Source/CPack/cmCPackDragNDropGenerator.cxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx b/Source/CPack/cmCPackDragNDropGenerator.cxx index 78cb1b6..d973c01 100644 --- a/Source/CPack/cmCPackDragNDropGenerator.cxx +++ b/Source/CPack/cmCPackDragNDropGenerator.cxx @@ -442,7 +442,22 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir, line.replace(pos, 1, "\\\""); pos = line.find('\"', pos+2); } - osf << " \"" << line << "\\n\"\n"; + // break up long lines to avoid Rez errors + std::vector<std::string> lines; + const size_t max_line_length = 512; + for(size_t i=0; i<line.size(); i+= max_line_length) + { + int line_length = max_line_length; + if(i+max_line_length > line.size()) + line_length = line.size()-i; + lines.push_back(line.substr(i, line_length)); + } + + for(size_t i=0; i<lines.size(); i++) + { + osf << " \"" << lines[i] << "\"\n"; + } + osf << " \"\\n\"\n"; } osf << "};\n"; osf << "\n"; |