diff options
Diffstat (limited to 'src/deptool.cpp')
| -rw-r--r-- | src/deptool.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/deptool.cpp b/src/deptool.cpp index 044d197ff..ffb533981 100644 --- a/src/deptool.cpp +++ b/src/deptool.cpp @@ -292,6 +292,11 @@ private: /** * */ + bool saveCmakeFile(); + + /** + * + */ bool saveRefFile(bool doXml); /** @@ -1006,6 +1011,7 @@ bool DepTool::run() if (!generateDependencies()) return false; saveDepFile(false); + saveCmakeFile(); //saveRefFile(true); return true; } @@ -1362,6 +1368,69 @@ bool DepTool::saveRefFile(bool doXml) } +/** + * This is a new thing. It creates a cmake file that should be able to + * build the entire thing. + */ +bool DepTool::saveCmakeFile() +{ + time_t tim; + time(&tim); + + FILE *f = fopen("CMakeLists.txt", "w"); + if (!f) + { + trace("cannot open 'CMakeLists.txt' for writing"); + } + fprintf(f, "########################################################\n"); + fprintf(f, "## File: CMakeLists.txt\n"); + fprintf(f, "## Generated by DepTool at :%s", ctime(&tim)); + fprintf(f, "########################################################\n"); + + fprintf(f, "\n\n"); + + fprintf(f, "\n\n\n"); + fprintf(f, "########################################################\n"); + fprintf(f, "## P R O J E C T\n"); + fprintf(f, "########################################################\n"); + fprintf(f, "project (INKSCAPE)\n"); + fprintf(f, "\n\n\n"); + fprintf(f, "########################################################\n"); + fprintf(f, "## O B J E C T S\n"); + fprintf(f, "########################################################\n"); + fprintf(f, "set (INKSCAPE_SRCS\n"); + + std::map<String, FileRec *>::iterator oiter; + for (oiter=allFiles.begin() ; oiter!=allFiles.end() ; oiter++) + { + FileRec *frec = oiter->second; + if (frec->type == FileRec::CFILE) + { + //fprintf(f, " \\\n"); + String fname = frec->path; + if (fname.size()>0) + fname.append("/"); + fname.append(frec->baseName); + fname.append("."); + fname.append(frec->suffix); + fprintf(f, "%s\n", fname.c_str()); + } + } + fprintf(f, ")\n\n"); + + fprintf(f, "add_executable (inkscape ${INKSCAPE_SRCS})\n"); + + fprintf(f, "\n\n\n"); + fprintf(f, "########################################################\n"); + fprintf(f, "## E N D\n"); + fprintf(f, "########################################################\n"); + + fclose(f); + + return true; +} + + |
