[CMake] Output other then to Makefile
Eric Noulard
eric.noulard at gmail.com
Thu May 10 10:34:16 EDT 2007
2007/5/10, Mielcarek, Donn <Donn.Mielcarek at wylelabs.com>:
> We create binary releases for many different Linux
> distributions. The guy who creates the releases
> compiles them all from the same source tree, compiling
> on different machines at the same time! So all the
> Makefiles must be separate.
yep good scheme :))
Then I think separate build_tree would be really SIMPLE, nice AND effcicient.
Separate build tree does not prevent you
from building below the source tree.
If your local source tree is rooted at: <src_root>/
You may try
mkdir <src_root>/<buildname>
cd <src_root>/<buildname>
cmake <src_root>
make
You may perfectly do this on as many target machines as you want
as long as the <buildname> build dir is differents for each target.
It should even be easily scriptable like:
>>>>>>> buildit.sh <<<<<
#!/bin/sh
BUILDNAME=$1
SRCDIR=$2
mkdir -p $(SRCDIR)/$(BUILDNAME)
cd $(SRCDIR)/$(BUILDNAME)
cmake $(SRCDIR)
make
>>>>>>>
then locally you may
buildit.sh DebianEtch /path/to/src
or remotely (if you deployed the buildit script)
ssh user@<FC4host> buildit.sh FC4 /path/to/src
> Ideally, I could use cmake to create a makefile
> called Makefile.FC4, for Fedora core 4 for example.
> Then Makefile would have only one line,
> include Makefile.$(SYS)
> Then multiple compiles could take place at the
> same time. All object file/binaries are also
> put into their own $(SYS)/ directory.
Since you MUST have several separate build dirs I don't understand
why you don't wan't ti use separate build tree?
You'll have no CMake modif with really minimal user impact.
Unless I miss something about your specific user requirement?
--
Erk
More information about the CMake
mailing list