[cmake-developers] CMake to GMake issues
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Mon Jan 24 13:26:53 EST 2011
On 2011-01-24 17:02-0000 Chris Lawrence wrote:
> Hi,
>
> I've recently been looking into using CMake with one of my projects at work. I've recently run into a problem where the Makefile, CMake
> generates will not run on my build system unless I install the cmake libraries.
>
> Just to clarify, my development machine (where CMake is installed) and my build machine are separate. My project requires the use of the
> generated makefile, without the dependence of having cmake installed on that machine.
>
> Is there any flags available for CMake, to generate a gmake file that can be run independently from the cmake libraries?
To the CMake developers here: should the answer be in the FAQ?
My quick check could not find it there.
To Chris:
This subject is probably more appropriate for the cmake at cmake.org list
where the question has been answered a number of times already, but
I will attempt to answer it here.
In short, the answer is no. If you run "make VERBOSE=1" you will see
cmake is invoked for at least progress reports and dependency
analysis. Also, if you want your build to be cross-platform at all,
as a build system designer you will be using the cmake -E commands to
do cross-platform commands such as the following:
Usage: cmake -E [command] [arguments ...]
Available commands:
chdir dir cmd [args]... - run command in a given directory
rename oldname newname - rename a file or directory (on one volume)
copy file destination - copy file to destination (either file or directory)
copy_if_different in-file out-file - copy file if input has changed
copy_directory source destination - copy directory 'source' content to directory 'destination'
compare_files file1 file2 - check if file1 is same as file2
echo [string]... - displays arguments as text
echo_append [string]... - displays arguments as text but no new line
environment - display the current environment
make_directory dir - create a directory
md5sum file1 [...] - compute md5sum of files
remove_directory dir - remove a directory and its contents
remove [-f] file1 file2 ... - remove the file(s), use -f to force it
tar [cxt][vfz][cvfj] file.tar file/dir1 file/dir2 ... - create a tar archive
time command [args] ... - run command and return elapsed time
touch file - touch a file.
touch_nocreate file - touch a file but do not create it.
build build_dir - build the project in build_dir.
create_symlink old new - create a symbolic link new -> old
So even if you could get rid of the progress reports and dependency
analysis, then you severely limit the cross-platform usefulness of
your package by not being able to use these commands at make time.
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
__________________________
More information about the cmake-developers
mailing list