Hello,
A small correction to my previous post (see below). It should have
read *local* target wherever I said *custom* target. Anyhow, the
actual problem should remain the same:
I would need to have local targets override imported targets of the
same name. And the only solution I a came up with would be patching
cmMakefile.cxx. Before I go on asking for a feature addition to
cmake, I'd like to know whether I can solve my problem by other means.
Any ideas?
Benedikt
On Nov 24, 2010, at 12:17 PM, Benedikt Hegner wrote:
Hello,
I am facing a problem here on conflicts between imported targets
and custom targets. Basically I want to override an imported target
by a custom target of the same name. A solution like avoiding
clashes using NAMESPACE on EXPORT doesn't really work for me as the
identical naming is more or less intended (*). Still I've been
doing some gymnastics with using NAMESPACE and then 'importing'
single targets over into the local 'namespace' . That resulted in a
lot of fragile parsing-like code and just didn't work...
So I ended up looking into the source code of cmake to see what's
going on under the hood. And a new policy like
ALLOW_OVERRIDE_IMPORT_TARGETS in cmMakefile would come handy
(wouldn't be too different from ALLOW_DUPLICATE_CUSTOM_TARGETS I
think). Giving it a quick shot it worked like a charm.
Nevertheless I would hope to find a solution using already existing
functionality. Maybe you have an idea what to do instead.
Thanks,
Benedikt
(*)
The use case is the following: we have a few hundred particle
physicists working on a software project with a few MLOC. To
facilitate the development we provide a hybrid environment - there
is one central installation with a fully built and installed
release. And then every user can set up a development area, check
out newer package-versions from the repository, which override the
ones in the central area, and do his development. At the moment
this is handled by a custom build tool which we plan to replace by
cmake. For cmake my current approach is having the central area as
one project that exports all its targets. And the development area
as another project importing these.
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake