branches/kdevelop/3.4/buildtools/custommakefiles

Alexander Neundorf neundorf at kde.org
Wed Nov 23 22:13:25 UTC 2005


SVN commit 482709 by neundorf:

For the "Build"->"Compile file" feature, check whether there's a makefile
in the directory of the source file. If this is the case, execute "make foo.o" there
(as it was until now).
If there is no makefile located there, execute "make foo.o" in the  main build
directory.
Although make can generate a default rule if there is no makefile present, this
usually doesn't work (in a complex enough build process) and at least it probably
doesn't do what you'd expect.

What do you think about it ?

Alex

CCMAIL: kdevelop-devel at kdevelop.org



 M  +11 -0     customprojectpart.cpp  


--- branches/kdevelop/3.4/buildtools/custommakefiles/customprojectpart.cpp #482708:482709
@@ -641,6 +641,17 @@
 
     QString buildDir = sourceDir;
     QString target = baseName + ".o";
+
+    //if there is no Makefile in the directory of the source file
+    //try to build it from the main build dir
+    //this works e.g. for non-recursive cmake Makefiles, Alex
+    if ((QFile::exists(sourceDir+"/Makefile") == false)
+        && (QFile::exists(sourceDir+"/makefile") == false))
+    {
+       buildDir=buildDirectory();
+    }
+
+
     kdDebug(9020) << "builddir " << buildDir << ", target " << target << endl;
 
     startMakeCommand(buildDir, target);




More information about the KDevelop-devel mailing list