On 2008-07-31 19:07-0000 Piotr Jaroszy�~Dski wrote:
is it possible to add a custom target so that it would be visible in
all the subdirectories?
My experience is that targets are actually available in all directories.
$ mkdir /tmp/test
$ cd /tmp/test
$ echo "add_custom_target(bar)" > CMakeLists.txt
$ echo "add_subdirectory(foo)" >> CMakeLists.txt
$ mkdir foo
$ cmake .
$ make bar
Built target bar
$ cd foo && make bar
make: *** No rule to make target `bar'. Stop.
$ cmake --version
cmake version 2.4-patch 8
I misunderstood your original request to mean "how to gain access to targets
within cmake", and my reply answers that question.
AFAIK, targets are available to _make_ (as opposed to cmake) in the
directory where they are defined by cmake and also in the top-level
directory. However, the targets are not available in any other directory
than those two as confirmed by your example and also by some private
experiments I just did.
To confirm that at least the target is available to make in the top-level
(and also the original directory) try the following experiment which creates
the bar target in the foo subdirectory.
mkdir /tmp/test
cd /tmp/test
echo "add_subdirectory(foo)" > CMakeLists.txt
mkdir foo
cd /tmp/test/foo
echo "add_custom_target(bar)" > CMakeLists.txt
cd /tmp/test
cmake .
Here are the make results.
cd /tmp/test
make bar
Built target bar
cd foo
make bar
Built target bar
If you need more than originating and top-level target availability _for make_
you probably need to do a feature request.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake