[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-bugs
Subject:    [Bug 118788] New: compile File does not cd to the target's directory
From:       kdevelop-bugs-admin () barney ! cs ! uni-potsdam ! de
Date:       2005-12-21 11:55:26
Message-ID: 20051221125525.118788.vlad_gheo () yahoo ! com
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=118788         
           Summary: compile File does not cd to the target's directory
           Product: kdevelop
           Version: unspecified
          Platform: Mandrake RPMs
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: kdevelop-bugs kdevelop org
        ReportedBy: vlad_gheo yahoo com


Version:           3.3 (using KDE KDE 3.5.0KDE 1.2KDE 1.2)
Installed from:    Mandriva RPMsMandrake RPMsMandrake RPMs
OS:                Linux

I am using scons for the build process.
NOTE. The kdevelop FAQ suggests that for using scons you can create a stub makefile, \
and you can use custom makefiles option.  A much better solution is offered by the \
Project Options/Build configuration dialog, after importing an existing project \
("Custom Makfeiles").   You choose 'Make', and on the 'Make' tab you can specify:
 - name of the 'make'  excutable : scons
 - additional flags : -u  
   (this will allow "Compile File", see below)
 - additional environment variables
    SCONSFLAGS=...

 In kdevelop 3.2 this allowed to do "build project" and "compile file" :
[BEGIN Messages output]
cd '/path/to/file/to/compile' && SCONSFLAGS=" " scons -j1 -u 'filename.o'
[END Messages output]

 When I upgraded (from SVN) to kdevelop 3.3.0, it DOES NOT change the path to the \
directory where the target file is located, but instead it changes to the project's \
root.

 I understand (from the sources) that it does that if there is no file named \
'Makefile' or 'makefile' in the target's directory, and that this is ok for some \
"nonrecursive" build systems.

 Well, for scons this is a not a good ideea..
- scons IS a recursive build system
- its local configuration files are named (usually) SConscript
- you CAN invoke the tool form the project's root directory, BUT then you have to \
specify the path to the target, RELATIVE to the project's root.


I think that this can be fixed in one of the following ways:
1. Improve the detection for recursive build systems
   - not having a file of some specific name in some directory is not a good \
detection scheme. 2. ASK the user : 
   - for the "Custom" project - add an option "Recursive build system"

   There already are options for 'make' and 'ant'
3. Add support for scons explicitly.

I mention that the 'Custom' project as it was in 3.2, using scons, is ok for me.
Maybe "Custom Makefiles"  should be named "Custom Build System" and kept more \
general.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic