cmakecompat
(1)
Name
cmakecompat - Platform Makefile Generator.
Synopsis
Please see following description for synopsis
Description
User Commands cmakecompat(1)
NAME
cmakecompat - Reference of CMake compatibility commands.
NAME
cmake - Cross-Platform Makefile Generator.
COMPATIBILITY COMMANDS
CMake Compatibility Listfile Commands - Obsolete commands supported by CMake for compatibility.
This is the documentation for now obsolete listfile commands
from previous CMake versions, which are still supported for
compatibility reasons. You should instead use the newer,
faster and shinier new commands. ;-)
build_name
Deprecated. Use ${CMAKE_SYSTEM} and ${CMAKE_CXX_COM-
PILER} instead.
build_name(variable)
Sets the specified variable to a string representing
the platform and compiler settings. These values are
now available through the CMAKE_SYSTEM and
CMAKE_CXX_COMPILER variables.
exec_program
Deprecated. Use the execute_process() command instead.
Run an executable program during the processing of the
CMakeList.txt file.
exec_program(Executable [directory in which to run]
[ARGS <arguments to executable>]
[OUTPUT_VARIABLE <var>]
[RETURN_VALUE <var>])
The executable is run in the optionally specified
directory. The executable can include arguments if it
is double quoted, but it is better to use the optional
ARGS argument to specify arguments to the program.
This is because cmake will then be able to escape spa-
ces in the executable path. An optional argument OUT-
PUT_VARIABLE specifies a variable in which to store the
output. To capture the return value of the execution,
provide a RETURN_VALUE. If OUTPUT_VARIABLE is speci-
fied, then no output will go to the stdout/stderr of
cmake 2.8.6 Last change: June 17, 2014 1
User Commands cmakecompat(1)
the console running cmake.
export_library_dependencies
Deprecated. Use INSTALL(EXPORT) or EXPORT command.
This command generates an old-style library dependen-
cies file. Projects requiring CMake 2.6 or later
should not use the command. Use instead the
install(EXPORT) command to help export targets from an
installation tree and the export() command to export
targets from a build tree.
The old-style library dependencies file does not take
into account per-configuration names of libraries or
the LINK_INTERFACE_LIBRARIES target property.
export_library_dependencies(<file> [APPEND])
Create a file named <file> that can be included into a
CMake listfile with the INCLUDE command. The file will
contain a number of SET commands that will set all the
variables needed for library dependency information.
This should be the last command in the top level CMake-
Lists.txt file of the project. If the APPEND option is
specified, the SET commands will be appended to the
given file instead of replacing it.
install_files
Deprecated. Use the install(FILES ) command instead.
This command has been superceded by the install com-
mand. It is provided for compatibility with older
CMake code. The FILES form is directly replaced by the
FILES form of the install command. The regexp form can
be expressed more clearly using the GLOB form of the
file command.
install_files(<dir> extension file file ...)
Create rules to install the listed files with the given
extension into the given directory. Only files exist-
ing in the current source tree or its corresponding
location in the binary tree may be listed. If a file
specified already has an extension, that extension will
be removed first. This is useful for providing lists
of source files such as foo.cxx when you want the
cmake 2.8.6 Last change: June 17, 2014 2
User Commands cmakecompat(1)
corresponding foo.h to be installed. A typical exten-
sion is '.h'.
install_files(<dir> regexp)
Any files in the current source directory that match
the regular expression will be installed.
install_files(<dir> FILES file file ...)
Any files listed after the FILES keyword will be
installed explicitly from the names given. Full paths
are allowed in this form.
The directory <dir> is relative to the installation
prefix, which is stored in the variable
CMAKE_INSTALL_PREFIX.
install_programs
Deprecated. Use the install(PROGRAMS ) command instead.
This command has been superceded by the install com-
mand. It is provided for compatibility with older
CMake code. The FILES form is directly replaced by the
PROGRAMS form of the INSTALL command. The regexp form
can be expressed more clearly using the GLOB form of
the FILE command.
install_programs(<dir> file1 file2 [file3 ...])
install_programs(<dir> FILES file1 [file2 ...])
Create rules to install the listed programs into the
given directory. Use the FILES argument to guarantee
that the file list version of the command will be used
even when there is only one argument.
install_programs(<dir> regexp)
In the second form any program in the current source
directory that matches the regular expression will be
installed.
This command is intended to install programs that are
not built by cmake, such as shell scripts. See the
TARGETS form of the INSTALL command to create
cmake 2.8.6 Last change: June 17, 2014 3
User Commands cmakecompat(1)
installation rules for targets built by cmake.
The directory <dir> is relative to the installation
prefix, which is stored in the variable
CMAKE_INSTALL_PREFIX.
install_targets
Deprecated. Use the install(TARGETS ) command instead.
This command has been superceded by the install com-
mand. It is provided for compatibility with older
CMake code.
install_targets(<dir> [RUNTIME_DIRECTORY dir] target target)
Create rules to install the listed targets into the
given directory. The directory <dir> is relative to
the installation prefix, which is stored in the vari-
able CMAKE_INSTALL_PREFIX. If RUNTIME_DIRECTORY is
specified, then on systems with special runtime files
(Windows DLL), the files will be copied to that direc-
tory.
link_libraries
Deprecated. Use the target_link_libraries() command
instead.
Link libraries to all targets added later.
link_libraries(library1 <debug | optimized> library2 ...)
Specify a list of libraries to be linked into any fol-
lowing targets (typically added with the add_executable
or add_library calls). This command is passed down to
all subdirectories. The debug and optimized strings
may be used to indicate that the next library listed is
to be used only for that specific type of build.
make_directory
Deprecated. Use the file(MAKE_DIRECTORY ) command
instead.
make_directory(directory)
Creates the specified directory. Full paths should be
given. Any parent directories that do not exist will
cmake 2.8.6 Last change: June 17, 2014 4
User Commands cmakecompat(1)
also be created. Use with care.
output_required_files
Deprecated. Approximate C preprocessor dependency
scanning.
This command exists only because ancient CMake versions
provided it. CMake handles preprocessor dependency
scanning automatically using a more advanced scanner.
output_required_files(srcfile outputfile)
Outputs a list of all the source files that are
required by the specified srcfile. This list is written
into outputfile. This is similar to writing out the
dependencies for srcfile except that it jumps from .h
files into .cxx, .c and .cpp files if possible.
remove
Deprecated. Use the list(REMOVE_ITEM ) command instead.
remove(VAR VALUE VALUE ...)
Removes VALUE from the variable VAR. This is typically
used to remove entries from a vector (e.g. semicolon
separated list). VALUE is expanded.
subdir_depends
Deprecated. Does nothing.
subdir_depends(subdir dep1 dep2 ...)
Does not do anything. This command used to help
projects order parallel builds correctly. This func-
tionality is now automatic.
subdirs
Deprecated. Use the add_subdirectory() command instead.
Add a list of subdirectories to the build.
subdirs(dir1 dir2 ...[EXCLUDE_FROM_ALL exclude_dir1 exclude_dir2 ...]
[PREORDER] )
Add a list of subdirectories to the build. The add_sub-
directory command should be used instead of subdirs
cmake 2.8.6 Last change: June 17, 2014 5
User Commands cmakecompat(1)
although subdirs will still work. This will cause any
CMakeLists.txt files in the sub directories to be pro-
cessed by CMake. Any directories after the PREORDER
flag are traversed first by makefile builds, the PRE-
ORDER flag has no effect on IDE projects. Any directo-
ries after the EXCLUDE_FROM_ALL marker will not be
included in the top level makefile or project file.
This is useful for having CMake create makefiles or
projects for a set of examples in a project. You would
want CMake to generate makefiles or project files for
all the examples at the same time, but you would not
want them to show up in the top level project or be
built each time make is run from the top.
use_mangled_mesa
Copy mesa headers for use in combination with system
GL.
use_mangled_mesa(PATH_TO_MESA OUTPUT_DIRECTORY)
The path to mesa includes, should contain gl_mangle.h.
The mesa headers are copied to the specified output
directory. This allows mangled mesa headers to over-
ride other GL headers by being added to the include
directory path earlier.
utility_source
Specify the source tree of a third-party utility.
utility_source(cache_entry executable_name
path_to_source [file1 file2 ...])
When a third-party utility's source is included in the
distribution, this command specifies its location and
name. The cache entry will not be set unless the
path_to_source and all listed files exist. It is
assumed that the source tree of the utility will have
been built before it is needed.
When cross compiling CMake will print a warning if a
utility_source() command is executed, because in many
cases it is used to build an executable which is exe-
cuted later on. This doesn't work when cross compiling,
since the executable can run only on their target plat-
form. So in this case the cache entry has to be
adjusted manually so it points to an executable which
is runnable on the build host.
cmake 2.8.6 Last change: June 17, 2014 6
User Commands cmakecompat(1)
variable_requires
Deprecated. Use the if() command instead.
Assert satisfaction of an option's required variables.
variable_requires(TEST_VARIABLE RESULT_VARIABLE
REQUIRED_VARIABLE1
REQUIRED_VARIABLE2 ...)
The first argument (TEST_VARIABLE) is the name of the
variable to be tested, if that variable is false noth-
ing else is done. If TEST_VARIABLE is true, then the
next argument (RESULT_VARIABLE) is a variable that is
set to true if all the required variables are set. The
rest of the arguments are variables that must be true
or not set to NOTFOUND to avoid an error. If any are
not true, an error is reported.
write_file
Deprecated. Use the file(WRITE ) command instead.
write_file(filename "message to write"... [APPEND])
The first argument is the file name, the rest of the
arguments are messages to write. If the argument APPEND
is specified, then the message will be appended.
NOTE 1: file(WRITE ... and file(APPEND ... do exactly
the same as this one but add some more functionality.
NOTE 2: When using write_file the produced file cannot
be used as an input to CMake (CONFIGURE_FILE, source
file ...) because it will lead to an infinite loop. Use
configure_file if you want to generate input files to
CMake.
COPYRIGHT
Copyright 2000-2009 Kitware, Inc., Insight Software Consor-
tium. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the fol-
lowing conditions are met:
cmake 2.8.6 Last change: June 17, 2014 7
User Commands cmakecompat(1)
Redistributions of source code must retain the above copy-
right notice, this list of conditions and the following dis-
claimer.
Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials pro-
vided with the distribution.
Neither the names of Kitware, Inc., the Insight Software
Consortium, nor the names of their contributors may be used
to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CON-
TRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CON-
TRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFT-
WARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ATTRIBUTES
See attributes(5) for descriptions of the following
attributes:
+---------------+-----------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------------+
|Availability | developer/build/cmake |
+---------------+-----------------------+
|Stability | Uncommitted |
+---------------+-----------------------+
SEE ALSO
The following resources are available to get help using
CMake:
Home Page
http://www.cmake.org
cmake 2.8.6 Last change: June 17, 2014 8
User Commands cmakecompat(1)
The primary starting point for learning about CMake.
Frequently Asked Questions
http://www.cmake.org/Wiki/CMake_FAQ
A Wiki is provided containing answers to frequently
asked questions.
Online Documentation
http://www.cmake.org/HTML/Documentation.html
Links to available documentation may be found on this
web page.
Mailing List
http://www.cmake.org/HTML/MailingLists.html
For help and discussion about using cmake, a mailing
list is provided at [email protected]. The list is mem-
ber-post-only but one may sign up on the CMake web
page. Please first read the full documentation at
http://www.cmake.org before posting questions to the
list.
Summary of helpful links:
Home: http://www.cmake.org
Docs: http://www.cmake.org/HTML/Documentation.html
Mail: http://www.cmake.org/HTML/MailingLists.html
FAQ: http://www.cmake.org/Wiki/CMake_FAQ
NOTES
This software was built from source available at
https://java.net/projects/solaris-userland. The original
community source was downloaded from
http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
Further information about this software can be found on the
open source community website at http://www.cmake.org/.
cmake 2.8.6 Last change: June 17, 2014 9