Thread: [CEDET-devel] Project build directory
Brought to you by:
zappo
From: Lluís <xs...@gm...> - 2013-09-23 17:27:19
|
Hi, I'm doing some linux kernel programming, so the project is automatically detected. Ideally, I'd like to have a per-configuration build directory, but I'd be happy with a per-project build directory. In the case of 'ede-linux-project', I suppose that means 'ede-project-root-directory' should return a project-specific value, but I have no clue how to achieve that. To me, it looks like it's not possible right now, since the implementation for 'ede-linux-project' just returns the top-level directory for the project. Did I miss something? Thanks, Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth |
From: Lluís <xs...@gm...> - 2013-09-23 18:36:03
|
Lluís writes: > I'm doing some linux kernel programming, so the project is automatically > detected. Ideally, I'd like to have a per-configuration build directory, but > I'd be happy with a per-project build directory. > In the case of 'ede-linux-project', I suppose that means > 'ede-project-root-directory' should return a project-specific value, but I > have no clue how to achieve that. > To me, it looks like it's not possible right now, since the implementation for > 'ede-linux-project' just returns the top-level directory for the project. > Did I miss something? Yes I did. I was able to make it behave more or less how I want by setting 'project-linux-compile-project-command' as a directory-local variable. Quite ad-hoc, but works. The downside of this is that every buffer I open on the project asks me for confirmation of the customized variable. As an additional note, maybe 'compile-command' should take precedence on the implementation of 'project-compile-project' in order to be more "emacs-standard friendly". David, you once said you had some proof-of-concept project-thingie built on top of ede, precisely to handle project variables and such. Is there anything I can look at? EDE feels like going that way, but never quite made the it to its full extent (e.g., could not find an EDE-way to mix auto-detected project types with per-project variables). Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth |
From: David E. <de...@ra...> - 2013-09-24 20:37:00
|
Lluís writes: > Lluís writes: >> I'm doing some linux kernel programming, so the project is automatically >> detected. Ideally, I'd like to have a per-configuration build directory, but >> I'd be happy with a per-project build directory. > > >> In the case of 'ede-linux-project', I suppose that means >> 'ede-project-root-directory' should return a project-specific value, but I >> have no clue how to achieve that. > >> To me, it looks like it's not possible right now, since the implementation for >> 'ede-linux-project' just returns the top-level directory for the project. > >> Did I miss something? > > Yes I did. I was able to make it behave more or less how I want by setting > 'project-linux-compile-project-command' as a directory-local variable. Quite > ad-hoc, but works. The downside of this is that every buffer I open on the > project asks me for confirmation of the customized variable. AFAIK there's no way to somehow define subprojects in the Linux project. You could hack the Linux project to do what you want, but I'd rather suggest to not use it but use plain ede-cpp-root-project instead. Just define cpp-root projects for the different subdirectories where you'd like to define special properties. They should take precedence over the automatic Linux project type, which will however kick in when you load a file from another directory. > As an additional note, maybe 'compile-command' should take precedence on the > implementation of 'project-compile-project' in order to be more "emacs-standard > friendly". Maybe. If I remember correctly, if you once use project-compile-project, it will set compile-command. Or not. > David, you once said you had some proof-of-concept project-thingie built on top > of ede, precisely to handle project variables and such. Is there anything I can > look at? EDE feels like going that way, but never quite made the it to its full > extent (e.g., could not find an EDE-way to mix auto-detected project types with > per-project variables). You probably mean this: http://article.gmane.org/gmane.emacs.devel/157915 This was just a proof-of-concept how to automatically set up projects for directories under version control. I don't think this will help you here; ede-cpp-root-project should be a better fit. -David |
From: Lluís <xs...@gm...> - 2013-09-30 19:53:23
|
David Engster writes: > Lluís writes: >> Lluís writes: >>> I'm doing some linux kernel programming, so the project is automatically >>> detected. Ideally, I'd like to have a per-configuration build directory, but >>> I'd be happy with a per-project build directory. >> >> >>> In the case of 'ede-linux-project', I suppose that means >>> 'ede-project-root-directory' should return a project-specific value, but I >>> have no clue how to achieve that. >> >>> To me, it looks like it's not possible right now, since the implementation for >>> 'ede-linux-project' just returns the top-level directory for the project. >> >>> Did I miss something? >> >> Yes I did. I was able to make it behave more or less how I want by setting >> 'project-linux-compile-project-command' as a directory-local variable. Quite >> ad-hoc, but works. The downside of this is that every buffer I open on the >> project asks me for confirmation of the customized variable. > AFAIK there's no way to somehow define subprojects in the Linux project. > You could hack the Linux project to do what you want, but I'd rather > suggest to not use it but use plain ede-cpp-root-project instead. Just > define cpp-root projects for the different subdirectories where you'd > like to define special properties. They should take precedence over the > automatic Linux project type, which will however kick in when you load a > file from another directory. I sent a patch with an improved linux project type that handles my case, and plays nicely with a (patched) semantic/bovine/clang >> As an additional note, maybe 'compile-command' should take precedence on the >> implementation of 'project-compile-project' in order to be more "emacs-standard >> friendly". > Maybe. If I remember correctly, if you once use project-compile-project, > it will set compile-command. Or not. >> David, you once said you had some proof-of-concept project-thingie built on top >> of ede, precisely to handle project variables and such. Is there anything I can >> look at? EDE feels like going that way, but never quite made the it to its full >> extent (e.g., could not find an EDE-way to mix auto-detected project types with >> per-project variables). > You probably mean this: > http://article.gmane.org/gmane.emacs.devel/157915 > This was just a proof-of-concept how to automatically set up projects > for directories under version control. I don't think this will help you > here; ede-cpp-root-project should be a better fit. Right, I thought this had the ability to set per-project variables. Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth |