Convert builtin help to reStructuredText source files

Run the convert-help.bash script to convert documentation:

 ./convert-help.bash "/path/to/CMake-build/bin"

Then remove it.
This commit is contained in:
Kitware Robot
2013-10-15 11:17:36 -04:00
committed by Brad King
parent e94958e99c
commit f051814ed0
1044 changed files with 23501 additions and 5901 deletions
+6 -2
View File
@@ -1,6 +1,10 @@
# - ADD_FILE_DEPENDENCIES(source_file depend_files...)
# Adds the given files as dependencies to source_file
#.rst:
# AddFileDependencies
# -------------------
#
# ADD_FILE_DEPENDENCIES(source_file depend_files...)
#
# Adds the given files as dependencies to source_file
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+162 -101
View File
@@ -1,146 +1,207 @@
# - Functions to help assemble a standalone bundle application.
#.rst:
# BundleUtilities
# ---------------
#
# Functions to help assemble a standalone bundle application.
#
# A collection of CMake utility functions useful for dealing with .app
# bundles on the Mac and bundle-like directories on any OS.
#
# The following functions are provided by this module:
# fixup_bundle
# copy_and_fixup_bundle
# verify_app
# get_bundle_main_executable
# get_dotapp_dir
# get_bundle_and_executable
# get_bundle_all_executables
# get_item_key
# clear_bundle_keys
# set_bundle_key_values
# get_bundle_keys
# copy_resolved_item_into_bundle
# copy_resolved_framework_into_bundle
# fixup_bundle_item
# verify_bundle_prerequisites
# verify_bundle_symlinks
#
# ::
#
# fixup_bundle
# copy_and_fixup_bundle
# verify_app
# get_bundle_main_executable
# get_dotapp_dir
# get_bundle_and_executable
# get_bundle_all_executables
# get_item_key
# clear_bundle_keys
# set_bundle_key_values
# get_bundle_keys
# copy_resolved_item_into_bundle
# copy_resolved_framework_into_bundle
# fixup_bundle_item
# verify_bundle_prerequisites
# verify_bundle_symlinks
#
# Requires CMake 2.6 or greater because it uses function, break and
# PARENT_SCOPE. Also depends on GetPrerequisites.cmake.
# PARENT_SCOPE. Also depends on GetPrerequisites.cmake.
#
# ::
#
# FIXUP_BUNDLE(<app> <libs> <dirs>)
#
# FIXUP_BUNDLE(<app> <libs> <dirs>)
# Fix up a bundle in-place and make it standalone, such that it can be
# drag-n-drop copied to another machine and run on that machine as long as all
# of the system libraries are compatible.
# drag-n-drop copied to another machine and run on that machine as long
# as all of the system libraries are compatible.
#
# If you pass plugins to fixup_bundle as the libs parameter, you should install
# them or copy them into the bundle before calling fixup_bundle. The "libs"
# parameter is a list of libraries that must be fixed up, but that cannot be
# determined by otool output analysis. (i.e., plugins)
# If you pass plugins to fixup_bundle as the libs parameter, you should
# install them or copy them into the bundle before calling fixup_bundle.
# The "libs" parameter is a list of libraries that must be fixed up, but
# that cannot be determined by otool output analysis. (i.e., plugins)
#
# Gather all the keys for all the executables and libraries in a bundle, and
# then, for each key, copy each prerequisite into the bundle. Then fix each one
# up according to its own list of prerequisites.
# Gather all the keys for all the executables and libraries in a bundle,
# and then, for each key, copy each prerequisite into the bundle. Then
# fix each one up according to its own list of prerequisites.
#
# Then clear all the keys and call verify_app on the final bundle to ensure
# that it is truly standalone.
# Then clear all the keys and call verify_app on the final bundle to
# ensure that it is truly standalone.
#
# COPY_AND_FIXUP_BUNDLE(<src> <dst> <libs> <dirs>)
# Makes a copy of the bundle <src> at location <dst> and then fixes up the
# new copied bundle in-place at <dst>...
# ::
#
# VERIFY_APP(<app>)
# Verifies that an application <app> appears valid based on running analysis
# tools on it. Calls "message(FATAL_ERROR" if the application is not verified.
# COPY_AND_FIXUP_BUNDLE(<src> <dst> <libs> <dirs>)
#
# GET_BUNDLE_MAIN_EXECUTABLE(<bundle> <result_var>)
# The result will be the full path name of the bundle's main executable file
# or an "error:" prefixed string if it could not be determined.
# Makes a copy of the bundle <src> at location <dst> and then fixes up
# the new copied bundle in-place at <dst>...
#
# GET_DOTAPP_DIR(<exe> <dotapp_dir_var>)
# Returns the nearest parent dir whose name ends with ".app" given the full
# path to an executable. If there is no such parent dir, then simply return
# the dir containing the executable.
# ::
#
# VERIFY_APP(<app>)
#
# Verifies that an application <app> appears valid based on running
# analysis tools on it. Calls "message(FATAL_ERROR" if the application
# is not verified.
#
# ::
#
# GET_BUNDLE_MAIN_EXECUTABLE(<bundle> <result_var>)
#
# The result will be the full path name of the bundle's main executable
# file or an "error:" prefixed string if it could not be determined.
#
# ::
#
# GET_DOTAPP_DIR(<exe> <dotapp_dir_var>)
#
# Returns the nearest parent dir whose name ends with ".app" given the
# full path to an executable. If there is no such parent dir, then
# simply return the dir containing the executable.
#
# The returned directory may or may not exist.
#
# GET_BUNDLE_AND_EXECUTABLE(<app> <bundle_var> <executable_var> <valid_var>)
# ::
#
# GET_BUNDLE_AND_EXECUTABLE(<app> <bundle_var> <executable_var> <valid_var>)
#
# Takes either a ".app" directory name or the name of an executable
# nested inside a ".app" directory and returns the path to the ".app"
# directory in <bundle_var> and the path to its main executable in
# <executable_var>
#
# GET_BUNDLE_ALL_EXECUTABLES(<bundle> <exes_var>)
# Scans the given bundle recursively for all executable files and accumulates
# them into a variable.
# ::
#
# GET_ITEM_KEY(<item> <key_var>)
# Given a file (item) name, generate a key that should be unique considering
# the set of libraries that need copying or fixing up to make a bundle
# standalone. This is essentially the file name including extension with "."
# replaced by "_"
# GET_BUNDLE_ALL_EXECUTABLES(<bundle> <exes_var>)
#
# This key is used as a prefix for CMake variables so that we can associate a
# set of variables with a given item based on its key.
# Scans the given bundle recursively for all executable files and
# accumulates them into a variable.
#
# CLEAR_BUNDLE_KEYS(<keys_var>)
# Loop over the list of keys, clearing all the variables associated with each
# key. After the loop, clear the list of keys itself.
# ::
#
# Caller of get_bundle_keys should call clear_bundle_keys when done with list
# of keys.
# GET_ITEM_KEY(<item> <key_var>)
#
# SET_BUNDLE_KEY_VALUES(<keys_var> <context> <item> <exepath> <dirs>
# <copyflag>)
# Add a key to the list (if necessary) for the given item. If added,
# Given a file (item) name, generate a key that should be unique
# considering the set of libraries that need copying or fixing up to
# make a bundle standalone. This is essentially the file name including
# extension with "." replaced by "_"
#
# This key is used as a prefix for CMake variables so that we can
# associate a set of variables with a given item based on its key.
#
# ::
#
# CLEAR_BUNDLE_KEYS(<keys_var>)
#
# Loop over the list of keys, clearing all the variables associated with
# each key. After the loop, clear the list of keys itself.
#
# Caller of get_bundle_keys should call clear_bundle_keys when done with
# list of keys.
#
# ::
#
# SET_BUNDLE_KEY_VALUES(<keys_var> <context> <item> <exepath> <dirs>
# <copyflag>)
#
# Add a key to the list (if necessary) for the given item. If added,
# also set all the variables associated with that key.
#
# GET_BUNDLE_KEYS(<app> <libs> <dirs> <keys_var>)
# Loop over all the executable and library files within the bundle (and given
# as extra <libs>) and accumulate a list of keys representing them. Set
# values associated with each key such that we can loop over all of them and
# copy prerequisite libs into the bundle and then do appropriate
# install_name_tool fixups.
# ::
#
# COPY_RESOLVED_ITEM_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
# Copy a resolved item into the bundle if necessary. Copy is not necessary if
# the resolved_item is "the same as" the resolved_embedded_item.
# GET_BUNDLE_KEYS(<app> <libs> <dirs> <keys_var>)
#
# COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
# Copy a resolved framework into the bundle if necessary. Copy is not necessary
# if the resolved_item is "the same as" the resolved_embedded_item.
# Loop over all the executable and library files within the bundle (and
# given as extra <libs>) and accumulate a list of keys representing
# them. Set values associated with each key such that we can loop over
# all of them and copy prerequisite libs into the bundle and then do
# appropriate install_name_tool fixups.
#
# By default, BU_COPY_FULL_FRAMEWORK_CONTENTS is not set. If you want full
# frameworks embedded in your bundles, set BU_COPY_FULL_FRAMEWORK_CONTENTS to
# ON before calling fixup_bundle. By default,
# COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE copies the framework dylib itself plus
# the framework Resources directory.
# ::
#
# FIXUP_BUNDLE_ITEM(<resolved_embedded_item> <exepath> <dirs>)
# Get the direct/non-system prerequisites of the resolved embedded item. For
# each prerequisite, change the way it is referenced to the value of the
# _EMBEDDED_ITEM keyed variable for that prerequisite. (Most likely changing to
# an "@executable_path" style reference.)
# COPY_RESOLVED_ITEM_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
#
# This function requires that the resolved_embedded_item be "inside" the bundle
# already. In other words, if you pass plugins to fixup_bundle as the libs
# parameter, you should install them or copy them into the bundle before
# calling fixup_bundle. The "libs" parameter is a list of libraries that must
# be fixed up, but that cannot be determined by otool output analysis. (i.e.,
# plugins)
# Copy a resolved item into the bundle if necessary. Copy is not
# necessary if the resolved_item is "the same as" the
# resolved_embedded_item.
#
# Also, change the id of the item being fixed up to its own _EMBEDDED_ITEM
# value.
# ::
#
# COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
#
# Copy a resolved framework into the bundle if necessary. Copy is not
# necessary if the resolved_item is "the same as" the
# resolved_embedded_item.
#
# By default, BU_COPY_FULL_FRAMEWORK_CONTENTS is not set. If you want
# full frameworks embedded in your bundles, set
# BU_COPY_FULL_FRAMEWORK_CONTENTS to ON before calling fixup_bundle. By
# default, COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE copies the framework
# dylib itself plus the framework Resources directory.
#
# ::
#
# FIXUP_BUNDLE_ITEM(<resolved_embedded_item> <exepath> <dirs>)
#
# Get the direct/non-system prerequisites of the resolved embedded item.
# For each prerequisite, change the way it is referenced to the value of
# the _EMBEDDED_ITEM keyed variable for that prerequisite. (Most likely
# changing to an "@executable_path" style reference.)
#
# This function requires that the resolved_embedded_item be "inside" the
# bundle already. In other words, if you pass plugins to fixup_bundle
# as the libs parameter, you should install them or copy them into the
# bundle before calling fixup_bundle. The "libs" parameter is a list of
# libraries that must be fixed up, but that cannot be determined by
# otool output analysis. (i.e., plugins)
#
# Also, change the id of the item being fixed up to its own
# _EMBEDDED_ITEM value.
#
# Accumulate changes in a local variable and make *one* call to
# install_name_tool at the end of the function with all the changes at once.
# install_name_tool at the end of the function with all the changes at
# once.
#
# If the BU_CHMOD_BUNDLE_ITEMS variable is set then bundle items will be
# marked writable before install_name_tool tries to change them.
#
# VERIFY_BUNDLE_PREREQUISITES(<bundle> <result_var> <info_var>)
# Verifies that the sum of all prerequisites of all files inside the bundle
# are contained within the bundle or are "system" libraries, presumed to exist
# everywhere.
# ::
#
# VERIFY_BUNDLE_SYMLINKS(<bundle> <result_var> <info_var>)
# Verifies that any symlinks found in the bundle point to other files that are
# already also in the bundle... Anything that points to an external file causes
# this function to fail the verification.
# VERIFY_BUNDLE_PREREQUISITES(<bundle> <result_var> <info_var>)
#
# Verifies that the sum of all prerequisites of all files inside the
# bundle are contained within the bundle or are "system" libraries,
# presumed to exist everywhere.
#
# ::
#
# VERIFY_BUNDLE_SYMLINKS(<bundle> <result_var> <info_var>)
#
# Verifies that any symlinks found in the bundle point to other files
# that are already also in the bundle... Anything that points to an
# external file causes this function to fail the verification.
#=============================================================================
# Copyright 2008-2009 Kitware, Inc.
+34 -26
View File
@@ -1,29 +1,37 @@
# - Use MinGW gfortran from VS if a fortran compiler is not found.
# The 'add_fortran_subdirectory' function adds a subdirectory
# to a project that contains a fortran only sub-project. The module
# will check the current compiler and see if it can support fortran.
# If no fortran compiler is found and the compiler is MSVC, then
# this module will find the MinGW gfortran. It will then use
# an external project to build with the MinGW tools. It will also
# create imported targets for the libraries created. This will only
# work if the fortran code is built into a dll, so BUILD_SHARED_LIBS
# is turned on in the project. In addition the CMAKE_GNUtoMS option
# is set to on, so that the MS .lib files are created.
# Usage is as follows:
# cmake_add_fortran_subdirectory(
# <subdir> # name of subdirectory
# PROJECT <project_name> # project name in subdir top CMakeLists.txt
# ARCHIVE_DIR <dir> # dir where project places .lib files
# RUNTIME_DIR <dir> # dir where project places .dll files
# LIBRARIES <lib>... # names of library targets to import
# LINK_LIBRARIES # link interface libraries for LIBRARIES
# [LINK_LIBS <lib> <dep>...]...
# CMAKE_COMMAND_LINE ... # extra command line flags to pass to cmake
# NO_EXTERNAL_INSTALL # skip installation of external project
# )
# Relative paths in ARCHIVE_DIR and RUNTIME_DIR are interpreted with respect
# to the build directory corresponding to the source directory in which the
# function is invoked.
#.rst:
# CMakeAddFortranSubdirectory
# ---------------------------
#
# Use MinGW gfortran from VS if a fortran compiler is not found.
#
# The 'add_fortran_subdirectory' function adds a subdirectory to a
# project that contains a fortran only sub-project. The module will
# check the current compiler and see if it can support fortran. If no
# fortran compiler is found and the compiler is MSVC, then this module
# will find the MinGW gfortran. It will then use an external project to
# build with the MinGW tools. It will also create imported targets for
# the libraries created. This will only work if the fortran code is
# built into a dll, so BUILD_SHARED_LIBS is turned on in the project.
# In addition the CMAKE_GNUtoMS option is set to on, so that the MS .lib
# files are created. Usage is as follows:
#
# ::
#
# cmake_add_fortran_subdirectory(
# <subdir> # name of subdirectory
# PROJECT <project_name> # project name in subdir top CMakeLists.txt
# ARCHIVE_DIR <dir> # dir where project places .lib files
# RUNTIME_DIR <dir> # dir where project places .dll files
# LIBRARIES <lib>... # names of library targets to import
# LINK_LIBRARIES # link interface libraries for LIBRARIES
# [LINK_LIBS <lib> <dep>...]...
# CMAKE_COMMAND_LINE ... # extra command line flags to pass to cmake
# NO_EXTERNAL_INSTALL # skip installation of external project
# )
#
# Relative paths in ARCHIVE_DIR and RUNTIME_DIR are interpreted with
# respect to the build directory corresponding to the source directory
# in which the function is invoked.
#
# Limitations:
#
+14 -7
View File
@@ -1,10 +1,17 @@
# - define a bunch of backwards compatibility variables
# CMAKE_ANSI_CXXFLAGS - flag for ansi c++
# CMAKE_HAS_ANSI_STRING_STREAM - has <strstream>
# include(TestForANSIStreamHeaders)
# include(CheckIncludeFileCXX)
# include(TestForSTDNamespace)
# include(TestForANSIForScope)
#.rst:
# CMakeBackwardCompatibilityCXX
# -----------------------------
#
# define a bunch of backwards compatibility variables
#
# ::
#
# CMAKE_ANSI_CXXFLAGS - flag for ansi c++
# CMAKE_HAS_ANSI_STRING_STREAM - has <strstream>
# include(TestForANSIStreamHeaders)
# include(CheckIncludeFileCXX)
# include(TestForSTDNamespace)
# include(TestForANSIForScope)
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+19 -11
View File
@@ -1,15 +1,23 @@
# - Macro to provide an option dependent on other options.
#.rst:
# CMakeDependentOption
# --------------------
#
# Macro to provide an option dependent on other options.
#
# This macro presents an option to the user only if a set of other
# conditions are true. When the option is not presented a default
# value is used, but any value set by the user is preserved for when
# the option is presented again.
# Example invocation:
# CMAKE_DEPENDENT_OPTION(USE_FOO "Use Foo" ON
# "USE_BAR;NOT USE_ZOT" OFF)
# If USE_BAR is true and USE_ZOT is false, this provides an option called
# USE_FOO that defaults to ON. Otherwise, it sets USE_FOO to OFF. If
# the status of USE_BAR or USE_ZOT ever changes, any value for the
# USE_FOO option is saved so that when the option is re-enabled it
# conditions are true. When the option is not presented a default value
# is used, but any value set by the user is preserved for when the
# option is presented again. Example invocation:
#
# ::
#
# CMAKE_DEPENDENT_OPTION(USE_FOO "Use Foo" ON
# "USE_BAR;NOT USE_ZOT" OFF)
#
# If USE_BAR is true and USE_ZOT is false, this provides an option
# called USE_FOO that defaults to ON. Otherwise, it sets USE_FOO to
# OFF. If the status of USE_BAR or USE_ZOT ever changes, any value for
# the USE_FOO option is saved so that when the option is re-enabled it
# retains its old value.
#=============================================================================
+26 -14
View File
@@ -1,22 +1,34 @@
# - Determine the Visual Studio service pack of the 'cl' in use.
#.rst:
# CMakeDetermineVSServicePack
# ---------------------------
#
# Determine the Visual Studio service pack of the 'cl' in use.
#
# The functionality of this module has been superseded by the platform
# variable CMAKE_<LANG>_COMPILER_VERSION that contains the compiler version
# number.
# variable CMAKE_<LANG>_COMPILER_VERSION that contains the compiler
# version number.
#
# Usage:
# if(MSVC)
# include(CMakeDetermineVSServicePack)
# DetermineVSServicePack( my_service_pack )
# if( my_service_pack )
# message(STATUS "Detected: ${my_service_pack}")
# endif()
# endif()
#
# ::
#
# if(MSVC)
# include(CMakeDetermineVSServicePack)
# DetermineVSServicePack( my_service_pack )
# if( my_service_pack )
# message(STATUS "Detected: ${my_service_pack}")
# endif()
# endif()
#
# Function DetermineVSServicePack sets the given variable to one of the
# following values or an empty string if unknown:
# vc80, vc80sp1
# vc90, vc90sp1
# vc100, vc100sp1
# vc110, vc110sp1, vc110sp2
#
# ::
#
# vc80, vc80sp1
# vc90, vc90sp1
# vc100, vc100sp1
# vc110, vc110sp1, vc110sp2
#=============================================================================
# Copyright 2009-2013 Kitware, Inc.
+26 -13
View File
@@ -1,19 +1,32 @@
#.rst:
# CMakeExpandImportedTargets
# --------------------------
#
#
#
# CMAKE_EXPAND_IMPORTED_TARGETS(<var> LIBRARIES lib1 lib2...libN
# [CONFIGURATION <config>] )
#
# ::
#
# [CONFIGURATION <config>] )
#
#
#
# CMAKE_EXPAND_IMPORTED_TARGETS() takes a list of libraries and replaces
# all imported targets contained in this list with their actual file paths
# of the referenced libraries on disk, including the libraries from their
# link interfaces.
# If a CONFIGURATION is given, it uses the respective configuration of the
# imported targets if it exists. If no CONFIGURATION is given, it uses
# the first configuration from ${CMAKE_CONFIGURATION_TYPES} if set, otherwise
# ${CMAKE_BUILD_TYPE}.
# This macro is used by all Check*.cmake files which use
# try_compile() or try_run() and support CMAKE_REQUIRED_LIBRARIES , so that
# these checks support imported targets in CMAKE_REQUIRED_LIBRARIES:
# cmake_expand_imported_targets(expandedLibs LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
# CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )
# all imported targets contained in this list with their actual file
# paths of the referenced libraries on disk, including the libraries
# from their link interfaces. If a CONFIGURATION is given, it uses the
# respective configuration of the imported targets if it exists. If no
# CONFIGURATION is given, it uses the first configuration from
# ${CMAKE_CONFIGURATION_TYPES} if set, otherwise ${CMAKE_BUILD_TYPE}.
# This macro is used by all Check*.cmake files which use try_compile()
# or try_run() and support CMAKE_REQUIRED_LIBRARIES , so that these
# checks support imported targets in CMAKE_REQUIRED_LIBRARIES:
#
# ::
#
# cmake_expand_imported_targets(expandedLibs LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
# CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )
#=============================================================================
+5 -1
View File
@@ -1,4 +1,8 @@
# - helper module to find OSX frameworks
#.rst:
# CMakeFindFrameworks
# -------------------
#
# helper module to find OSX frameworks
#=============================================================================
# Copyright 2003-2009 Kitware, Inc.
+18 -9
View File
@@ -1,12 +1,21 @@
# This file is executed by cmake when invoked with --find-package.
# It expects that the following variables are set using -D:
# NAME = name of the package
# COMPILER_ID = the CMake compiler ID for which the result is, i.e. GNU/Intel/Clang/MSVC, etc.
# LANGUAGE = language for which the result will be used, i.e. C/CXX/Fortan/ASM
# MODE = EXIST : only check for existence of the given package
# COMPILE : print the flags needed for compiling an object file which uses the given package
# LINK : print the flags needed for linking when using the given package
# QUIET = if TRUE, don't print anything
#.rst:
# CMakeFindPackageMode
# --------------------
#
#
#
# This file is executed by cmake when invoked with --find-package. It
# expects that the following variables are set using -D:
#
# ::
#
# NAME = name of the package
# COMPILER_ID = the CMake compiler ID for which the result is, i.e. GNU/Intel/Clang/MSVC, etc.
# LANGUAGE = language for which the result will be used, i.e. C/CXX/Fortan/ASM
# MODE = EXIST : only check for existence of the given package
# COMPILE : print the flags needed for compiling an object file which uses the given package
# LINK : print the flags needed for linking when using the given package
# QUIET = if TRUE, don't print anything
#=============================================================================
# Copyright 2006-2011 Alexander Neundorf, <neundorf@kde.org>
+34 -13
View File
@@ -1,33 +1,54 @@
#.rst:
# CMakeForceCompiler
# ------------------
#
#
#
# This module defines macros intended for use by cross-compiling
# toolchain files when CMake is not able to automatically detect the
# compiler identification.
#
# Macro CMAKE_FORCE_C_COMPILER has the following signature:
# CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
# It sets CMAKE_C_COMPILER to the given compiler and the cmake
# internal variable CMAKE_C_COMPILER_ID to the given compiler-id.
# It also bypasses the check for working compiler and basic compiler
# information tests.
#
# ::
#
# CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
#
# It sets CMAKE_C_COMPILER to the given compiler and the cmake internal
# variable CMAKE_C_COMPILER_ID to the given compiler-id. It also
# bypasses the check for working compiler and basic compiler information
# tests.
#
# Macro CMAKE_FORCE_CXX_COMPILER has the following signature:
# CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
#
# ::
#
# CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
#
# It sets CMAKE_CXX_COMPILER to the given compiler and the cmake
# internal variable CMAKE_CXX_COMPILER_ID to the given compiler-id.
# It also bypasses the check for working compiler and basic compiler
# internal variable CMAKE_CXX_COMPILER_ID to the given compiler-id. It
# also bypasses the check for working compiler and basic compiler
# information tests.
#
# Macro CMAKE_FORCE_Fortran_COMPILER has the following signature:
# CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>)
#
# ::
#
# CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>)
#
# It sets CMAKE_Fortran_COMPILER to the given compiler and the cmake
# internal variable CMAKE_Fortran_COMPILER_ID to the given compiler-id.
# It also bypasses the check for working compiler and basic compiler
# information tests.
#
# So a simple toolchain file could look like this:
# include (CMakeForceCompiler)
# set(CMAKE_SYSTEM_NAME Generic)
# CMAKE_FORCE_C_COMPILER (chc12 MetrowerksHicross)
# CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
#
# ::
#
# include (CMakeForceCompiler)
# set(CMAKE_SYSTEM_NAME Generic)
# CMAKE_FORCE_C_COMPILER (chc12 MetrowerksHicross)
# CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+106 -67
View File
@@ -1,72 +1,111 @@
##section Variables specific to the graphviz support
##end
##module
# - The builtin graphviz support of CMake.
# CMake can generate graphviz files, showing the dependencies between
# the targets in a project and also external libraries which are linked
# against.
# When CMake is run with the --graphiz=foo option, it will produce
# * a foo.dot file showing all dependencies in the project
# * a foo.dot.<target> file for each target, file showing on which other targets the respective target depends
# * a foo.dot.<target>.dependers file, showing which other targets depend on the respective target
#.rst:
# CMakeGraphVizOptions
# --------------------
#
# This can result in huge graphs. Using the file CMakeGraphVizOptions.cmake
# the look and content of the generated graphs can be influenced.
# This file is searched first in ${CMAKE_BINARY_DIR} and then in
# ${CMAKE_SOURCE_DIR}. If found, it is read and the variables set in it
# are used to adjust options for the generated graphviz files.
##end
# The builtin graphviz support of CMake.
#
##variable
# GRAPHVIZ_GRAPH_TYPE - The graph type
# Mandatory : NO
# Default : "digraph"
##end
##variable
# GRAPHVIZ_GRAPH_NAME - The graph name.
# Mandatory : NO
# Default : "GG"
##end
##variable
# GRAPHVIZ_GRAPH_HEADER - The header written at the top of the graphviz file.
# Mandatory : NO
# Default : "node [n fontsize = "12"];"
##end
##variable
# GRAPHVIZ_NODE_PREFIX - The prefix for each node in the graphviz file.
# Mandatory : NO
# Default : "node"
##end
##variable
# GRAPHVIZ_EXECUTABLES - Set this to FALSE to exclude executables from the generated graphs.
# Mandatory : NO
# Default : TRUE
##end
##variable
# GRAPHVIZ_STATIC_LIBS - Set this to FALSE to exclude static libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
##end
##variable
# GRAPHVIZ_SHARED_LIBS - Set this to FALSE to exclude shared libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
##end
##variable
# GRAPHVIZ_MODULE_LIBS - Set this to FALSE to exclude module libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
##end
##variable
# GRAPHVIZ_EXTERNAL_LIBS - Set this to FALSE to exclude external libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
##end
##variable
# GRAPHVIZ_IGNORE_TARGETS - A list of regular expressions for ignoring targets.
# Mandatory : NO
# Default : empty
##end
# #section Variables specific to the graphviz support #end #module CMake
# can generate graphviz files, showing the dependencies between the
# targets in a project and also external libraries which are linked
# against. When CMake is run with the --graphiz=foo option, it will
# produce
#
# ::
#
# * a foo.dot file showing all dependencies in the project
# * a foo.dot.<target> file for each target, file showing on which other targets the respective target depends
# * a foo.dot.<target>.dependers file, showing which other targets depend on the respective target
#
#
#
# This can result in huge graphs. Using the file
# CMakeGraphVizOptions.cmake the look and content of the generated
# graphs can be influenced. This file is searched first in
# ${CMAKE_BINARY_DIR} and then in ${CMAKE_SOURCE_DIR}. If found, it is
# read and the variables set in it are used to adjust options for the
# generated graphviz files. #end
#
# #variable
#
# ::
#
# GRAPHVIZ_GRAPH_TYPE - The graph type
# Mandatory : NO
# Default : "digraph"
#
# #end #variable
#
# ::
#
# GRAPHVIZ_GRAPH_NAME - The graph name.
# Mandatory : NO
# Default : "GG"
#
# #end #variable
#
# ::
#
# GRAPHVIZ_GRAPH_HEADER - The header written at the top of the graphviz file.
# Mandatory : NO
# Default : "node [n fontsize = "12"];"
#
# #end #variable
#
# ::
#
# GRAPHVIZ_NODE_PREFIX - The prefix for each node in the graphviz file.
# Mandatory : NO
# Default : "node"
#
# #end #variable
#
# ::
#
# GRAPHVIZ_EXECUTABLES - Set this to FALSE to exclude executables from the generated graphs.
# Mandatory : NO
# Default : TRUE
#
# #end #variable
#
# ::
#
# GRAPHVIZ_STATIC_LIBS - Set this to FALSE to exclude static libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
#
# #end #variable
#
# ::
#
# GRAPHVIZ_SHARED_LIBS - Set this to FALSE to exclude shared libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
#
# #end #variable
#
# ::
#
# GRAPHVIZ_MODULE_LIBS - Set this to FALSE to exclude module libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
#
# #end #variable
#
# ::
#
# GRAPHVIZ_EXTERNAL_LIBS - Set this to FALSE to exclude external libraries from the generated graphs.
# Mandatory : NO
# Default : TRUE
#
# #end #variable
#
# ::
#
# GRAPHVIZ_IGNORE_TARGETS - A list of regular expressions for ignoring targets.
# Mandatory : NO
# Default : empty
#
# #end
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+154 -106
View File
@@ -1,135 +1,183 @@
# - CONFIGURE_PACKAGE_CONFIG_FILE(), WRITE_BASIC_PACKAGE_VERSION_FILE()
#.rst:
# CMakePackageConfigHelpers
# -------------------------
#
# CONFIGURE_PACKAGE_CONFIG_FILE(), WRITE_BASIC_PACKAGE_VERSION_FILE()
#
#
#
# ::
#
# CONFIGURE_PACKAGE_CONFIG_FILE(<input> <output> INSTALL_DESTINATION <path>
# [PATH_VARS <var1> <var2> ... <varN>]
# [NO_SET_AND_CHECK_MACRO]
# [NO_CHECK_REQUIRED_COMPONENTS_MACRO]
# [NO_FIND_DEPENDENCY_MACRO])
#
#
# CONFIGURE_PACKAGE_CONFIG_FILE(<input> <output> INSTALL_DESTINATION <path>
# [PATH_VARS <var1> <var2> ... <varN>]
# [NO_SET_AND_CHECK_MACRO]
# [NO_CHECK_REQUIRED_COMPONENTS_MACRO]
# [NO_FIND_DEPENDENCY_MACRO])
#
# CONFIGURE_PACKAGE_CONFIG_FILE() should be used instead of the plain
# configure_file() command when creating the <Name>Config.cmake or <Name>-config.cmake
# file for installing a project or library. It helps making the resulting package
# relocatable by avoiding hardcoded paths in the installed Config.cmake file.
# configure_file() command when creating the <Name>Config.cmake or
# <Name>-config.cmake file for installing a project or library. It
# helps making the resulting package relocatable by avoiding hardcoded
# paths in the installed Config.cmake file.
#
# In a FooConfig.cmake file there may be code like this to make the
# install destinations know to the using project:
# set(FOO_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" )
# set(FOO_DATA_DIR "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" )
# set(FOO_ICONS_DIR "@CMAKE_INSTALL_PREFIX@/share/icons" )
# ...logic to determine installedPrefix from the own location...
# set(FOO_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@" )
# All 4 options shown above are not sufficient, since the first 3 hardcode
# the absolute directory locations, and the 4th case works only if the logic
# to determine the installedPrefix is correct, and if CONFIG_INSTALL_DIR contains
# a relative path, which in general cannot be guaranteed.
# This has the effect that the resulting FooConfig.cmake file would work poorly
# under Windows and OSX, where users are used to choose the install location
# of a binary package at install time, independent from how CMAKE_INSTALL_PREFIX
# was set at build/cmake time.
#
# Using CONFIGURE_PACKAGE_CONFIG_FILE() helps. If used correctly, it makes the
# resulting FooConfig.cmake file relocatable.
# Usage:
# 1. write a FooConfig.cmake.in file as you are used to
# 2. insert a line containing only the string "@PACKAGE_INIT@"
# 3. instead of set(FOO_DIR "@SOME_INSTALL_DIR@"), use set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")
# (this must be after the @PACKAGE_INIT@ line)
# 4. instead of using the normal configure_file(), use CONFIGURE_PACKAGE_CONFIG_FILE()
# ::
#
# The <input> and <output> arguments are the input and output file, the same way
# as in configure_file().
# set(FOO_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" )
# set(FOO_DATA_DIR "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" )
# set(FOO_ICONS_DIR "@CMAKE_INSTALL_PREFIX@/share/icons" )
# ...logic to determine installedPrefix from the own location...
# set(FOO_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@" )
#
# The <path> given to INSTALL_DESTINATION must be the destination where the FooConfig.cmake
# file will be installed to. This can either be a relative or absolute path, both work.
# All 4 options shown above are not sufficient, since the first 3
# hardcode the absolute directory locations, and the 4th case works only
# if the logic to determine the installedPrefix is correct, and if
# CONFIG_INSTALL_DIR contains a relative path, which in general cannot
# be guaranteed. This has the effect that the resulting FooConfig.cmake
# file would work poorly under Windows and OSX, where users are used to
# choose the install location of a binary package at install time,
# independent from how CMAKE_INSTALL_PREFIX was set at build/cmake time.
#
# The variables <var1> to <varN> given as PATH_VARS are the variables which contain
# install destinations. For each of them the macro will create a helper variable
# PACKAGE_<var...>. These helper variables must be used
# in the FooConfig.cmake.in file for setting the installed location. They are calculated
# by CONFIGURE_PACKAGE_CONFIG_FILE() so that they are always relative to the
# installed location of the package. This works both for relative and also for absolute locations.
# For absolute locations it works only if the absolute location is a subdirectory
# of CMAKE_INSTALL_PREFIX.
# Using CONFIGURE_PACKAGE_CONFIG_FILE() helps. If used correctly, it
# makes the resulting FooConfig.cmake file relocatable. Usage:
#
# By default configure_package_config_file() also generates two helper macros,
# set_and_check() and check_required_components() into the FooConfig.cmake file.
# ::
#
# set_and_check() should be used instead of the normal set()
# command for setting directories and file locations. Additionally to setting the
# variable it also checks that the referenced file or directory actually exists
# and fails with a FATAL_ERROR otherwise. This makes sure that the created
# FooConfig.cmake file does not contain wrong references.
# When using the NO_SET_AND_CHECK_MACRO, this macro is not generated into the
# 1. write a FooConfig.cmake.in file as you are used to
# 2. insert a line containing only the string "@PACKAGE_INIT@"
# 3. instead of set(FOO_DIR "@SOME_INSTALL_DIR@"), use set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")
# (this must be after the @PACKAGE_INIT@ line)
# 4. instead of using the normal configure_file(), use CONFIGURE_PACKAGE_CONFIG_FILE()
#
#
#
# The <input> and <output> arguments are the input and output file, the
# same way as in configure_file().
#
# The <path> given to INSTALL_DESTINATION must be the destination where
# the FooConfig.cmake file will be installed to. This can either be a
# relative or absolute path, both work.
#
# The variables <var1> to <varN> given as PATH_VARS are the variables
# which contain install destinations. For each of them the macro will
# create a helper variable PACKAGE_<var...>. These helper variables
# must be used in the FooConfig.cmake.in file for setting the installed
# location. They are calculated by CONFIGURE_PACKAGE_CONFIG_FILE() so
# that they are always relative to the installed location of the
# package. This works both for relative and also for absolute
# locations. For absolute locations it works only if the absolute
# location is a subdirectory of CMAKE_INSTALL_PREFIX.
#
# By default configure_package_config_file() also generates two helper
# macros, set_and_check() and check_required_components() into the
# FooConfig.cmake file.
#
# check_required_components(<package_name>) should be called at the end of the
# FooConfig.cmake file if the package supports components.
# This macro checks whether all requested, non-optional components have been found,
# and if this is not the case, sets the Foo_FOUND variable to FALSE, so that the package
# is considered to be not found.
# It does that by testing the Foo_<Component>_FOUND variables for all requested
# required components.
# When using the NO_CHECK_REQUIRED_COMPONENTS option, this macro is not generated
# set_and_check() should be used instead of the normal set() command for
# setting directories and file locations. Additionally to setting the
# variable it also checks that the referenced file or directory actually
# exists and fails with a FATAL_ERROR otherwise. This makes sure that
# the created FooConfig.cmake file does not contain wrong references.
# When using the NO_SET_AND_CHECK_MACRO, this macro is not generated
# into the FooConfig.cmake file.
#
# For an example see below the documentation for WRITE_BASIC_PACKAGE_VERSION_FILE().
# check_required_components(<package_name>) should be called at the end
# of the FooConfig.cmake file if the package supports components. This
# macro checks whether all requested, non-optional components have been
# found, and if this is not the case, sets the Foo_FOUND variable to
# FALSE, so that the package is considered to be not found. It does
# that by testing the Foo_<Component>_FOUND variables for all requested
# required components. When using the NO_CHECK_REQUIRED_COMPONENTS
# option, this macro is not generated into the FooConfig.cmake file.
#
# For an example see below the documentation for
# WRITE_BASIC_PACKAGE_VERSION_FILE().
#
#
# WRITE_BASIC_PACKAGE_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion|ExactVersion) )
#
# Writes a file for use as <package>ConfigVersion.cmake file to <filename>.
# See the documentation of find_package() for details on this.
# filename is the output filename, it should be in the build tree.
# major.minor.patch is the version number of the project to be installed
# The COMPATIBILITY mode AnyNewerVersion means that the installed package version
# will be considered compatible if it is newer or exactly the same as the requested version.
# This mode should be used for packages which are fully backward compatible,
# also across major versions.
# If SameMajorVersion is used instead, then the behaviour differs from AnyNewerVersion
# in that the major version number must be the same as requested, e.g. version 2.0 will
# not be considered compatible if 1.0 is requested.
# This mode should be used for packages which guarantee backward compatibility within the
# same major version.
# If ExactVersion is used, then the package is only considered compatible if the requested
# version matches exactly its own version number (not considering the tweak version).
# For example, version 1.2.3 of a package is only considered compatible to requested version 1.2.3.
# This mode is for packages without compatibility guarantees.
# If your project has more elaborated version matching rules, you will need to write your
# own custom ConfigVersion.cmake file instead of using this macro.
# ::
#
# Internally, this macro executes configure_file() to create the resulting
# version file. Depending on the COMPATIBLITY, either the file
# BasicConfigVersion-SameMajorVersion.cmake.in or BasicConfigVersion-AnyNewerVersion.cmake.in
# is used. Please note that these two files are internal to CMake and you should
# not call configure_file() on them yourself, but they can be used as starting
# WRITE_BASIC_PACKAGE_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion|ExactVersion) )
#
#
#
# Writes a file for use as <package>ConfigVersion.cmake file to
# <filename>. See the documentation of find_package() for details on
# this.
#
# ::
#
# filename is the output filename, it should be in the build tree.
# major.minor.patch is the version number of the project to be installed
#
# The COMPATIBILITY mode AnyNewerVersion means that the installed
# package version will be considered compatible if it is newer or
# exactly the same as the requested version. This mode should be used
# for packages which are fully backward compatible, also across major
# versions. If SameMajorVersion is used instead, then the behaviour
# differs from AnyNewerVersion in that the major version number must be
# the same as requested, e.g. version 2.0 will not be considered
# compatible if 1.0 is requested. This mode should be used for packages
# which guarantee backward compatibility within the same major version.
# If ExactVersion is used, then the package is only considered
# compatible if the requested version matches exactly its own version
# number (not considering the tweak version). For example, version
# 1.2.3 of a package is only considered compatible to requested version
# 1.2.3. This mode is for packages without compatibility guarantees.
# If your project has more elaborated version matching rules, you will
# need to write your own custom ConfigVersion.cmake file instead of
# using this macro.
#
# Internally, this macro executes configure_file() to create the
# resulting version file. Depending on the COMPATIBLITY, either the
# file BasicConfigVersion-SameMajorVersion.cmake.in or
# BasicConfigVersion-AnyNewerVersion.cmake.in is used. Please note that
# these two files are internal to CMake and you should not call
# configure_file() on them yourself, but they can be used as starting
# point to create more sophisticted custom ConfigVersion.cmake files.
#
#
# Example using both configure_package_config_file() and write_basic_package_version_file():
# CMakeLists.txt:
# set(INCLUDE_INSTALL_DIR include/ ... CACHE )
# set(LIB_INSTALL_DIR lib/ ... CACHE )
# set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE )
# ...
# include(CMakePackageConfigHelpers)
# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
# write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
# VERSION 1.2.3
# COMPATIBILITY SameMajorVersion )
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
# DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
#
# Example using both configure_package_config_file() and
# write_basic_package_version_file(): CMakeLists.txt:
#
# ::
#
# set(INCLUDE_INSTALL_DIR include/ ... CACHE )
# set(LIB_INSTALL_DIR lib/ ... CACHE )
# set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE )
# ...
# include(CMakePackageConfigHelpers)
# configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
# INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
# PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
# write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
# VERSION 1.2.3
# COMPATIBILITY SameMajorVersion )
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
# DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
#
#
#
# With a FooConfig.cmake.in:
# set(FOO_VERSION x.y.z)
# ...
# @PACKAGE_INIT@
# ...
# set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
# set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@")
#
# check_required_components(Foo)
# ::
#
# set(FOO_VERSION x.y.z)
# ...
# @PACKAGE_INIT@
# ...
# set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
# set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@")
#
#
#
# ::
#
# check_required_components(Foo)
#=============================================================================
+60 -38
View File
@@ -1,64 +1,86 @@
# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
#.rst:
# CMakeParseArguments
# -------------------
#
# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
# parsing the arguments given to that macro or function.
# It processes the arguments and defines a set of variables which hold the
#
#
# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords>
# <multi_value_keywords> args...)
#
# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions
# for parsing the arguments given to that macro or function. It
# processes the arguments and defines a set of variables which hold the
# values of the respective options.
#
# The <options> argument contains all options for the respective macro,
# i.e. keywords which can be used when calling the macro without any value
# following, like e.g. the OPTIONAL keyword of the install() command.
# i.e. keywords which can be used when calling the macro without any
# value following, like e.g. the OPTIONAL keyword of the install()
# command.
#
# The <one_value_keywords> argument contains all keywords for this macro
# which are followed by one value, like e.g. DESTINATION keyword of the
# which are followed by one value, like e.g. DESTINATION keyword of the
# install() command.
#
# The <multi_value_keywords> argument contains all keywords for this macro
# which can be followed by more than one value, like e.g. the TARGETS or
# FILES keywords of the install() command.
# The <multi_value_keywords> argument contains all keywords for this
# macro which can be followed by more than one value, like e.g. the
# TARGETS or FILES keywords of the install() command.
#
# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
# keywords listed in <options>, <one_value_keywords> and
# <multi_value_keywords> a variable composed of the given <prefix>
# followed by "_" and the name of the respective keyword.
# These variables will then hold the respective value from the argument list.
# followed by "_" and the name of the respective keyword. These
# variables will then hold the respective value from the argument list.
# For the <options> keywords this will be TRUE or FALSE.
#
# All remaining arguments are collected in a variable
# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
# your macro was called with unrecognized parameters.
# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see
# whether your macro was called with unrecognized parameters.
#
# As an example here a my_install() macro, which takes similar arguments
# as the real install() command:
#
# ::
#
# function(MY_INSTALL)
# set(options OPTIONAL FAST)
# set(oneValueArgs DESTINATION RENAME)
# set(multiValueArgs TARGETS CONFIGURATIONS)
# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
# ...
#
# As an example here a my_install() macro, which takes similar arguments as the
# real install() command:
#
# function(MY_INSTALL)
# set(options OPTIONAL FAST)
# set(oneValueArgs DESTINATION RENAME)
# set(multiValueArgs TARGETS CONFIGURATIONS)
# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
# ...
#
# Assume my_install() has been called like this:
# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
#
# After the cmake_parse_arguments() call the macro will have set the following
# variables:
# MY_INSTALL_OPTIONAL = TRUE
# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
# MY_INSTALL_DESTINATION = "bin"
# MY_INSTALL_RENAME = "" (was not used)
# MY_INSTALL_TARGETS = "foo;bar"
# MY_INSTALL_CONFIGURATIONS = "" (was not used)
# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
# ::
#
# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
#
#
#
# After the cmake_parse_arguments() call the macro will have set the
# following variables:
#
# ::
#
# MY_INSTALL_OPTIONAL = TRUE
# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
# MY_INSTALL_DESTINATION = "bin"
# MY_INSTALL_RENAME = "" (was not used)
# MY_INSTALL_TARGETS = "foo;bar"
# MY_INSTALL_CONFIGURATIONS = "" (was not used)
# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
#
#
#
# You can then continue and process these variables.
#
# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
# another recognized keyword follows, this is interpreted as the beginning of
# the new option.
# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
# Keywords terminate lists of values, e.g. if directly after a
# one_value_keyword another recognized keyword follows, this is
# interpreted as the beginning of the new option. E.g.
# my_install(TARGETS foo DESTINATION OPTIONAL) would result in
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION
# would be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
#=============================================================================
# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
+39 -16
View File
@@ -1,29 +1,52 @@
# - Convenience macros for printing properties and variables, useful e.g. for debugging.
#.rst:
# CMakePrintHelpers
# -----------------
#
# Convenience macros for printing properties and variables, useful e.g. for debugging.
#
#
#
#
#
# CMAKE_PRINT_PROPERTIES([TARGETS target1 .. targetN]
#
# ::
#
# [SOURCES source1 .. sourceN]
# [DIRECTORIES dir1 .. dirN]
# [TESTS test1 .. testN]
# [CACHE_ENTRIES entry1 .. entryN]
# PROPERTIES prop1 .. propN )
#
#
# CMAKE_PRINT_PROPERTIES([TARGETS target1 .. targetN]
# [SOURCES source1 .. sourceN]
# [DIRECTORIES dir1 .. dirN]
# [TESTS test1 .. testN]
# [CACHE_ENTRIES entry1 .. entryN]
# PROPERTIES prop1 .. propN )
#
# This macro prints the values of the properties of the given targets,
# source files, directories, tests or cache entries. Exactly one of the
# scope keywords must be used.
# Example:
# cmake_print_properties(TARGETS foo bar PROPERTIES LOCATION INTERFACE_INCLUDE_DIRS)
# This will print the LOCATION and INTERFACE_INCLUDE_DIRS properties for both
# targets foo and bar.
# source files, directories, tests or cache entries. Exactly one of the
# scope keywords must be used. Example:
#
# ::
#
# cmake_print_properties(TARGETS foo bar PROPERTIES LOCATION INTERFACE_INCLUDE_DIRS)
#
# This will print the LOCATION and INTERFACE_INCLUDE_DIRS properties for
# both targets foo and bar.
#
#
# CMAKE_PRINT_VARIABLES(var1 var2 .. varN)
#
# CMAKE_PRINT_VARIABLES(var1 var2 .. varN)
#
# This macro will print the name of each variable followed by its value.
# Example:
# cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION THIS_ONE_DOES_NOT_EXIST)
#
# ::
#
# cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION THIS_ONE_DOES_NOT_EXIST)
#
# Gives:
# -- CMAKE_C_COMPILER="/usr/bin/gcc" ; CMAKE_MAJOR_VERSION="2" ; THIS_ONE_DOES_NOT_EXIST=""
#
# ::
#
# -- CMAKE_C_COMPILER="/usr/bin/gcc" ; CMAKE_MAJOR_VERSION="2" ; THIS_ONE_DOES_NOT_EXIST=""
#=============================================================================
# Copyright 2013 Alexander Neundorf, <neundorf@kde.org>
+8 -4
View File
@@ -1,7 +1,11 @@
# - print system information
# This file can be used for diagnostic purposes
# just include it in a project to see various internal CMake
# variables.
#.rst:
# CMakePrintSystemInformation
# ---------------------------
#
# print system information
#
# This file can be used for diagnostic purposes just include it in a
# project to see various internal CMake variables.
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+31 -24
View File
@@ -1,30 +1,37 @@
# This module defines three macros:
# CMAKE_PUSH_CHECK_STATE()
# CMAKE_POP_CHECK_STATE()
# and
# CMAKE_RESET_CHECK_STATE()
# These macros can be used to save, restore and reset (i.e., clear contents)
# the state of the variables
# CMAKE_REQUIRED_FLAGS, CMAKE_REQUIRED_DEFINITIONS, CMAKE_REQUIRED_LIBRARIES
# and CMAKE_REQUIRED_INCLUDES used by the various Check-files coming with CMake,
# like e.g. check_function_exists() etc.
# The variable contents are pushed on a stack, pushing multiple times is supported.
# This is useful e.g. when executing such tests in a Find-module, where they have to be set,
# but after the Find-module has been executed they should have the same value
# as they had before.
#.rst:
# CMakePushCheckState
# -------------------
#
# CMAKE_PUSH_CHECK_STATE() macro receives optional argument RESET. Whether it's specified,
# CMAKE_PUSH_CHECK_STATE() will set all CMAKE_REQUIRED_* variables to empty values, same
# as CMAKE_RESET_CHECK_STATE() call will do.
#
#
# This module defines three macros: CMAKE_PUSH_CHECK_STATE()
# CMAKE_POP_CHECK_STATE() and CMAKE_RESET_CHECK_STATE() These macros can
# be used to save, restore and reset (i.e., clear contents) the state of
# the variables CMAKE_REQUIRED_FLAGS, CMAKE_REQUIRED_DEFINITIONS,
# CMAKE_REQUIRED_LIBRARIES and CMAKE_REQUIRED_INCLUDES used by the
# various Check-files coming with CMake, like e.g.
# check_function_exists() etc. The variable contents are pushed on a
# stack, pushing multiple times is supported. This is useful e.g. when
# executing such tests in a Find-module, where they have to be set, but
# after the Find-module has been executed they should have the same
# value as they had before.
#
# CMAKE_PUSH_CHECK_STATE() macro receives optional argument RESET.
# Whether it's specified, CMAKE_PUSH_CHECK_STATE() will set all
# CMAKE_REQUIRED_* variables to empty values, same as
# CMAKE_RESET_CHECK_STATE() call will do.
#
# Usage:
# cmake_push_check_state(RESET)
# set(CMAKE_REQUIRED_DEFINITIONS -DSOME_MORE_DEF)
# check_function_exists(...)
# cmake_reset_check_state()
# set(CMAKE_REQUIRED_DEFINITIONS -DANOTHER_DEF)
# check_function_exists(...)
# cmake_pop_check_state()
#
# ::
#
# cmake_push_check_state(RESET)
# set(CMAKE_REQUIRED_DEFINITIONS -DSOME_MORE_DEF)
# check_function_exists(...)
# cmake_reset_check_state()
# set(CMAKE_REQUIRED_DEFINITIONS -DANOTHER_DEF)
# check_function_exists(...)
# cmake_pop_check_state()
#=============================================================================
# Copyright 2006-2011 Alexander Neundorf, <neundorf@kde.org>
+14 -9
View File
@@ -1,14 +1,19 @@
#.rst:
# CMakeVerifyManifest
# -------------------
#
#
#
# CMakeVerifyManifest.cmake
#
# This script is used to verify that embeded manifests and
# side by side manifests for a project match. To run this
# script, cd to a directory and run the script with cmake -P.
# On the command line you can pass in versions that are OK even
# if not found in the .manifest files. For example,
# cmake -Dallow_versions=8.0.50608.0 -PCmakeVerifyManifest.cmake
# could be used to allow an embeded manifest of 8.0.50608.0
# to be used in a project even if that version was not found
# in the .manifest file.
# This script is used to verify that embeded manifests and side by side
# manifests for a project match. To run this script, cd to a directory
# and run the script with cmake -P. On the command line you can pass in
# versions that are OK even if not found in the .manifest files. For
# example, cmake -Dallow_versions=8.0.50608.0
# -PCmakeVerifyManifest.cmake could be used to allow an embeded manifest
# of 8.0.50608.0 to be used in a project even if that version was not
# found in the .manifest file.
# This script first recursively globs *.manifest files from
# the current directory. Then globs *.exe and *.dll. Each
+367 -214
View File
@@ -1,275 +1,428 @@
##section Variables common to all CPack generators
##end
##module
# - Build binary and source package installers.
# The CPack module generates binary and source installers in a variety
# of formats using the cpack program. Inclusion of the CPack module
# adds two new targets to the resulting makefiles, package and
#.rst:
# CPack
# -----
#
# Build binary and source package installers.
#
# #section Variables common to all CPack generators #end #module The
# CPack module generates binary and source installers in a variety of
# formats using the cpack program. Inclusion of the CPack module adds
# two new targets to the resulting makefiles, package and
# package_source, which build the binary and source installers,
# respectively. The generated binary installers contain everything
# respectively. The generated binary installers contain everything
# installed via CMake's INSTALL command (and the deprecated
# INSTALL_FILES, INSTALL_PROGRAMS, and INSTALL_TARGETS commands).
#
# For certain kinds of binary installers (including the graphical
# installers on Mac OS X and Windows), CPack generates installers that
# allow users to select individual application components to
# install. See CPackComponent module for that.
# allow users to select individual application components to install.
# See CPackComponent module for that.
#
# The CPACK_GENERATOR variable has different meanings in different
# contexts. In your CMakeLists.txt file, CPACK_GENERATOR is a
# *list of generators*: when run with no other arguments, CPack
# will iterate over that list and produce one package for each
# generator. In a CPACK_PROJECT_CONFIG_FILE, though, CPACK_GENERATOR
# is a *string naming a single generator*. If you need per-cpack-
# generator logic to control *other* cpack settings, then you need
# a CPACK_PROJECT_CONFIG_FILE.
# contexts. In your CMakeLists.txt file, CPACK_GENERATOR is a *list of
# generators*: when run with no other arguments, CPack will iterate over
# that list and produce one package for each generator. In a
# CPACK_PROJECT_CONFIG_FILE, though, CPACK_GENERATOR is a *string naming
# a single generator*. If you need per-cpack- generator logic to
# control *other* cpack settings, then you need a
# CPACK_PROJECT_CONFIG_FILE.
#
# The CMake source tree itself contains a CPACK_PROJECT_CONFIG_FILE.
# See the top level file CMakeCPackOptions.cmake.in for an example.
#
# If set, the CPACK_PROJECT_CONFIG_FILE is included automatically
# on a per-generator basis. It only need contain overrides.
# If set, the CPACK_PROJECT_CONFIG_FILE is included automatically on a
# per-generator basis. It only need contain overrides.
#
# Here's how it works:
# - cpack runs
# - it includes CPackConfig.cmake
# - it iterates over the generators listed in that file's
# CPACK_GENERATOR list variable (unless told to use just a
# specific one via -G on the command line...)
#
# - foreach generator, it then
# - sets CPACK_GENERATOR to the one currently being iterated
# - includes the CPACK_PROJECT_CONFIG_FILE
# - produces the package for that generator
# ::
#
# This is the key: For each generator listed in CPACK_GENERATOR
# in CPackConfig.cmake, cpack will *reset* CPACK_GENERATOR
# internally to *the one currently being used* and then include
# the CPACK_PROJECT_CONFIG_FILE.
# - cpack runs
# - it includes CPackConfig.cmake
# - it iterates over the generators listed in that file's
# CPACK_GENERATOR list variable (unless told to use just a
# specific one via -G on the command line...)
#
# Before including this CPack module in your CMakeLists.txt file,
# there are a variety of variables that can be set to customize
# the resulting installers. The most commonly-used variables are:
##end
#
##variable
# CPACK_PACKAGE_NAME - The name of the package (or application). If
# not specified, defaults to the project name.
##end
#
##variable
# CPACK_PACKAGE_VENDOR - The name of the package vendor. (e.g.,
# "Kitware").
##end
# ::
#
##variable
# CPACK_PACKAGE_DIRECTORY - The directory in which CPack is doing its
# packaging. If it is not set then this will default (internally) to the
# build dir. This variable may be defined in CPack config file or from
# the cpack command line option "-B". If set the command line option
# override the value found in the config file.
##end
# - foreach generator, it then
# - sets CPACK_GENERATOR to the one currently being iterated
# - includes the CPACK_PROJECT_CONFIG_FILE
# - produces the package for that generator
#
##variable
# CPACK_PACKAGE_VERSION_MAJOR - Package major Version
##end
#
##variable
# CPACK_PACKAGE_VERSION_MINOR - Package minor Version
##end
#
##variable
# CPACK_PACKAGE_VERSION_PATCH - Package patch Version
##end
# This is the key: For each generator listed in CPACK_GENERATOR in
# CPackConfig.cmake, cpack will *reset* CPACK_GENERATOR internally to
# *the one currently being used* and then include the
# CPACK_PROJECT_CONFIG_FILE.
#
##variable
# CPACK_PACKAGE_DESCRIPTION_FILE - A text file used to describe the
# project. Used, for example, the introduction screen of a
# CPack-generated Windows installer to describe the project.
##end
# Before including this CPack module in your CMakeLists.txt file, there
# are a variety of variables that can be set to customize the resulting
# installers. The most commonly-used variables are: #end
#
##variable
# CPACK_PACKAGE_DESCRIPTION_SUMMARY - Short description of the
# project (only a few words).
##end
# #variable
#
##variable
# CPACK_PACKAGE_FILE_NAME - The name of the package file to generate,
# not including the extension. For example, cmake-2.6.1-Linux-i686.
# The default value is
# ::
#
# ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}.
##end
# CPACK_PACKAGE_NAME - The name of the package (or application). If
# not specified, defaults to the project name.
#
##variable
# CPACK_PACKAGE_INSTALL_DIRECTORY - Installation directory on the
# target system. This may be used by some CPack generators
# like NSIS to create an installation directory e.g., "CMake 2.5"
# below the installation prefix. All installed element will be
# put inside this directory.
##end
# #end
#
##variable
# CPACK_PACKAGE_ICON - A branding image that will be displayed inside
# the installer (used by GUI installers).
##end
# #variable
#
##variable
# CPACK_PROJECT_CONFIG_FILE - CPack-time project CPack configuration
# file. This file included at cpack time, once per
# generator after CPack has set CPACK_GENERATOR to the actual generator
# being used. It allows per-generator setting of CPACK_* variables at
# cpack time.
##end
# ::
#
##variable
# CPACK_RESOURCE_FILE_LICENSE - License to be embedded in the installer. It
# will typically be displayed to the user by the produced installer
# (often with an explicit "Accept" button, for graphical installers)
# prior to installation. This license file is NOT added to installed
# file but is used by some CPack generators like NSIS. If you want
# to install a license file (may be the same as this one)
# along with your project you must add an appropriate CMake INSTALL
# command in your CMakeLists.txt.
##end
# CPACK_PACKAGE_VENDOR - The name of the package vendor. (e.g.,
# "Kitware").
#
##variable
# CPACK_RESOURCE_FILE_README - ReadMe file to be embedded in the installer. It
# typically describes in some detail the purpose of the project
# during the installation. Not all CPack generators uses
# this file.
##end
# #end
#
##variable
# CPACK_RESOURCE_FILE_WELCOME - Welcome file to be embedded in the
# installer. It welcomes users to this installer.
# Typically used in the graphical installers on Windows and Mac OS X.
##end
# #variable
#
##variable
# CPACK_MONOLITHIC_INSTALL - Disables the component-based
# installation mechanism. When set the component specification is ignored
# and all installed items are put in a single "MONOLITHIC" package.
# Some CPack generators do monolithic packaging by default and
# may be asked to do component packaging by setting
# CPACK_<GENNAME>_COMPONENT_INSTALL to 1/TRUE.
##end
# ::
#
##variable
# CPACK_GENERATOR - List of CPack generators to use. If not
# specified, CPack will create a set of options CPACK_BINARY_<GENNAME> (e.g.,
# CPACK_BINARY_NSIS) allowing the user to enable/disable individual
# generators. This variable may be used on the command line
# as well as in:
# CPACK_PACKAGE_DIRECTORY - The directory in which CPack is doing its
# packaging. If it is not set then this will default (internally) to the
# build dir. This variable may be defined in CPack config file or from
# the cpack command line option "-B". If set the command line option
# override the value found in the config file.
#
# cpack -D CPACK_GENERATOR="ZIP;TGZ" /path/to/build/tree
##end
# #end
#
##variable
# CPACK_OUTPUT_CONFIG_FILE - The name of the CPack binary configuration
# file. This file is the CPack configuration generated by the CPack module
# for binary installers. Defaults to CPackConfig.cmake.
##end
# #variable
#
##variable
# CPACK_PACKAGE_EXECUTABLES - Lists each of the executables and associated
# text label to be used to create Start Menu shortcuts. For example,
# setting this to the list ccmake;CMake will
# create a shortcut named "CMake" that will execute the installed
# executable ccmake. Not all CPack generators use it (at least NSIS and
# OSXX11 do).
##end
# ::
#
##variable
# CPACK_STRIP_FILES - List of files to be stripped. Starting with
# CMake 2.6.0 CPACK_STRIP_FILES will be a boolean variable which
# enables stripping of all files (a list of files evaluates to TRUE
# in CMake, so this change is compatible).
##end
# CPACK_PACKAGE_VERSION_MAJOR - Package major Version
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_VERSION_MINOR - Package minor Version
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_VERSION_PATCH - Package patch Version
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_DESCRIPTION_FILE - A text file used to describe the
# project. Used, for example, the introduction screen of a
# CPack-generated Windows installer to describe the project.
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_DESCRIPTION_SUMMARY - Short description of the
# project (only a few words).
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_FILE_NAME - The name of the package file to generate,
# not including the extension. For example, cmake-2.6.1-Linux-i686.
# The default value is
#
#
#
# ::
#
# ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}.
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_INSTALL_DIRECTORY - Installation directory on the
# target system. This may be used by some CPack generators
# like NSIS to create an installation directory e.g., "CMake 2.5"
# below the installation prefix. All installed element will be
# put inside this directory.
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_ICON - A branding image that will be displayed inside
# the installer (used by GUI installers).
#
# #end
#
# #variable
#
# ::
#
# CPACK_PROJECT_CONFIG_FILE - CPack-time project CPack configuration
# file. This file included at cpack time, once per
# generator after CPack has set CPACK_GENERATOR to the actual generator
# being used. It allows per-generator setting of CPACK_* variables at
# cpack time.
#
# #end
#
# #variable
#
# ::
#
# CPACK_RESOURCE_FILE_LICENSE - License to be embedded in the installer. It
# will typically be displayed to the user by the produced installer
# (often with an explicit "Accept" button, for graphical installers)
# prior to installation. This license file is NOT added to installed
# file but is used by some CPack generators like NSIS. If you want
# to install a license file (may be the same as this one)
# along with your project you must add an appropriate CMake INSTALL
# command in your CMakeLists.txt.
#
# #end
#
# #variable
#
# ::
#
# CPACK_RESOURCE_FILE_README - ReadMe file to be embedded in the installer. It
# typically describes in some detail the purpose of the project
# during the installation. Not all CPack generators uses
# this file.
#
# #end
#
# #variable
#
# ::
#
# CPACK_RESOURCE_FILE_WELCOME - Welcome file to be embedded in the
# installer. It welcomes users to this installer.
# Typically used in the graphical installers on Windows and Mac OS X.
#
# #end
#
# #variable
#
# ::
#
# CPACK_MONOLITHIC_INSTALL - Disables the component-based
# installation mechanism. When set the component specification is ignored
# and all installed items are put in a single "MONOLITHIC" package.
# Some CPack generators do monolithic packaging by default and
# may be asked to do component packaging by setting
# CPACK_<GENNAME>_COMPONENT_INSTALL to 1/TRUE.
#
# #end
#
# #variable
#
# ::
#
# CPACK_GENERATOR - List of CPack generators to use. If not
# specified, CPack will create a set of options CPACK_BINARY_<GENNAME> (e.g.,
# CPACK_BINARY_NSIS) allowing the user to enable/disable individual
# generators. This variable may be used on the command line
# as well as in:
#
#
#
# ::
#
# cpack -D CPACK_GENERATOR="ZIP;TGZ" /path/to/build/tree
#
# #end
#
# #variable
#
# ::
#
# CPACK_OUTPUT_CONFIG_FILE - The name of the CPack binary configuration
# file. This file is the CPack configuration generated by the CPack module
# for binary installers. Defaults to CPackConfig.cmake.
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_EXECUTABLES - Lists each of the executables and associated
# text label to be used to create Start Menu shortcuts. For example,
# setting this to the list ccmake;CMake will
# create a shortcut named "CMake" that will execute the installed
# executable ccmake. Not all CPack generators use it (at least NSIS and
# OSXX11 do).
#
# #end
#
# #variable
#
# ::
#
# CPACK_STRIP_FILES - List of files to be stripped. Starting with
# CMake 2.6.0 CPACK_STRIP_FILES will be a boolean variable which
# enables stripping of all files (a list of files evaluates to TRUE
# in CMake, so this change is compatible).
#
# #end
#
# The following CPack variables are specific to source packages, and
# will not affect binary packages:
#
##variable
# CPACK_SOURCE_PACKAGE_FILE_NAME - The name of the source package. For
# example cmake-2.6.1.
##end
# #variable
#
##variable
# CPACK_SOURCE_STRIP_FILES - List of files in the source tree that
# will be stripped. Starting with CMake 2.6.0
# CPACK_SOURCE_STRIP_FILES will be a boolean variable which enables
# stripping of all files (a list of files evaluates to TRUE in CMake,
# so this change is compatible).
##end
# ::
#
##variable
# CPACK_SOURCE_GENERATOR - List of generators used for the source
# packages. As with CPACK_GENERATOR, if this is not specified then
# CPack will create a set of options (e.g., CPACK_SOURCE_ZIP)
# allowing users to select which packages will be generated.
##end
# CPACK_SOURCE_PACKAGE_FILE_NAME - The name of the source package. For
# example cmake-2.6.1.
#
##variable
# CPACK_SOURCE_OUTPUT_CONFIG_FILE - The name of the CPack source
# configuration file. This file is the CPack configuration generated by the
# CPack module for source installers. Defaults to CPackSourceConfig.cmake.
##end
# #end
#
##variable
# CPACK_SOURCE_IGNORE_FILES - Pattern of files in the source tree
# that won't be packaged when building a source package. This is a
# list of regular expression patterns (that must be properly escaped),
# e.g., /CVS/;/\\.svn/;\\.swp$;\\.#;/#;.*~;cscope.*
##end
# #variable
#
# ::
#
# CPACK_SOURCE_STRIP_FILES - List of files in the source tree that
# will be stripped. Starting with CMake 2.6.0
# CPACK_SOURCE_STRIP_FILES will be a boolean variable which enables
# stripping of all files (a list of files evaluates to TRUE in CMake,
# so this change is compatible).
#
# #end
#
# #variable
#
# ::
#
# CPACK_SOURCE_GENERATOR - List of generators used for the source
# packages. As with CPACK_GENERATOR, if this is not specified then
# CPack will create a set of options (e.g., CPACK_SOURCE_ZIP)
# allowing users to select which packages will be generated.
#
# #end
#
# #variable
#
# ::
#
# CPACK_SOURCE_OUTPUT_CONFIG_FILE - The name of the CPack source
# configuration file. This file is the CPack configuration generated by the
# CPack module for source installers. Defaults to CPackSourceConfig.cmake.
#
# #end
#
# #variable
#
# ::
#
# CPACK_SOURCE_IGNORE_FILES - Pattern of files in the source tree
# that won't be packaged when building a source package. This is a
# list of regular expression patterns (that must be properly escaped),
# e.g., /CVS/;/\\.svn/;\\.swp$;\\.#;/#;.*~;cscope.*
#
# #end
#
# The following variables are for advanced uses of CPack:
#
##variable
# CPACK_CMAKE_GENERATOR - What CMake generator should be used if the
# project is CMake project. Defaults to the value of CMAKE_GENERATOR
# few users will want to change this setting.
##end
# #variable
#
##variable
# CPACK_INSTALL_CMAKE_PROJECTS - List of four values that specify
# what project to install. The four values are: Build directory,
# Project Name, Project Component, Directory. If omitted, CPack will
# build an installer that installers everything.
##end
# ::
#
##variable
# CPACK_SYSTEM_NAME - System name, defaults to the value of
# ${CMAKE_SYSTEM_NAME}.
##end
# CPACK_CMAKE_GENERATOR - What CMake generator should be used if the
# project is CMake project. Defaults to the value of CMAKE_GENERATOR
# few users will want to change this setting.
#
##variable
# CPACK_PACKAGE_VERSION - Package full version, used internally. By
# default, this is built from CPACK_PACKAGE_VERSION_MAJOR,
# CPACK_PACKAGE_VERSION_MINOR, and CPACK_PACKAGE_VERSION_PATCH.
##end
# #end
#
##variable
# CPACK_TOPLEVEL_TAG - Directory for the installed files.
##end
# #variable
#
##variable
# CPACK_INSTALL_COMMANDS - Extra commands to install components.
##end
# ::
#
##variable
# CPACK_INSTALLED_DIRECTORIES - Extra directories to install.
##end
# CPACK_INSTALL_CMAKE_PROJECTS - List of four values that specify
# what project to install. The four values are: Build directory,
# Project Name, Project Component, Directory. If omitted, CPack will
# build an installer that installers everything.
#
##variable
# CPACK_PACKAGE_INSTALL_REGISTRY_KEY - Registry key used when
# installing this project. This is only used by installer for Windows.
# The default value is based on the installation directory.
##end
##variable
# CPACK_CREATE_DESKTOP_LINKS - List of desktop links to create.
##end
# #end
#
# #variable
#
# ::
#
# CPACK_SYSTEM_NAME - System name, defaults to the value of
# ${CMAKE_SYSTEM_NAME}.
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_VERSION - Package full version, used internally. By
# default, this is built from CPACK_PACKAGE_VERSION_MAJOR,
# CPACK_PACKAGE_VERSION_MINOR, and CPACK_PACKAGE_VERSION_PATCH.
#
# #end
#
# #variable
#
# ::
#
# CPACK_TOPLEVEL_TAG - Directory for the installed files.
#
# #end
#
# #variable
#
# ::
#
# CPACK_INSTALL_COMMANDS - Extra commands to install components.
#
# #end
#
# #variable
#
# ::
#
# CPACK_INSTALLED_DIRECTORIES - Extra directories to install.
#
# #end
#
# #variable
#
# ::
#
# CPACK_PACKAGE_INSTALL_REGISTRY_KEY - Registry key used when
# installing this project. This is only used by installer for Windows.
# The default value is based on the installation directory.
#
# #end #variable
#
# ::
#
# CPACK_CREATE_DESKTOP_LINKS - List of desktop links to create.
#
# #end
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+45 -27
View File
@@ -1,36 +1,54 @@
##section Variables specific to CPack Bundle generator
##end
##module
# - CPack Bundle generator (Mac OS X) specific options
#.rst:
# CPackBundle
# -----------
#
# CPack Bundle generator (Mac OS X) specific options
#
# #section Variables specific to CPack Bundle generator #end #module
#
# Installers built on Mac OS X using the Bundle generator use the
# aforementioned DragNDrop (CPACK_DMG_xxx) variables, plus
# the following Bundle-specific parameters (CPACK_BUNDLE_xxx).
##end
# aforementioned DragNDrop (CPACK_DMG_xxx) variables, plus the following
# Bundle-specific parameters (CPACK_BUNDLE_xxx). #end
#
##variable
# CPACK_BUNDLE_NAME - The name of the generated bundle. This
# appears in the OSX finder as the bundle name. Required.
##end
# #variable
#
##variable
# CPACK_BUNDLE_PLIST - Path to an OSX plist file that will be used
# for the generated bundle. This assumes that the caller has generated
# or specified their own Info.plist file. Required.
##end
# ::
#
##variable
# CPACK_BUNDLE_ICON - Path to an OSX icon file that will be used as
# the icon for the generated bundle. This is the icon that appears in the
# OSX finder for the bundle, and in the OSX dock when the bundle is opened.
# Required.
##end
# CPACK_BUNDLE_NAME - The name of the generated bundle. This
# appears in the OSX finder as the bundle name. Required.
#
##variable
# CPACK_BUNDLE_STARTUP_COMMAND - Path to a startup script. This is a path to
# an executable or script that will be run whenever an end-user double-clicks
# the generated bundle in the OSX Finder. Optional.
##end
# #end
#
# #variable
#
# ::
#
# CPACK_BUNDLE_PLIST - Path to an OSX plist file that will be used
# for the generated bundle. This assumes that the caller has generated
# or specified their own Info.plist file. Required.
#
# #end
#
# #variable
#
# ::
#
# CPACK_BUNDLE_ICON - Path to an OSX icon file that will be used as
# the icon for the generated bundle. This is the icon that appears in the
# OSX finder for the bundle, and in the OSX dock when the bundle is opened.
# Required.
#
# #end
#
# #variable
#
# ::
#
# CPACK_BUNDLE_STARTUP_COMMAND - Path to a startup script. This is a path to
# an executable or script that will be run whenever an end-user double-clicks
# the generated bundle in the OSX Finder. Optional.
#
# #end
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+256 -218
View File
@@ -1,265 +1,303 @@
##section Variables concerning CPack Components
##end
##module
# - Build binary and source package installers
#.rst:
# CPackComponent
# --------------
#
# The CPackComponent module is the module which handles
# the component part of CPack. See CPack module for
# general information about CPack.
# Build binary and source package installers
#
# #section Variables concerning CPack Components #end #module
#
# The CPackComponent module is the module which handles the component
# part of CPack. See CPack module for general information about CPack.
#
# For certain kinds of binary installers (including the graphical
# installers on Mac OS X and Windows), CPack generates installers that
# allow users to select individual application components to
# install. The contents of each of the components are identified by
# the COMPONENT argument of CMake's INSTALL command. These components
# can be annotated with user-friendly names and descriptions,
# inter-component dependencies, etc., and grouped in various ways to
# customize the resulting installer. See the cpack_add_* commands,
# described below, for more information about component-specific
# installations.
# allow users to select individual application components to install.
# The contents of each of the components are identified by the COMPONENT
# argument of CMake's INSTALL command. These components can be
# annotated with user-friendly names and descriptions, inter-component
# dependencies, etc., and grouped in various ways to customize the
# resulting installer. See the cpack_add_* commands, described below,
# for more information about component-specific installations.
#
# Component-specific installation allows users to select specific sets
# of components to install during the install process. Installation
# components are identified by the COMPONENT argument of CMake's
# INSTALL commands, and should be further described by the following
# CPack commands:
##end
# of components to install during the install process. Installation
# components are identified by the COMPONENT argument of CMake's INSTALL
# commands, and should be further described by the following CPack
# commands: #end
#
##variable
# CPACK_COMPONENTS_ALL - The list of component to install.
# #variable
#
#The default value of this variable is computed by CPack
#and contains all components defined by the project. The
#user may set it to only include the specified components.
##end
# ::
#
##variable
# CPACK_<GENNAME>_COMPONENT_INSTALL - Enable/Disable component install for
# CPack generator <GENNAME>.
# CPACK_COMPONENTS_ALL - The list of component to install.
#
#Each CPack Generator (RPM, DEB, ARCHIVE, NSIS, DMG, etc...) has a legacy
#default behavior. e.g. RPM builds monolithic whereas NSIS builds component.
#One can change the default behavior by setting this variable to 0/1 or OFF/ON.
##end
##variable
# CPACK_COMPONENTS_GROUPING - Specify how components are grouped for multi-package
# component-aware CPack generators.
#
#Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates several
#packages files when asked for component packaging. They group the component
#differently depending on the value of this variable:
# - ONE_PER_GROUP (default): creates one package file per component group
# - ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
# - IGNORE : creates one package per component, i.e. IGNORE component group
#One can specify different grouping for different CPack generator by using
#a CPACK_PROJECT_CONFIG_FILE.
##end
##variable
# CPACK_COMPONENT_<compName>_DISPLAY_NAME - The name to be displayed for a component.
##end
##variable
# CPACK_COMPONENT_<compName>_DESCRIPTION - The description of a component.
##end
##variable
# CPACK_COMPONENT_<compName>_GROUP - The group of a component.
##end
##variable
# CPACK_COMPONENT_<compName>_DEPENDS - The dependencies (list of components)
# on which this component depends.
##end
##variable
# CPACK_COMPONENT_<compName>_REQUIRED - True is this component is required.
##end
##macro
#cpack_add_component - Describes a CPack installation component
#named by the COMPONENT argument to a CMake INSTALL command.
#
# cpack_add_component(compname
# [DISPLAY_NAME name]
# [DESCRIPTION description]
# [HIDDEN | REQUIRED | DISABLED ]
# [GROUP group]
# [DEPENDS comp1 comp2 ... ]
# [INSTALL_TYPES type1 type2 ... ]
# [DOWNLOADED]
# [ARCHIVE_FILE filename])
# The default value of this variable is computed by CPack and contains
# all components defined by the project. The user may set it to only
# include the specified components. #end
#
#The cmake_add_component command describes an installation
#component, which the user can opt to install or remove as part of
#the graphical installation process. compname is the name of the
#component, as provided to the COMPONENT argument of one or more
#CMake INSTALL commands.
# #variable
#
#DISPLAY_NAME is the displayed name of the component, used in
#graphical installers to display the component name. This value can
#be any string.
# ::
#
#DESCRIPTION is an extended description of the component, used in
#graphical installers to give the user additional information about
#the component. Descriptions can span multiple lines using "\n" as
#the line separator. Typically, these descriptions should be no
#more than a few lines long.
# CPACK_<GENNAME>_COMPONENT_INSTALL - Enable/Disable component install for
# CPack generator <GENNAME>.
#
#HIDDEN indicates that this component will be hidden in the
#graphical installer, so that the user cannot directly change
#whether it is installed or not.
#
#REQUIRED indicates that this component is required, and therefore
#will always be installed. It will be visible in the graphical
#installer, but it cannot be unselected. (Typically, required
#components are shown greyed out).
#
#DISABLED indicates that this component should be disabled
#(unselected) by default. The user is free to select this component
#for installation, unless it is also HIDDEN.
# Each CPack Generator (RPM, DEB, ARCHIVE, NSIS, DMG, etc...) has a
# legacy default behavior. e.g. RPM builds monolithic whereas NSIS
# builds component. One can change the default behavior by setting this
# variable to 0/1 or OFF/ON. #end #variable
#
#DEPENDS lists the components on which this component depends. If
#this component is selected, then each of the components listed
#must also be selected. The dependency information is encoded
#within the installer itself, so that users cannot install
#inconsistent sets of components.
# ::
#
#GROUP names the component group of which this component is a
#part. If not provided, the component will be a standalone
#component, not part of any component group. Component groups are
#described with the cpack_add_component_group command, detailed
#below.
# CPACK_COMPONENTS_GROUPING - Specify how components are grouped for multi-package
# component-aware CPack generators.
#
#INSTALL_TYPES lists the installation types of which this component
#is a part. When one of these installations types is selected, this
#component will automatically be selected. Installation types are
#described with the cpack_add_install_type command, detailed below.
#
#DOWNLOADED indicates that this component should be downloaded
#on-the-fly by the installer, rather than packaged in with the
#installer itself. For more information, see the cpack_configure_downloads
# command.
#
#ARCHIVE_FILE provides a name for the archive file created by CPack
#to be used for downloaded components. If not supplied, CPack will
#create a file with some name based on CPACK_PACKAGE_FILE_NAME and
#the name of the component. See cpack_configure_downloads for more
#information.
##end
# Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates
# several packages files when asked for component packaging. They group
# the component differently depending on the value of this variable:
#
##macro
#cpack_add_component_group - Describes a group of related CPack
#installation components.
# ::
#
# cpack_add_component_group(groupname
# [DISPLAY_NAME name]
# [DESCRIPTION description]
# [PARENT_GROUP parent]
# [EXPANDED]
# [BOLD_TITLE])
# - ONE_PER_GROUP (default): creates one package file per component group
# - ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
# - IGNORE : creates one package per component, i.e. IGNORE component group
#
#The cpack_add_component_group describes a group of installation
#components, which will be placed together within the listing of
#options. Typically, component groups allow the user to
#select/deselect all of the components within a single group via a
#single group-level option. Use component groups to reduce the
#complexity of installers with many options. groupname is an
#arbitrary name used to identify the group in the GROUP argument of
#the cpack_add_component command, which is used to place a
#component in a group. The name of the group must not conflict with
#the name of any component.
# One can specify different grouping for different CPack generator by
# using a CPACK_PROJECT_CONFIG_FILE. #end #variable
#
#DISPLAY_NAME is the displayed name of the component group, used in
#graphical installers to display the component group name. This
#value can be any string.
# ::
#
#DESCRIPTION is an extended description of the component group,
#used in graphical installers to give the user additional
#information about the components within that group. Descriptions
#can span multiple lines using "\n" as the line
#separator. Typically, these descriptions should be no more than a
#few lines long.
# CPACK_COMPONENT_<compName>_DISPLAY_NAME - The name to be displayed for a component.
#
#PARENT_GROUP, if supplied, names the parent group of this group.
#Parent groups are used to establish a hierarchy of groups,
#providing an arbitrary hierarchy of groups.
# #end #variable
#
#EXPANDED indicates that, by default, the group should show up as
#"expanded", so that the user immediately sees all of the
#components within the group. Otherwise, the group will initially
#show up as a single entry.
# ::
#
#BOLD_TITLE indicates that the group title should appear in bold,
#to call the user's attention to the group.
##end
# CPACK_COMPONENT_<compName>_DESCRIPTION - The description of a component.
#
##macro
#cpack_add_install_type - Add a new installation type containing a
#set of predefined component selections to the graphical installer.
# #end #variable
#
# cpack_add_install_type(typename
# [DISPLAY_NAME name])
# ::
#
#The cpack_add_install_type command identifies a set of preselected
#components that represents a common use case for an
#application. For example, a "Developer" install type might include
#an application along with its header and library files, while an
#"End user" install type might just include the application's
#executable. Each component identifies itself with one or more
#install types via the INSTALL_TYPES argument to
#cpack_add_component.
# CPACK_COMPONENT_<compName>_GROUP - The group of a component.
#
#DISPLAY_NAME is the displayed name of the install type, which will
#typically show up in a drop-down box within a graphical
#installer. This value can be any string.
##end
# #end #variable
#
##macro
#cpack_configure_downloads - Configure CPack to download selected
#components on-the-fly as part of the installation process.
# ::
#
# cpack_configure_downloads(site
# [UPLOAD_DIRECTORY dirname]
# [ALL]
# [ADD_REMOVE|NO_ADD_REMOVE])
# CPACK_COMPONENT_<compName>_DEPENDS - The dependencies (list of components)
# on which this component depends.
#
#The cpack_configure_downloads command configures installation-time
#downloads of selected components. For each downloadable component,
#CPack will create an archive containing the contents of that
#component, which should be uploaded to the given site. When the
#user selects that component for installation, the installer will
#download and extract the component in place. This feature is
#useful for creating small installers that only download the
#requested components, saving bandwidth. Additionally, the
#installers are small enough that they will be installed as part of
#the normal installation process, and the "Change" button in
#Windows Add/Remove Programs control panel will allow one to add or
#remove parts of the application after the original
#installation. On Windows, the downloaded-components functionality
#requires the ZipDLL plug-in for NSIS, available at:
# #end #variable
#
# http://nsis.sourceforge.net/ZipDLL_plug-in
# ::
#
#On Mac OS X, installers that download components on-the-fly can
#only be built and installed on system using Mac OS X 10.5 or
#later.
# CPACK_COMPONENT_<compName>_REQUIRED - True is this component is required.
#
#The site argument is a URL where the archives for downloadable
#components will reside, e.g., http://www.cmake.org/files/2.6.1/installer/
#All of the archives produced by CPack should be uploaded to that location.
# #end #macro cpack_add_component - Describes a CPack installation
# component named by the COMPONENT argument to a CMake INSTALL command.
#
#UPLOAD_DIRECTORY is the local directory where CPack will create the
#various archives for each of the components. The contents of this
#directory should be uploaded to a location accessible by the URL given
#in the site argument. If omitted, CPack will use the directory
#CPackUploads inside the CMake binary directory to store the generated
#archives.
# ::
#
#The ALL flag indicates that all components be downloaded. Otherwise, only
#those components explicitly marked as DOWNLOADED or that have a specified
#ARCHIVE_FILE will be downloaded. Additionally, the ALL option implies
#ADD_REMOVE (unless NO_ADD_REMOVE is specified).
# cpack_add_component(compname
# [DISPLAY_NAME name]
# [DESCRIPTION description]
# [HIDDEN | REQUIRED | DISABLED ]
# [GROUP group]
# [DEPENDS comp1 comp2 ... ]
# [INSTALL_TYPES type1 type2 ... ]
# [DOWNLOADED]
# [ARCHIVE_FILE filename])
#
#ADD_REMOVE indicates that CPack should install a copy of the installer
#that can be called from Windows' Add/Remove Programs dialog (via the
#"Modify" button) to change the set of installed components. NO_ADD_REMOVE
#turns off this behavior. This option is ignored on Mac OS X.
##endmacro
#
#
# The cmake_add_component command describes an installation component,
# which the user can opt to install or remove as part of the graphical
# installation process. compname is the name of the component, as
# provided to the COMPONENT argument of one or more CMake INSTALL
# commands.
#
# DISPLAY_NAME is the displayed name of the component, used in graphical
# installers to display the component name. This value can be any
# string.
#
# DESCRIPTION is an extended description of the component, used in
# graphical installers to give the user additional information about the
# component. Descriptions can span multiple lines using "\n" as the
# line separator. Typically, these descriptions should be no more than
# a few lines long.
#
# HIDDEN indicates that this component will be hidden in the graphical
# installer, so that the user cannot directly change whether it is
# installed or not.
#
# REQUIRED indicates that this component is required, and therefore will
# always be installed. It will be visible in the graphical installer,
# but it cannot be unselected. (Typically, required components are
# shown greyed out).
#
# DISABLED indicates that this component should be disabled (unselected)
# by default. The user is free to select this component for
# installation, unless it is also HIDDEN.
#
# DEPENDS lists the components on which this component depends. If this
# component is selected, then each of the components listed must also be
# selected. The dependency information is encoded within the installer
# itself, so that users cannot install inconsistent sets of components.
#
# GROUP names the component group of which this component is a part. If
# not provided, the component will be a standalone component, not part
# of any component group. Component groups are described with the
# cpack_add_component_group command, detailed below.
#
# INSTALL_TYPES lists the installation types of which this component is
# a part. When one of these installations types is selected, this
# component will automatically be selected. Installation types are
# described with the cpack_add_install_type command, detailed below.
#
# DOWNLOADED indicates that this component should be downloaded
# on-the-fly by the installer, rather than packaged in with the
# installer itself. For more information, see the
# cpack_configure_downloads command.
#
# ARCHIVE_FILE provides a name for the archive file created by CPack to
# be used for downloaded components. If not supplied, CPack will create
# a file with some name based on CPACK_PACKAGE_FILE_NAME and the name of
# the component. See cpack_configure_downloads for more information.
# #end
#
# #macro cpack_add_component_group - Describes a group of related CPack
# installation components.
#
# ::
#
# cpack_add_component_group(groupname
# [DISPLAY_NAME name]
# [DESCRIPTION description]
# [PARENT_GROUP parent]
# [EXPANDED]
# [BOLD_TITLE])
#
#
#
# The cpack_add_component_group describes a group of installation
# components, which will be placed together within the listing of
# options. Typically, component groups allow the user to
# select/deselect all of the components within a single group via a
# single group-level option. Use component groups to reduce the
# complexity of installers with many options. groupname is an arbitrary
# name used to identify the group in the GROUP argument of the
# cpack_add_component command, which is used to place a component in a
# group. The name of the group must not conflict with the name of any
# component.
#
# DISPLAY_NAME is the displayed name of the component group, used in
# graphical installers to display the component group name. This value
# can be any string.
#
# DESCRIPTION is an extended description of the component group, used in
# graphical installers to give the user additional information about the
# components within that group. Descriptions can span multiple lines
# using "\n" as the line separator. Typically, these descriptions
# should be no more than a few lines long.
#
# PARENT_GROUP, if supplied, names the parent group of this group.
# Parent groups are used to establish a hierarchy of groups, providing
# an arbitrary hierarchy of groups.
#
# EXPANDED indicates that, by default, the group should show up as
# "expanded", so that the user immediately sees all of the components
# within the group. Otherwise, the group will initially show up as a
# single entry.
#
# BOLD_TITLE indicates that the group title should appear in bold, to
# call the user's attention to the group. #end
#
# #macro cpack_add_install_type - Add a new installation type containing
# a set of predefined component selections to the graphical installer.
#
# ::
#
# cpack_add_install_type(typename
# [DISPLAY_NAME name])
#
#
#
# The cpack_add_install_type command identifies a set of preselected
# components that represents a common use case for an application. For
# example, a "Developer" install type might include an application along
# with its header and library files, while an "End user" install type
# might just include the application's executable. Each component
# identifies itself with one or more install types via the INSTALL_TYPES
# argument to cpack_add_component.
#
# DISPLAY_NAME is the displayed name of the install type, which will
# typically show up in a drop-down box within a graphical installer.
# This value can be any string. #end
#
# #macro cpack_configure_downloads - Configure CPack to download
# selected components on-the-fly as part of the installation process.
#
# ::
#
# cpack_configure_downloads(site
# [UPLOAD_DIRECTORY dirname]
# [ALL]
# [ADD_REMOVE|NO_ADD_REMOVE])
#
#
#
# The cpack_configure_downloads command configures installation-time
# downloads of selected components. For each downloadable component,
# CPack will create an archive containing the contents of that
# component, which should be uploaded to the given site. When the user
# selects that component for installation, the installer will download
# and extract the component in place. This feature is useful for
# creating small installers that only download the requested components,
# saving bandwidth. Additionally, the installers are small enough that
# they will be installed as part of the normal installation process, and
# the "Change" button in Windows Add/Remove Programs control panel will
# allow one to add or remove parts of the application after the original
# installation. On Windows, the downloaded-components functionality
# requires the ZipDLL plug-in for NSIS, available at:
#
# ::
#
# http://nsis.sourceforge.net/ZipDLL_plug-in
#
#
#
# On Mac OS X, installers that download components on-the-fly can only
# be built and installed on system using Mac OS X 10.5 or later.
#
# The site argument is a URL where the archives for downloadable
# components will reside, e.g.,
# http://www.cmake.org/files/2.6.1/installer/ All of the archives
# produced by CPack should be uploaded to that location.
#
# UPLOAD_DIRECTORY is the local directory where CPack will create the
# various archives for each of the components. The contents of this
# directory should be uploaded to a location accessible by the URL given
# in the site argument. If omitted, CPack will use the directory
# CPackUploads inside the CMake binary directory to store the generated
# archives.
#
# The ALL flag indicates that all components be downloaded. Otherwise,
# only those components explicitly marked as DOWNLOADED or that have a
# specified ARCHIVE_FILE will be downloaded. Additionally, the ALL
# option implies ADD_REMOVE (unless NO_ADD_REMOVE is specified).
#
# ADD_REMOVE indicates that CPack should install a copy of the installer
# that can be called from Windows' Add/Remove Programs dialog (via the
# "Modify" button) to change the set of installed components.
# NO_ADD_REMOVE turns off this behavior. This option is ignored on Mac
# OS X. #endmacro
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+31 -19
View File
@@ -1,23 +1,35 @@
##section Variables specific to CPack Cygwin generator
##end
##module
# - Cygwin CPack generator (Cygwin).
# The following variable is specific to installers build on
# and/or for Cygwin:
##end
#.rst:
# CPackCygwin
# -----------
#
##variable
# CPACK_CYGWIN_PATCH_NUMBER - The Cygwin patch number.
# FIXME: This documentation is incomplete.
##end
##variable
# CPACK_CYGWIN_PATCH_FILE - The Cygwin patch file.
# FIXME: This documentation is incomplete.
##end
##variable
# CPACK_CYGWIN_BUILD_SCRIPT - The Cygwin build script.
# FIXME: This documentation is incomplete.
##end
# Cygwin CPack generator (Cygwin).
#
# #section Variables specific to CPack Cygwin generator #end #module The
# following variable is specific to installers build on and/or for
# Cygwin: #end
#
# #variable
#
# ::
#
# CPACK_CYGWIN_PATCH_NUMBER - The Cygwin patch number.
# FIXME: This documentation is incomplete.
#
# #end #variable
#
# ::
#
# CPACK_CYGWIN_PATCH_FILE - The Cygwin patch file.
# FIXME: This documentation is incomplete.
#
# #end #variable
#
# ::
#
# CPACK_CYGWIN_BUILD_SCRIPT - The Cygwin build script.
# FIXME: This documentation is incomplete.
#
# #end
#=============================================================================
# Copyright 2006-2012 Kitware, Inc.
+80 -50
View File
@@ -1,60 +1,90 @@
##section Variables specific to CPack DragNDrop generator
##end
##module
# - DragNDrop CPack generator (Mac OS X).
# The following variables are specific to the DragNDrop installers
# built on Mac OS X:
##end
#.rst:
# CPackDMG
# --------
#
##variable
# CPACK_DMG_VOLUME_NAME - The volume name of the generated disk
# image. Defaults to CPACK_PACKAGE_FILE_NAME.
##end
# DragNDrop CPack generator (Mac OS X).
#
##variable
# CPACK_DMG_FORMAT - The disk image format. Common values are UDRO
# (UDIF read-only), UDZO (UDIF zlib-compressed) or UDBZ (UDIF
# bzip2-compressed). Refer to hdiutil(1) for more information on
# other available formats.
##end
# #section Variables specific to CPack DragNDrop generator #end #module
# The following variables are specific to the DragNDrop installers built
# on Mac OS X: #end
#
##variable
# CPACK_DMG_DS_STORE - Path to a custom DS_Store file. This .DS_Store
# file e.g. can be used to specify the Finder window
# position/geometry and layout (such as hidden toolbars, placement of the
# icons etc.). This file has to be generated by the Finder (either manually or
# through OSA-script) using a normal folder from which the .DS_Store
# file can then be extracted.
##end
# #variable
#
##variable
# CPACK_DMG_BACKGROUND_IMAGE - Path to a background image file. This
# file will be used as the background for the Finder Window when the disk
# image is opened. By default no background image is set. The background
# image is applied after applying the custom .DS_Store file.
##end
# ::
#
##variable
# CPACK_COMMAND_HDIUTIL - Path to the hdiutil(1) command used to
# operate on disk image files on Mac OS X. This variable can be used
# to override the automatically detected command (or specify its
# location if the auto-detection fails to find it.)
##end
# CPACK_DMG_VOLUME_NAME - The volume name of the generated disk
# image. Defaults to CPACK_PACKAGE_FILE_NAME.
#
##variable
# CPACK_COMMAND_SETFILE - Path to the SetFile(1) command used to set
# extended attributes on files and directories on Mac OS X. This
# variable can be used to override the automatically detected
# command (or specify its location if the auto-detection fails to
# find it.)
##end
# #end
#
##variable
# CPACK_COMMAND_REZ - Path to the Rez(1) command used to compile
# resources on Mac OS X. This variable can be used to override the
# automatically detected command (or specify its location if the
# auto-detection fails to find it.)
##end
# #variable
#
# ::
#
# CPACK_DMG_FORMAT - The disk image format. Common values are UDRO
# (UDIF read-only), UDZO (UDIF zlib-compressed) or UDBZ (UDIF
# bzip2-compressed). Refer to hdiutil(1) for more information on
# other available formats.
#
# #end
#
# #variable
#
# ::
#
# CPACK_DMG_DS_STORE - Path to a custom DS_Store file. This .DS_Store
# file e.g. can be used to specify the Finder window
# position/geometry and layout (such as hidden toolbars, placement of the
# icons etc.). This file has to be generated by the Finder (either manually or
# through OSA-script) using a normal folder from which the .DS_Store
# file can then be extracted.
#
# #end
#
# #variable
#
# ::
#
# CPACK_DMG_BACKGROUND_IMAGE - Path to a background image file. This
# file will be used as the background for the Finder Window when the disk
# image is opened. By default no background image is set. The background
# image is applied after applying the custom .DS_Store file.
#
# #end
#
# #variable
#
# ::
#
# CPACK_COMMAND_HDIUTIL - Path to the hdiutil(1) command used to
# operate on disk image files on Mac OS X. This variable can be used
# to override the automatically detected command (or specify its
# location if the auto-detection fails to find it.)
#
# #end
#
# #variable
#
# ::
#
# CPACK_COMMAND_SETFILE - Path to the SetFile(1) command used to set
# extended attributes on files and directories on Mac OS X. This
# variable can be used to override the automatically detected
# command (or specify its location if the auto-detection fails to
# find it.)
#
# #end
#
# #variable
#
# ::
#
# CPACK_COMMAND_REZ - Path to the Rez(1) command used to compile
# resources on Mac OS X. This variable can be used to override the
# automatically detected command (or specify its location if the
# auto-detection fails to find it.)
#
# #end
#=============================================================================
# Copyright 2006-2012 Kitware, Inc.
+208 -161
View File
@@ -1,169 +1,216 @@
##section Variables specific to CPack Debian (DEB) generator
##end
##module
# - The builtin (binary) CPack Deb generator (Unix only)
# CPackDeb may be used to create Deb package using CPack.
#.rst:
# CPackDeb
# --------
#
# The builtin (binary) CPack Deb generator (Unix only)
#
# #section Variables specific to CPack Debian (DEB) generator #end
# #module CPackDeb may be used to create Deb package using CPack.
# CPackDeb is a CPack generator thus it uses the CPACK_XXX variables
# used by CPack : http://www.cmake.org/Wiki/CMake:CPackConfiguration.
# CPackDeb generator should work on any linux host but it will
# produce better deb package when Debian specific tools 'dpkg-xxx'
# are usable on the build system.
# CPackDeb generator should work on any linux host but it will produce
# better deb package when Debian specific tools 'dpkg-xxx' are usable on
# the build system.
#
# CPackDeb has specific features which are controlled by the specifics
# CPACK_DEBIAN_XXX variables.You'll find a detailed usage on the wiki:
#
# ::
#
# http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29
#
# CPackDeb has specific features which are controlled by
# the specifics CPACK_DEBIAN_XXX variables.You'll find a detailed usage on
# the wiki:
# http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29
# However as a handy reminder here comes the list of specific variables:
##end
# #end
#
##variable
# CPACK_DEBIAN_PACKAGE_NAME
# Mandatory : YES
# Default : CPACK_PACKAGE_NAME (lower case)
# The debian package summary
##end
##variable
# CPACK_DEBIAN_PACKAGE_VERSION
# Mandatory : YES
# Default : CPACK_PACKAGE_VERSION
# The debian package version
##end
##variable
# CPACK_DEBIAN_PACKAGE_ARCHITECTURE
# Mandatory : YES
# Default : Output of dpkg --print-architecture (or i386 if dpkg is not found)
# The debian package architecture
##end
##variable
# CPACK_DEBIAN_PACKAGE_DEPENDS
# Mandatory : NO
# Default : -
# May be used to set deb dependencies.
##end
##variable
# CPACK_DEBIAN_PACKAGE_MAINTAINER
# Mandatory : YES
# Default : CPACK_PACKAGE_CONTACT
# The debian package maintainer
##end
##variable
# CPACK_DEBIAN_PACKAGE_DESCRIPTION
# Mandatory : YES
# Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY
# The debian package description
##end
##variable
# CPACK_DEBIAN_PACKAGE_SECTION
# Mandatory : YES
# Default : 'devel'
# The debian package section
##end
##variable
# CPACK_DEBIAN_PACKAGE_PRIORITY
# Mandatory : YES
# Default : 'optional'
# The debian package priority
##end
##variable
# CPACK_DEBIAN_PACKAGE_HOMEPAGE
# Mandatory : NO
# Default : -
# The URL of the web site for this package, preferably (when applicable) the
# site from which the original source can be obtained and any additional
# upstream documentation or information may be found.
# The content of this field is a simple URL without any surrounding
# characters such as <>.
##end
##variable
# CPACK_DEBIAN_PACKAGE_SHLIBDEPS
# Mandatory : NO
# Default : OFF
# May be set to ON in order to use dpkg-shlibdeps to generate
# better package dependency list.
# You may need set CMAKE_INSTALL_RPATH toi appropriate value
# if you use this feature, because if you don't dpkg-shlibdeps
# may fail to find your own shared libs.
# See http://www.cmake.org/Wiki/CMake_RPATH_handling.
##end
##variable
# CPACK_DEBIAN_PACKAGE_DEBUG
# Mandatory : NO
# Default : -
# May be set when invoking cpack in order to trace debug information
# during CPackDeb run.
##end
##variable
# CPACK_DEBIAN_PACKAGE_PREDEPENDS
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# This field is like Depends, except that it also forces dpkg to complete installation of
# the packages named before even starting the installation of the package which declares
# the pre-dependency.
##end
##variable
# CPACK_DEBIAN_PACKAGE_ENHANCES
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# This field is similar to Suggests but works in the opposite direction.
# It is used to declare that a package can enhance the functionality of another package.
##end
##variable
# CPACK_DEBIAN_PACKAGE_BREAKS
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# When one binary package declares that it breaks another, dpkg will refuse to allow the
# package which declares Breaks be installed unless the broken package is deconfigured first,
# and it will refuse to allow the broken package to be reconfigured.
##end
##variable
# CPACK_DEBIAN_PACKAGE_CONFLICTS
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# When one binary package declares a conflict with another using a Conflicts field,
# dpkg will refuse to allow them to be installed on the system at the same time.
##end
##variable
# CPACK_DEBIAN_PACKAGE_PROVIDES
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# A virtual package is one which appears in the Provides control field of another package.
##end
##variable
# CPACK_DEBIAN_PACKAGE_REPLACES
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# Packages can declare in their control file that they should overwrite
# files in certain other packages, or completely replace other packages.
##end
##variable
# CPACK_DEBIAN_PACKAGE_RECOMMENDS
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# Allows packages to declare a strong, but not absolute, dependency on other packages.
##end
##variable
# CPACK_DEBIAN_PACKAGE_SUGGESTS
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# Allows packages to declare a suggested package install grouping.
##end
##variable
# CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
# Mandatory : NO
# Default : -
# This variable allow advanced user to add custom script to the control.tar.gz
# Typical usage is for conffiles, postinst, postrm, prerm.
# Usage: set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
# "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
##end
# #variable CPACK_DEBIAN_PACKAGE_NAME
#
# ::
#
# Mandatory : YES
# Default : CPACK_PACKAGE_NAME (lower case)
# The debian package summary
#
# #end #variable CPACK_DEBIAN_PACKAGE_VERSION
#
# ::
#
# Mandatory : YES
# Default : CPACK_PACKAGE_VERSION
# The debian package version
#
# #end #variable CPACK_DEBIAN_PACKAGE_ARCHITECTURE
#
# ::
#
# Mandatory : YES
# Default : Output of dpkg --print-architecture (or i386 if dpkg is not found)
# The debian package architecture
#
# #end #variable CPACK_DEBIAN_PACKAGE_DEPENDS
#
# ::
#
# Mandatory : NO
# Default : -
# May be used to set deb dependencies.
#
# #end #variable CPACK_DEBIAN_PACKAGE_MAINTAINER
#
# ::
#
# Mandatory : YES
# Default : CPACK_PACKAGE_CONTACT
# The debian package maintainer
#
# #end #variable CPACK_DEBIAN_PACKAGE_DESCRIPTION
#
# ::
#
# Mandatory : YES
# Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY
# The debian package description
#
# #end #variable CPACK_DEBIAN_PACKAGE_SECTION
#
# ::
#
# Mandatory : YES
# Default : 'devel'
# The debian package section
#
# #end #variable CPACK_DEBIAN_PACKAGE_PRIORITY
#
# ::
#
# Mandatory : YES
# Default : 'optional'
# The debian package priority
#
# #end #variable CPACK_DEBIAN_PACKAGE_HOMEPAGE
#
# ::
#
# Mandatory : NO
# Default : -
# The URL of the web site for this package, preferably (when applicable) the
# site from which the original source can be obtained and any additional
# upstream documentation or information may be found.
# The content of this field is a simple URL without any surrounding
# characters such as <>.
#
# #end #variable CPACK_DEBIAN_PACKAGE_SHLIBDEPS
#
# ::
#
# Mandatory : NO
# Default : OFF
# May be set to ON in order to use dpkg-shlibdeps to generate
# better package dependency list.
# You may need set CMAKE_INSTALL_RPATH toi appropriate value
# if you use this feature, because if you don't dpkg-shlibdeps
# may fail to find your own shared libs.
# See http://www.cmake.org/Wiki/CMake_RPATH_handling.
#
# #end #variable CPACK_DEBIAN_PACKAGE_DEBUG
#
# ::
#
# Mandatory : NO
# Default : -
# May be set when invoking cpack in order to trace debug information
# during CPackDeb run.
#
# #end #variable CPACK_DEBIAN_PACKAGE_PREDEPENDS
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# This field is like Depends, except that it also forces dpkg to complete installation of
# the packages named before even starting the installation of the package which declares
# the pre-dependency.
#
# #end #variable CPACK_DEBIAN_PACKAGE_ENHANCES
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# This field is similar to Suggests but works in the opposite direction.
# It is used to declare that a package can enhance the functionality of another package.
#
# #end #variable CPACK_DEBIAN_PACKAGE_BREAKS
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# When one binary package declares that it breaks another, dpkg will refuse to allow the
# package which declares Breaks be installed unless the broken package is deconfigured first,
# and it will refuse to allow the broken package to be reconfigured.
#
# #end #variable CPACK_DEBIAN_PACKAGE_CONFLICTS
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# When one binary package declares a conflict with another using a Conflicts field,
# dpkg will refuse to allow them to be installed on the system at the same time.
#
# #end #variable CPACK_DEBIAN_PACKAGE_PROVIDES
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# A virtual package is one which appears in the Provides control field of another package.
#
# #end #variable CPACK_DEBIAN_PACKAGE_REPLACES
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# Packages can declare in their control file that they should overwrite
# files in certain other packages, or completely replace other packages.
#
# #end #variable CPACK_DEBIAN_PACKAGE_RECOMMENDS
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# Allows packages to declare a strong, but not absolute, dependency on other packages.
#
# #end #variable CPACK_DEBIAN_PACKAGE_SUGGESTS
#
# ::
#
# Mandatory : NO
# Default : -
# see http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
# Allows packages to declare a suggested package install grouping.
#
# #end #variable CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
#
# ::
#
# Mandatory : NO
# Default : -
# This variable allow advanced user to add custom script to the control.tar.gz
# Typical usage is for conffiles, postinst, postrm, prerm.
# Usage: set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
# "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
#
# #end
#=============================================================================
+194 -109
View File
@@ -1,134 +1,219 @@
##section Variables specific to CPack NSIS generator
##end
##module
# - CPack NSIS generator specific options
#.rst:
# CPackNSIS
# ---------
#
# CPack NSIS generator specific options
#
# #section Variables specific to CPack NSIS generator #end #module
#
# The following variables are specific to the graphical installers built
# on Windows using the Nullsoft Installation System.
##end
# on Windows using the Nullsoft Installation System. #end
#
##variable
# CPACK_NSIS_INSTALL_ROOT - The default installation directory presented
# to the end user by the NSIS installer is under this root dir. The full
# directory presented to the end user is:
# ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
##end
# #variable
#
##variable
# CPACK_NSIS_MUI_ICON - An icon filename.
# The name of a *.ico file used as the main icon for the generated
# install program.
##end
# ::
#
##variable
# CPACK_NSIS_MUI_UNIICON - An icon filename.
# The name of a *.ico file used as the main icon for the generated
# uninstall program.
##end
# CPACK_NSIS_INSTALL_ROOT - The default installation directory presented
# to the end user by the NSIS installer is under this root dir. The full
# directory presented to the end user is:
# ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
#
##variable
# CPACK_NSIS_INSTALLER_MUI_ICON_CODE - undocumented.
##end
# #end
#
##variable
# CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS - Extra NSIS commands that
# will be added to the beginning of the install Section, before your
# install tree is available on the target system.
##end
# #variable
#
##variable
# CPACK_NSIS_EXTRA_INSTALL_COMMANDS - Extra NSIS commands that
# will be added to the end of the install Section, after your
# install tree is available on the target system.
##end
# ::
#
##variable
# CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS - Extra NSIS commands that will
# be added to the uninstall Section, before your install tree is
# removed from the target system.
##end
# CPACK_NSIS_MUI_ICON - An icon filename.
# The name of a *.ico file used as the main icon for the generated
# install program.
#
##variable
# CPACK_NSIS_COMPRESSOR - The arguments that will be passed to the
# NSIS SetCompressor command.
##end
# #end
#
##variable
# CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL - Ask about uninstalling
# previous versions first.
# If this is set to "ON", then an installer will look for previous
# installed versions and if one is found, ask the user whether to
# uninstall it before proceeding with the install.
##end
# #variable
#
##variable
# CPACK_NSIS_MODIFY_PATH - Modify PATH toggle.
# If this is set to "ON", then an extra page
# will appear in the installer that will allow the user to choose
# whether the program directory should be added to the system PATH
# variable.
##end
# ::
#
##variable
# CPACK_NSIS_DISPLAY_NAME - The display name string that appears in
# the Windows Add/Remove Program control panel
##end
# CPACK_NSIS_MUI_UNIICON - An icon filename.
# The name of a *.ico file used as the main icon for the generated
# uninstall program.
#
##variable
# CPACK_NSIS_PACKAGE_NAME - The title displayed at the top of the
# installer.
##end
# #end
#
##variable
# CPACK_NSIS_INSTALLED_ICON_NAME - A path to the executable that
# contains the installer icon.
##end
# #variable
#
##variable
# CPACK_NSIS_HELP_LINK - URL to a web site providing assistance in
# installing your application.
##end
# ::
#
##variable
# CPACK_NSIS_URL_INFO_ABOUT - URL to a web site providing more
# information about your application.
##end
# CPACK_NSIS_INSTALLER_MUI_ICON_CODE - undocumented.
#
##variable
# CPACK_NSIS_CONTACT - Contact information for questions and comments
# about the installation process.
##end
# #end
#
##variable
# CPACK_NSIS_CREATE_ICONS_EXTRA - Additional NSIS commands for
# creating start menu shortcuts.
##end
# #variable
#
##variable
# CPACK_NSIS_DELETE_ICONS_EXTRA -Additional NSIS commands to
# uninstall start menu shortcuts.
##end
# ::
#
##variable
# CPACK_NSIS_EXECUTABLES_DIRECTORY - Creating NSIS start menu links
# assumes that they are in 'bin' unless this variable is set.
# For example, you would set this to 'exec' if your executables are
# in an exec directory.
##end
# CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS - Extra NSIS commands that
# will be added to the beginning of the install Section, before your
# install tree is available on the target system.
#
##variable
# CPACK_NSIS_MUI_FINISHPAGE_RUN - Specify an executable to add an option
# to run on the finish page of the NSIS installer.
##end
##variable
# CPACK_NSIS_MENU_LINKS - Specify links in [application] menu.
# This should contain a list of pair "link" "link name". The link
# may be an URL or a path relative to installation prefix.
# Like:
# set(CPACK_NSIS_MENU_LINKS
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html" "CMake Help"
# "http://www.cmake.org" "CMake Web Site")
##end
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_EXTRA_INSTALL_COMMANDS - Extra NSIS commands that
# will be added to the end of the install Section, after your
# install tree is available on the target system.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS - Extra NSIS commands that will
# be added to the uninstall Section, before your install tree is
# removed from the target system.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_COMPRESSOR - The arguments that will be passed to the
# NSIS SetCompressor command.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL - Ask about uninstalling
# previous versions first.
# If this is set to "ON", then an installer will look for previous
# installed versions and if one is found, ask the user whether to
# uninstall it before proceeding with the install.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_MODIFY_PATH - Modify PATH toggle.
# If this is set to "ON", then an extra page
# will appear in the installer that will allow the user to choose
# whether the program directory should be added to the system PATH
# variable.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_DISPLAY_NAME - The display name string that appears in
# the Windows Add/Remove Program control panel
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_PACKAGE_NAME - The title displayed at the top of the
# installer.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_INSTALLED_ICON_NAME - A path to the executable that
# contains the installer icon.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_HELP_LINK - URL to a web site providing assistance in
# installing your application.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_URL_INFO_ABOUT - URL to a web site providing more
# information about your application.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_CONTACT - Contact information for questions and comments
# about the installation process.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_CREATE_ICONS_EXTRA - Additional NSIS commands for
# creating start menu shortcuts.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_DELETE_ICONS_EXTRA -Additional NSIS commands to
# uninstall start menu shortcuts.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_EXECUTABLES_DIRECTORY - Creating NSIS start menu links
# assumes that they are in 'bin' unless this variable is set.
# For example, you would set this to 'exec' if your executables are
# in an exec directory.
#
# #end
#
# #variable
#
# ::
#
# CPACK_NSIS_MUI_FINISHPAGE_RUN - Specify an executable to add an option
# to run on the finish page of the NSIS installer.
#
# #end #variable
#
# ::
#
# CPACK_NSIS_MENU_LINKS - Specify links in [application] menu.
# This should contain a list of pair "link" "link name". The link
# may be an URL or a path relative to installation prefix.
# Like:
# set(CPACK_NSIS_MENU_LINKS
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html" "CMake Help"
# "http://www.cmake.org" "CMake Web Site")
#
# #end
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+27 -21
View File
@@ -1,25 +1,31 @@
##section Variables specific to CPack PackageMaker generator
##end
##module
# - PackageMaker CPack generator (Mac OS X).
# The following variable is specific to installers built on Mac OS X
# using PackageMaker:
##end
#.rst:
# CPackPackageMaker
# -----------------
#
##variable
# CPACK_OSX_PACKAGE_VERSION - The version of Mac OS X that the
# resulting PackageMaker archive should be compatible with. Different
# versions of Mac OS X support different
# features. For example, CPack can only build component-based
# installers for Mac OS X 10.4 or newer, and can only build
# installers that download component son-the-fly for Mac OS X 10.5
# or newer. If left blank, this value will be set to the minimum
# version of Mac OS X that supports the requested features. Set this
# variable to some value (e.g., 10.4) only if you want to guarantee
# that your installer will work on that version of Mac OS X, and
# don't mind missing extra features available in the installer
# shipping with later versions of Mac OS X.
##end
# PackageMaker CPack generator (Mac OS X).
#
# #section Variables specific to CPack PackageMaker generator #end
# #module The following variable is specific to installers built on Mac
# OS X using PackageMaker: #end
#
# #variable
#
# ::
#
# CPACK_OSX_PACKAGE_VERSION - The version of Mac OS X that the
# resulting PackageMaker archive should be compatible with. Different
# versions of Mac OS X support different
# features. For example, CPack can only build component-based
# installers for Mac OS X 10.4 or newer, and can only build
# installers that download component son-the-fly for Mac OS X 10.5
# or newer. If left blank, this value will be set to the minimum
# version of Mac OS X that supports the requested features. Set this
# variable to some value (e.g., 10.4) only if you want to guarantee
# that your installer will work on that version of Mac OS X, and
# don't mind missing extra features available in the installer
# shipping with later versions of Mac OS X.
#
# #end
#=============================================================================
# Copyright 2006-2012 Kitware, Inc.
+331 -242
View File
@@ -1,248 +1,337 @@
##section Variables specific to CPack RPM generator
##end
##module
# - The builtin (binary) CPack RPM generator (Unix only)
# CPackRPM may be used to create RPM package using CPack.
# CPackRPM is a CPack generator thus it uses the CPACK_XXX variables
# used by CPack : http://www.cmake.org/Wiki/CMake:CPackConfiguration
#.rst:
# CPackRPM
# --------
#
# However CPackRPM has specific features which are controlled by
# the specifics CPACK_RPM_XXX variables. CPackRPM is a component aware
# The builtin (binary) CPack RPM generator (Unix only)
#
# #section Variables specific to CPack RPM generator #end #module
# CPackRPM may be used to create RPM package using CPack. CPackRPM is a
# CPack generator thus it uses the CPACK_XXX variables used by CPack :
# http://www.cmake.org/Wiki/CMake:CPackConfiguration
#
# However CPackRPM has specific features which are controlled by the
# specifics CPACK_RPM_XXX variables. CPackRPM is a component aware
# generator so when CPACK_RPM_COMPONENT_INSTALL is ON some more
# CPACK_RPM_<ComponentName>_XXXX variables may be used in order
# to have component specific values. Note however that <componentName>
# refers to the **grouping name**. This may be either a component name
# or a component GROUP name.
# Usually those vars correspond to RPM spec file entities, one may find
# information about spec files here http://www.rpm.org/wiki/Docs.
# You'll find a detailed usage of CPackRPM on the wiki:
# http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
# However as a handy reminder here comes the list of specific variables:
##end
# CPACK_RPM_<ComponentName>_XXXX variables may be used in order to have
# component specific values. Note however that <componentName> refers
# to the **grouping name**. This may be either a component name or a
# component GROUP name. Usually those vars correspond to RPM spec file
# entities, one may find information about spec files here
# http://www.rpm.org/wiki/Docs. You'll find a detailed usage of
# CPackRPM on the wiki:
#
##variable
# CPACK_RPM_PACKAGE_SUMMARY - The RPM package summary.
# Mandatory : YES
# Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY
##end
##variable
# CPACK_RPM_PACKAGE_NAME - The RPM package name.
# Mandatory : YES
# Default : CPACK_PACKAGE_NAME
##end
##variable
# CPACK_RPM_PACKAGE_VERSION - The RPM package version.
# Mandatory : YES
# Default : CPACK_PACKAGE_VERSION
##end
##variable
# CPACK_RPM_PACKAGE_ARCHITECTURE - The RPM package architecture.
# Mandatory : NO
# Default : -
# This may be set to "noarch" if you
# know you are building a noarch package.
##end
##variable
# CPACK_RPM_PACKAGE_RELEASE - The RPM package release.
# Mandatory : YES
# Default : 1
# This is the numbering of the RPM package
# itself, i.e. the version of the packaging and not the version of the
# content (see CPACK_RPM_PACKAGE_VERSION). One may change the default
# value if the previous packaging was buggy and/or you want to put here
# a fancy Linux distro specific numbering.
##end
##variable
# CPACK_RPM_PACKAGE_LICENSE - The RPM package license policy.
# Mandatory : YES
# Default : "unknown"
##end
##variable
# CPACK_RPM_PACKAGE_GROUP - The RPM package group.
# Mandatory : YES
# Default : "unknown"
##end
##variable
# CPACK_RPM_PACKAGE_VENDOR - The RPM package vendor.
# Mandatory : YES
# Default : CPACK_PACKAGE_VENDOR if set or "unknown"
##end
##variable
# CPACK_RPM_PACKAGE_URL - The projects URL.
# Mandatory : NO
# Default : -
##end
##variable
# CPACK_RPM_PACKAGE_DESCRIPTION - RPM package description.
# Mandatory : YES
# Default : CPACK_PACKAGE_DESCRIPTION_FILE if set or "no package description available"
##end
##variable
# CPACK_RPM_COMPRESSION_TYPE - RPM compression type.
# Mandatory : NO
# Default : -
# May be used to override RPM compression type to be used
# to build the RPM. For example some Linux distribution now default
# to lzma or xz compression whereas older cannot use such RPM.
# Using this one can enforce compression type to be used.
# Possible value are: lzma, xz, bzip2 and gzip.
##end
##variable
# CPACK_RPM_PACKAGE_REQUIRES - RPM spec requires field.
# Mandatory : NO
# Default : -
# May be used to set RPM dependencies (requires).
# Note that you must enclose the complete requires string between quotes,
# for example:
# set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
# The required package list of an RPM file could be printed with
# rpm -qp --requires file.rpm
##end
##variable
# CPACK_RPM_PACKAGE_SUGGESTS - RPM spec suggest field.
# Mandatory : NO
# Default : -
# May be used to set weak RPM dependencies (suggests).
# Note that you must enclose the complete requires string between quotes.
##end
##variable
# CPACK_RPM_PACKAGE_PROVIDES - RPM spec provides field.
# Mandatory : NO
# Default : -
# May be used to set RPM dependencies (provides).
# The provided package list of an RPM file could be printed with
# rpm -qp --provides file.rpm
##end
##variable
# CPACK_RPM_PACKAGE_OBSOLETES - RPM spec obsoletes field.
# Mandatory : NO
# Default : -
# May be used to set RPM packages that are obsoleted by this one.
##end
##variable
# CPACK_RPM_PACKAGE_RELOCATABLE - build a relocatable RPM.
# Mandatory : NO
# Default : CPACK_PACKAGE_RELOCATABLE
# If this variable is set to TRUE or ON CPackRPM will try
# to build a relocatable RPM package. A relocatable RPM may
# be installed using rpm --prefix or --relocate in order to
# install it at an alternate place see rpm(8).
# Note that currently this may fail if CPACK_SET_DESTDIR is set to ON.
# If CPACK_SET_DESTDIR is set then you will get a warning message
# but if there is file installed with absolute path you'll get
# unexpected behavior.
##end
##variable
# CPACK_RPM_SPEC_INSTALL_POST - [deprecated].
# Mandatory : NO
# Default : -
# This way of specifying post-install script is deprecated use
# CPACK_RPM_POST_INSTALL_SCRIPT_FILE
# May be used to set an RPM post-install command inside the spec file.
# For example setting it to "/bin/true" may be used to prevent
# rpmbuild to strip binaries.
##end
##variable
# CPACK_RPM_SPEC_MORE_DEFINE - RPM extended spec definitions lines.
# Mandatory : NO
# Default : -
# May be used to add any %define lines to the generated spec file.
##end
##variable
# CPACK_RPM_PACKAGE_DEBUG - Toggle CPackRPM debug output.
# Mandatory : NO
# Default : -
# May be set when invoking cpack in order to trace debug information
# during CPack RPM run. For example you may launch CPack like this
# cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
##end
##variable
# CPACK_RPM_USER_BINARY_SPECFILE - A user provided spec file.
# Mandatory : NO
# Default : -
# May be set by the user in order to specify a USER binary spec file
# to be used by CPackRPM instead of generating the file.
# The specified file will be processed by configure_file( @ONLY).
# One can provide a component specific file by setting
# CPACK_RPM_<componentName>_USER_BINARY_SPECFILE.
##end
##variable
# CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE - Spec file template.
# Mandatory : NO
# Default : -
# If set CPack will generate a template for USER specified binary
# spec file and stop with an error. For example launch CPack like this
# cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
# The user may then use this file in order to hand-craft is own
# binary spec file which may be used with CPACK_RPM_USER_BINARY_SPECFILE.
##end
##variable
# CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
# CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
# Mandatory : NO
# Default : -
# May be used to embed a pre (un)installation script in the spec file.
# The refered script file(s) will be read and directly
# put after the %pre or %preun section
# If CPACK_RPM_COMPONENT_INSTALL is set to ON the (un)install script for
# each component can be overridden with
# CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE and
# CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE
# One may verify which scriptlet has been included with
# rpm -qp --scripts package.rpm
##end
##variable
# CPACK_RPM_POST_INSTALL_SCRIPT_FILE
# CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
# Mandatory : NO
# Default : -
# May be used to embed a post (un)installation script in the spec file.
# The refered script file(s) will be read and directly
# put after the %post or %postun section
# If CPACK_RPM_COMPONENT_INSTALL is set to ON the (un)install script for
# each component can be overridden with
# CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE and
# CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE
# One may verify which scriptlet has been included with
# rpm -qp --scripts package.rpm
##end
##variable
# CPACK_RPM_USER_FILELIST
# CPACK_RPM_<COMPONENT>_USER_FILELIST
# Mandatory : NO
# Default : -
# May be used to explicitly specify %(<directive>) file line
# in the spec file. Like %config(noreplace) or any other directive
# that be found in the %files section. Since CPackRPM is generating
# the list of files (and directories) the user specified files of
# the CPACK_RPM_<COMPONENT>_USER_FILELIST list will be removed from the generated list.
##end
##variable
# CPACK_RPM_CHANGELOG_FILE - RPM changelog file.
# Mandatory : NO
# Default : -
# May be used to embed a changelog in the spec file.
# The refered file will be read and directly put after the %changelog
# section.
##end
##variable
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST - list of path to be excluded.
# Mandatory : NO
# Default : /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include
# May be used to exclude path (directories or files) from the auto-generated
# list of paths discovered by CPack RPM. The defaut value contains a reasonable
# set of values if the variable is not defined by the user. If the variable
# is defined by the user then CPackRPM will NOT any of the default path.
# If you want to add some path to the default list then you can use
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION variable.
##end
##variable
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION - additional list of path to be excluded.
# Mandatory : NO
# Default : -
# May be used to add more exclude path (directories or files) from the initial
# default list of excluded paths. See CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST.
##end
# ::
#
# http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
#
# However as a handy reminder here comes the list of specific variables:
# #end
#
# #variable
#
# ::
#
# CPACK_RPM_PACKAGE_SUMMARY - The RPM package summary.
# Mandatory : YES
# Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_NAME - The RPM package name.
# Mandatory : YES
# Default : CPACK_PACKAGE_NAME
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_VERSION - The RPM package version.
# Mandatory : YES
# Default : CPACK_PACKAGE_VERSION
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_ARCHITECTURE - The RPM package architecture.
# Mandatory : NO
# Default : -
# This may be set to "noarch" if you
# know you are building a noarch package.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_RELEASE - The RPM package release.
# Mandatory : YES
# Default : 1
# This is the numbering of the RPM package
# itself, i.e. the version of the packaging and not the version of the
# content (see CPACK_RPM_PACKAGE_VERSION). One may change the default
# value if the previous packaging was buggy and/or you want to put here
# a fancy Linux distro specific numbering.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_LICENSE - The RPM package license policy.
# Mandatory : YES
# Default : "unknown"
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_GROUP - The RPM package group.
# Mandatory : YES
# Default : "unknown"
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_VENDOR - The RPM package vendor.
# Mandatory : YES
# Default : CPACK_PACKAGE_VENDOR if set or "unknown"
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_URL - The projects URL.
# Mandatory : NO
# Default : -
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_DESCRIPTION - RPM package description.
# Mandatory : YES
# Default : CPACK_PACKAGE_DESCRIPTION_FILE if set or "no package description available"
#
# #end #variable
#
# ::
#
# CPACK_RPM_COMPRESSION_TYPE - RPM compression type.
# Mandatory : NO
# Default : -
# May be used to override RPM compression type to be used
# to build the RPM. For example some Linux distribution now default
# to lzma or xz compression whereas older cannot use such RPM.
# Using this one can enforce compression type to be used.
# Possible value are: lzma, xz, bzip2 and gzip.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_REQUIRES - RPM spec requires field.
# Mandatory : NO
# Default : -
# May be used to set RPM dependencies (requires).
# Note that you must enclose the complete requires string between quotes,
# for example:
# set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
# The required package list of an RPM file could be printed with
# rpm -qp --requires file.rpm
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_SUGGESTS - RPM spec suggest field.
# Mandatory : NO
# Default : -
# May be used to set weak RPM dependencies (suggests).
# Note that you must enclose the complete requires string between quotes.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_PROVIDES - RPM spec provides field.
# Mandatory : NO
# Default : -
# May be used to set RPM dependencies (provides).
# The provided package list of an RPM file could be printed with
# rpm -qp --provides file.rpm
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_OBSOLETES - RPM spec obsoletes field.
# Mandatory : NO
# Default : -
# May be used to set RPM packages that are obsoleted by this one.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_RELOCATABLE - build a relocatable RPM.
# Mandatory : NO
# Default : CPACK_PACKAGE_RELOCATABLE
# If this variable is set to TRUE or ON CPackRPM will try
# to build a relocatable RPM package. A relocatable RPM may
# be installed using rpm --prefix or --relocate in order to
# install it at an alternate place see rpm(8).
# Note that currently this may fail if CPACK_SET_DESTDIR is set to ON.
# If CPACK_SET_DESTDIR is set then you will get a warning message
# but if there is file installed with absolute path you'll get
# unexpected behavior.
#
# #end #variable
#
# ::
#
# CPACK_RPM_SPEC_INSTALL_POST - [deprecated].
# Mandatory : NO
# Default : -
# This way of specifying post-install script is deprecated use
# CPACK_RPM_POST_INSTALL_SCRIPT_FILE
# May be used to set an RPM post-install command inside the spec file.
# For example setting it to "/bin/true" may be used to prevent
# rpmbuild to strip binaries.
#
# #end #variable
#
# ::
#
# CPACK_RPM_SPEC_MORE_DEFINE - RPM extended spec definitions lines.
# Mandatory : NO
# Default : -
# May be used to add any %define lines to the generated spec file.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PACKAGE_DEBUG - Toggle CPackRPM debug output.
# Mandatory : NO
# Default : -
# May be set when invoking cpack in order to trace debug information
# during CPack RPM run. For example you may launch CPack like this
# cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
#
# #end #variable
#
# ::
#
# CPACK_RPM_USER_BINARY_SPECFILE - A user provided spec file.
# Mandatory : NO
# Default : -
# May be set by the user in order to specify a USER binary spec file
# to be used by CPackRPM instead of generating the file.
# The specified file will be processed by configure_file( @ONLY).
# One can provide a component specific file by setting
# CPACK_RPM_<componentName>_USER_BINARY_SPECFILE.
#
# #end #variable
#
# ::
#
# CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE - Spec file template.
# Mandatory : NO
# Default : -
# If set CPack will generate a template for USER specified binary
# spec file and stop with an error. For example launch CPack like this
# cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
# The user may then use this file in order to hand-craft is own
# binary spec file which may be used with CPACK_RPM_USER_BINARY_SPECFILE.
#
# #end #variable
#
# ::
#
# CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
# CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
# Mandatory : NO
# Default : -
# May be used to embed a pre (un)installation script in the spec file.
# The refered script file(s) will be read and directly
# put after the %pre or %preun section
# If CPACK_RPM_COMPONENT_INSTALL is set to ON the (un)install script for
# each component can be overridden with
# CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE and
# CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE
# One may verify which scriptlet has been included with
# rpm -qp --scripts package.rpm
#
# #end #variable
#
# ::
#
# CPACK_RPM_POST_INSTALL_SCRIPT_FILE
# CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
# Mandatory : NO
# Default : -
# May be used to embed a post (un)installation script in the spec file.
# The refered script file(s) will be read and directly
# put after the %post or %postun section
# If CPACK_RPM_COMPONENT_INSTALL is set to ON the (un)install script for
# each component can be overridden with
# CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE and
# CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE
# One may verify which scriptlet has been included with
# rpm -qp --scripts package.rpm
#
# #end #variable
#
# ::
#
# CPACK_RPM_USER_FILELIST
# CPACK_RPM_<COMPONENT>_USER_FILELIST
# Mandatory : NO
# Default : -
# May be used to explicitly specify %(<directive>) file line
# in the spec file. Like %config(noreplace) or any other directive
# that be found in the %files section. Since CPackRPM is generating
# the list of files (and directories) the user specified files of
# the CPACK_RPM_<COMPONENT>_USER_FILELIST list will be removed from the generated list.
#
# #end #variable
#
# ::
#
# CPACK_RPM_CHANGELOG_FILE - RPM changelog file.
# Mandatory : NO
# Default : -
# May be used to embed a changelog in the spec file.
# The refered file will be read and directly put after the %changelog
# section.
#
# #end #variable
#
# ::
#
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST - list of path to be excluded.
# Mandatory : NO
# Default : /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include
# May be used to exclude path (directories or files) from the auto-generated
# list of paths discovered by CPack RPM. The defaut value contains a reasonable
# set of values if the variable is not defined by the user. If the variable
# is defined by the user then CPackRPM will NOT any of the default path.
# If you want to add some path to the default list then you can use
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION variable.
#
# #end #variable
#
# ::
#
# CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION - additional list of path to be excluded.
# Mandatory : NO
# Default : -
# May be used to add more exclude path (directories or files) from the initial
# default list of excluded paths. See CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST.
#
# #end
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+86 -69
View File
@@ -1,121 +1,138 @@
##section Variables specific to CPack WiX generator
##end
##module
# - CPack WiX generator specific options
#.rst:
# CPackWIX
# --------
#
# CPack WiX generator specific options
#
# #section Variables specific to CPack WiX generator #end #module
#
# The following variables are specific to the installers built on
# Windows using WiX. #end #variable
#
# ::
#
# CPACK_WIX_UPGRADE_GUID - Upgrade GUID (Product/@UpgradeCode)
#
#
# The following variables are specific to the installers built
# on Windows using WiX.
##end
##variable
# CPACK_WIX_UPGRADE_GUID - Upgrade GUID (Product/@UpgradeCode)
#
# Will be automatically generated unless explicitly provided.
#
# It should be explicitly set to a constant generated
# gloabally unique identifier (GUID) to allow your installers
# to replace existing installations that use the same GUID.
# It should be explicitly set to a constant generated gloabally unique
# identifier (GUID) to allow your installers to replace existing
# installations that use the same GUID.
#
# You may for example explicitly set this variable in
# your CMakeLists.txt to the value that has been generated per default.
# You should not use GUIDs that you did not generate yourself or which may
# You may for example explicitly set this variable in your
# CMakeLists.txt to the value that has been generated per default. You
# should not use GUIDs that you did not generate yourself or which may
# belong to other projects.
#
# A GUID shall have the following fixed length syntax:
# XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
# (each X represents an uppercase hexadecimal digit)
##end
##variable
# CPACK_WIX_PRODUCT_GUID - Product GUID (Product/@Id)
#
# ::
#
# (each X represents an uppercase hexadecimal digit)
#
# #end #variable
#
# ::
#
# CPACK_WIX_PRODUCT_GUID - Product GUID (Product/@Id)
#
#
#
# Will be automatically generated unless explicitly provided.
#
# If explicitly provided this will set the Product Id of your installer.
#
# The installer will abort if it detects a pre-existing installation that uses
# the same GUID.
# The installer will abort if it detects a pre-existing installation
# that uses the same GUID.
#
# The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
##end
##variable
# CPACK_WIX_LICENSE_RTF - RTF License File
# #end #variable
#
# If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension
# it is used as-is.
# ::
#
# If CPACK_RESOURCE_FILE_LICENSE has an .txt extension
# it is implicitly converted to RTF by the WiX Generator.
# CPACK_WIX_LICENSE_RTF - RTF License File
#
# With CPACK_WIX_LICENSE_RTF you can override the license file used
# by the WiX Generator in case CPACK_RESOURCE_FILE_LICENSE
# is in an unsupported format or the .txt -> .rtf
# conversion does not work as expected.
#
##end
#
##variable
# CPACK_WIX_PRODUCT_ICON - The Icon shown next to the program name in Add/Remove programs.
# If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as-is.
#
# If CPACK_RESOURCE_FILE_LICENSE has an .txt extension it is implicitly
# converted to RTF by the WiX Generator.
#
# With CPACK_WIX_LICENSE_RTF you can override the license file used by
# the WiX Generator in case CPACK_RESOURCE_FILE_LICENSE is in an
# unsupported format or the .txt -> .rtf conversion does not work as
# expected.
#
# #end
#
# #variable CPACK_WIX_PRODUCT_ICON - The Icon shown next to the program
# name in Add/Remove programs.
#
# If set, this icon is used in place of the default icon.
#
##end
# #end
#
##variable
# CPACK_WIX_UI_BANNER - The bitmap will appear at the top of all installer pages other than the welcome and completion dialogs.
# #variable CPACK_WIX_UI_BANNER - The bitmap will appear at the top of
# all installer pages other than the welcome and completion dialogs.
#
# If set, this image will replace the default banner image.
#
# This image must be 493 by 58 pixels.
#
##end
# #end
#
##variable
# CPACK_WIX_UI_DIALOG - Background bitmap used on the welcome and completion dialogs.
# #variable CPACK_WIX_UI_DIALOG - Background bitmap used on the welcome
# and completion dialogs.
#
# If this variable is set, the installer will replace the default dialog image.
# If this variable is set, the installer will replace the default dialog
# image.
#
# This image must be 493 by 312 pixels.
#
##end
# #end
#
##variable
# CPACK_WIX_PROGRAM_MENU_FOLDER - Start menu folder name for launcher.
# #variable CPACK_WIX_PROGRAM_MENU_FOLDER - Start menu folder name for
# launcher.
#
# If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
# If this variable is not set, it will be initialized with
# CPACK_PACKAGE_NAME
#
##end
##variable
# CPACK_WIX_CULTURES - Language(s) of the installer
# #end #variable CPACK_WIX_CULTURES - Language(s) of the installer
#
# Languages are compiled into the WixUI extension library. To use them,
# Languages are compiled into the WixUI extension library. To use them,
# simply provide the name of the culture. If you specify more than one
# culture identifier in a comma or semicolon delimited list, the first one
# that is found will be used. You can find a list of supported languages at:
# culture identifier in a comma or semicolon delimited list, the first
# one that is found will be used. You can find a list of supported
# languages at:
# http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
#
##end
##variable
# CPACK_WIX_TEMPLATE - Template file for WiX generation
# #end #variable CPACK_WIX_TEMPLATE - Template file for WiX generation
#
# If this variable is set, the specified template will be used to generate the WiX wxs file.
# This should be used if further customization of the output is required.
# If this variable is set, the specified template will be used to
# generate the WiX wxs file. This should be used if further
# customization of the output is required.
#
# If this variable is not set, the default MSI template included with CMake will be used.
# If this variable is not set, the default MSI template included with
# CMake will be used.
#
##end
##variable
# CPACK_WIX_EXTRA_SOURCES - Extra WiX source files
# #end #variable CPACK_WIX_EXTRA_SOURCES - Extra WiX source files
#
# This variable provides an optional list of extra WiX source files (.wxs)
# that should be compiled and linked. The full path to source files is required.
# This variable provides an optional list of extra WiX source files
# (.wxs) that should be compiled and linked. The full path to source
# files is required.
#
##end
##variable
# CPACK_WIX_EXTRA_OBJECTS - Extra WiX object files or libraries
# #end #variable CPACK_WIX_EXTRA_OBJECTS - Extra WiX object files or
# libraries
#
# This variable provides an optional list of extra WiX object (.wixobj) and/or
# WiX library (.wixlib) files. The full path to objects and libraries is required.
# This variable provides an optional list of extra WiX object (.wixobj)
# and/or WiX library (.wixlib) files. The full path to objects and
# libraries is required.
#
##end
# #end
#=============================================================================
# Copyright 2012 Kitware, Inc.
+54 -35
View File
@@ -1,49 +1,68 @@
# - Configure a project for testing with CTest/CDash
#.rst:
# CTest
# -----
#
# Configure a project for testing with CTest/CDash
#
# Include this module in the top CMakeLists.txt file of a project to
# enable testing with CTest and dashboard submissions to CDash:
# project(MyProject)
# ...
# include(CTest)
#
# ::
#
# project(MyProject)
# ...
# include(CTest)
#
# The module automatically creates a BUILD_TESTING option that selects
# whether to enable testing support (ON by default). After including
# the module, use code like
# if(BUILD_TESTING)
# # ... CMake code to create tests ...
# endif()
#
# ::
#
# if(BUILD_TESTING)
# # ... CMake code to create tests ...
# endif()
#
# to creating tests when testing is enabled.
#
# To enable submissions to a CDash server, create a CTestConfig.cmake
# file at the top of the project with content such as
# set(CTEST_PROJECT_NAME "MyProject")
# set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
# set(CTEST_DROP_METHOD "http")
# set(CTEST_DROP_SITE "my.cdash.org")
# set(CTEST_DROP_LOCATION "/submit.php?project=MyProject")
# set(CTEST_DROP_SITE_CDASH TRUE)
# (the CDash server can provide the file to a project administrator
# who configures 'MyProject').
# Settings in the config file are shared by both this CTest module and
# the CTest command-line tool's dashboard script mode (ctest -S).
#
# ::
#
# set(CTEST_PROJECT_NAME "MyProject")
# set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
# set(CTEST_DROP_METHOD "http")
# set(CTEST_DROP_SITE "my.cdash.org")
# set(CTEST_DROP_LOCATION "/submit.php?project=MyProject")
# set(CTEST_DROP_SITE_CDASH TRUE)
#
# (the CDash server can provide the file to a project administrator who
# configures 'MyProject'). Settings in the config file are shared by
# both this CTest module and the CTest command-line tool's dashboard
# script mode (ctest -S).
#
# While building a project for submission to CDash, CTest scans the
# build output for errors and warnings and reports them with
# surrounding context from the build log. This generic approach works
# for all build tools, but does not give details about the command
# invocation that produced a given problem. One may get more detailed
# reports by adding
# set(CTEST_USE_LAUNCHERS 1)
# to the CTestConfig.cmake file. When this option is enabled, the
# CTest module tells CMake's Makefile generators to invoke every
# command in the generated build system through a CTest launcher
# program. (Currently the CTEST_USE_LAUNCHERS option is ignored on
# non-Makefile generators.) During a manual build each launcher
# transparently runs the command it wraps. During a CTest-driven
# build for submission to CDash each launcher reports detailed
# information when its command fails or warns.
# (Setting CTEST_USE_LAUNCHERS in CTestConfig.cmake is convenient, but
# also adds the launcher overhead even for manual builds. One may
# instead set it in a CTest dashboard script and add it to the CMake
# cache for the build tree.)
# build output for errors and warnings and reports them with surrounding
# context from the build log. This generic approach works for all build
# tools, but does not give details about the command invocation that
# produced a given problem. One may get more detailed reports by adding
#
# ::
#
# set(CTEST_USE_LAUNCHERS 1)
#
# to the CTestConfig.cmake file. When this option is enabled, the CTest
# module tells CMake's Makefile generators to invoke every command in
# the generated build system through a CTest launcher program.
# (Currently the CTEST_USE_LAUNCHERS option is ignored on non-Makefile
# generators.) During a manual build each launcher transparently runs
# the command it wraps. During a CTest-driven build for submission to
# CDash each launcher reports detailed information when its command
# fails or warns. (Setting CTEST_USE_LAUNCHERS in CTestConfig.cmake is
# convenient, but also adds the launcher overhead even for manual
# builds. One may instead set it in a CTest dashboard script and add it
# to the CMake cache for the build tree.)
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+6
View File
@@ -1,3 +1,9 @@
#.rst:
# CTestScriptMode
# ---------------
#
#
#
# This file is read by ctest in script mode (-S)
#=============================================================================
+19 -13
View File
@@ -1,21 +1,27 @@
# - Set the RULE_LAUNCH_* global properties when CTEST_USE_LAUNCHERS is on.
#.rst:
# CTestUseLaunchers
# -----------------
#
# Set the RULE_LAUNCH_* global properties when CTEST_USE_LAUNCHERS is on.
#
# CTestUseLaunchers is automatically included when you include(CTest).
# However, it is split out into its own module file so projects
# can use the CTEST_USE_LAUNCHERS functionality independently.
# However, it is split out into its own module file so projects can use
# the CTEST_USE_LAUNCHERS functionality independently.
#
# To use launchers, set CTEST_USE_LAUNCHERS to ON in a ctest -S
# dashboard script, and then also set it in the cache of the configured
# project. Both cmake and ctest need to know the value of it for the launchers
# to work properly. CMake needs to know in order to generate proper build
# rules, and ctest, in order to produce the proper error and warning
# analysis.
# project. Both cmake and ctest need to know the value of it for the
# launchers to work properly. CMake needs to know in order to generate
# proper build rules, and ctest, in order to produce the proper error
# and warning analysis.
#
# For convenience, you may set the ENV variable CTEST_USE_LAUNCHERS_DEFAULT
# in your ctest -S script, too. Then, as long as your CMakeLists uses
# include(CTest) or include(CTestUseLaunchers), it will use the value of the
# ENV variable to initialize a CTEST_USE_LAUNCHERS cache variable. This cache
# variable initialization only occurs if CTEST_USE_LAUNCHERS is not already
# defined.
# For convenience, you may set the ENV variable
# CTEST_USE_LAUNCHERS_DEFAULT in your ctest -S script, too. Then, as
# long as your CMakeLists uses include(CTest) or
# include(CTestUseLaunchers), it will use the value of the ENV variable
# to initialize a CTEST_USE_LAUNCHERS cache variable. This cache
# variable initialization only occurs if CTEST_USE_LAUNCHERS is not
# already defined.
#=============================================================================
# Copyright 2008-2012 Kitware, Inc.
+18 -10
View File
@@ -1,14 +1,22 @@
# - Check whether the C compiler supports a given flag.
#.rst:
# CheckCCompilerFlag
# ------------------
#
# Check whether the C compiler supports a given flag.
#
# CHECK_C_COMPILER_FLAG(<flag> <var>)
# <flag> - the compiler flag
# <var> - variable to store the result
# This internally calls the check_c_source_compiles macro and
# sets CMAKE_REQUIRED_DEFINITIONS to <flag>.
# See help for CheckCSourceCompiles for a listing of variables
# that can otherwise modify the build.
# The result only tells that the compiler does not give an error message when
# it encounters the flag. If the flag has any effect or even a specific one is
# beyond the scope of this module.
#
# ::
#
# <flag> - the compiler flag
# <var> - variable to store the result
#
# This internally calls the check_c_source_compiles macro and sets
# CMAKE_REQUIRED_DEFINITIONS to <flag>. See help for
# CheckCSourceCompiles for a listing of variables that can otherwise
# modify the build. The result only tells that the compiler does not
# give an error message when it encounters the flag. If the flag has
# any effect or even a specific one is beyond the scope of this module.
#=============================================================================
# Copyright 2006-2011 Kitware, Inc.
+22 -11
View File
@@ -1,15 +1,26 @@
# - Check if given C source compiles and links into an executable
# CHECK_C_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
# <code> - source code to try to compile, must define 'main'
# <var> - variable to store whether the source code compiled
# <fail-regex> - fail if test output matches this regex
# The following variables may be set before calling this macro to
# modify the way the check is run:
#.rst:
# CheckCSourceCompiles
# --------------------
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# Check if given C source compiles and links into an executable
#
# CHECK_C_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
#
# ::
#
# <code> - source code to try to compile, must define 'main'
# <var> - variable to store whether the source code compiled
# <fail-regex> - fail if test output matches this regex
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+22 -11
View File
@@ -1,15 +1,26 @@
# - Check if the given C source code compiles and runs.
# CHECK_C_SOURCE_RUNS(<code> <var>)
# <code> - source code to try to compile
# <var> - variable to store the result
# (1 for success, empty for failure)
# The following variables may be set before calling this macro to
# modify the way the check is run:
#.rst:
# CheckCSourceRuns
# ----------------
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# Check if the given C source code compiles and runs.
#
# CHECK_C_SOURCE_RUNS(<code> <var>)
#
# ::
#
# <code> - source code to try to compile
# <var> - variable to store the result
# (1 for success, empty for failure)
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+18 -10
View File
@@ -1,14 +1,22 @@
# - Check whether the CXX compiler supports a given flag.
#.rst:
# CheckCXXCompilerFlag
# --------------------
#
# Check whether the CXX compiler supports a given flag.
#
# CHECK_CXX_COMPILER_FLAG(<flag> <var>)
# <flag> - the compiler flag
# <var> - variable to store the result
# This internally calls the check_cxx_source_compiles macro and
# sets CMAKE_REQUIRED_DEFINITIONS to <flag>.
# See help for CheckCXXSourceCompiles for a listing of variables
# that can otherwise modify the build.
# The result only tells that the compiler does not give an error message when
# it encounters the flag. If the flag has any effect or even a specific one is
# beyond the scope of this module.
#
# ::
#
# <flag> - the compiler flag
# <var> - variable to store the result
#
# This internally calls the check_cxx_source_compiles macro and sets
# CMAKE_REQUIRED_DEFINITIONS to <flag>. See help for
# CheckCXXSourceCompiles for a listing of variables that can otherwise
# modify the build. The result only tells that the compiler does not
# give an error message when it encounters the flag. If the flag has
# any effect or even a specific one is beyond the scope of this module.
#=============================================================================
# Copyright 2006-2010 Kitware, Inc.
+22 -11
View File
@@ -1,15 +1,26 @@
# - Check if given C++ source compiles and links into an executable
# CHECK_CXX_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
# <code> - source code to try to compile, must define 'main'
# <var> - variable to store whether the source code compiled
# <fail-regex> - fail if test output matches this regex
# The following variables may be set before calling this macro to
# modify the way the check is run:
#.rst:
# CheckCXXSourceCompiles
# ----------------------
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# Check if given C++ source compiles and links into an executable
#
# CHECK_CXX_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail-regex>])
#
# ::
#
# <code> - source code to try to compile, must define 'main'
# <var> - variable to store whether the source code compiled
# <fail-regex> - fail if test output matches this regex
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+22 -11
View File
@@ -1,15 +1,26 @@
# - Check if the given C++ source code compiles and runs.
# CHECK_CXX_SOURCE_RUNS(<code> <var>)
# <code> - source code to try to compile
# <var> - variable to store the result
# (1 for success, empty for failure)
# The following variables may be set before calling this macro to
# modify the way the check is run:
#.rst:
# CheckCXXSourceRuns
# ------------------
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# Check if the given C++ source code compiles and runs.
#
# CHECK_CXX_SOURCE_RUNS(<code> <var>)
#
# ::
#
# <code> - source code to try to compile
# <var> - variable to store the result
# (1 for success, empty for failure)
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+22 -16
View File
@@ -1,26 +1,32 @@
# - Check if a symbol exists as a function, variable, or macro in C++
#.rst:
# CheckCXXSymbolExists
# --------------------
#
# Check if a symbol exists as a function, variable, or macro in C++
#
# CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
#
# Check that the <symbol> is available after including given header
# <files> and store the result in a <variable>. Specify the list
# of files in one argument as a semicolon-separated list.
# CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as opposed
# to CHECK_SYMBOL_EXISTS(), which works only for C.
# <files> and store the result in a <variable>. Specify the list of
# files in one argument as a semicolon-separated list.
# CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as
# opposed to CHECK_SYMBOL_EXISTS(), which works only for C.
#
# If the header files define the symbol as a macro it is considered
# available and assumed to work. If the header files declare the
# symbol as a function or variable then the symbol must also be
# available for linking. If the symbol is a type or enum value
# it will not be recognized (consider using CheckTypeSize or
# CheckCSourceCompiles).
# available and assumed to work. If the header files declare the symbol
# as a function or variable then the symbol must also be available for
# linking. If the symbol is a type or enum value it will not be
# recognized (consider using CheckTypeSize or CheckCSourceCompiles).
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2003-2011 Kitware, Inc.
+18 -7
View File
@@ -1,13 +1,24 @@
# - Check if the Fortran function exists.
#.rst:
# CheckFortranFunctionExists
# --------------------------
#
# macro which checks if the Fortran function exists
#
# CHECK_FORTRAN_FUNCTION_EXISTS(FUNCTION VARIABLE)
# - macro which checks if the Fortran function exists
# FUNCTION - the name of the Fortran function
# VARIABLE - variable to store the result
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# ::
#
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# FUNCTION - the name of the Fortran function
# VARIABLE - variable to store the result
#
#
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+16 -9
View File
@@ -1,18 +1,25 @@
# - Check if a C function can be linked
#.rst:
# CheckFunctionExists
# -------------------
#
# Check if a C function can be linked
#
# CHECK_FUNCTION_EXISTS(<function> <variable>)
#
# Check that the <function> is provided by libraries on the system and
# store the result in a <variable>. This does not verify that any
# system header file declares the function, only that it can be found
# at link time (consider using CheckSymbolExists).
# system header file declares the function, only that it can be found at
# link time (consider using CheckSymbolExists).
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2002-2011 Kitware, Inc.
+21 -11
View File
@@ -1,19 +1,29 @@
# - Check if the include file exists.
#.rst:
# CheckIncludeFile
# ----------------
#
# macro which checks the include file exists.
#
# CHECK_INCLUDE_FILE(INCLUDE VARIABLE)
# - macro which checks the include file exists.
# INCLUDE - name of include file
# VARIABLE - variable to return result
#
# an optional third argument is the CFlags to add to the compile line
# or you can use CMAKE_REQUIRED_FLAGS
# ::
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# INCLUDE - name of include file
# VARIABLE - variable to return result
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#
#
# an optional third argument is the CFlags to add to the compile line or
# you can use CMAKE_REQUIRED_FLAGS
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+25 -11
View File
@@ -1,19 +1,33 @@
# - Check if the include file exists.
# CHECK_INCLUDE_FILE_CXX(INCLUDE VARIABLE)
#.rst:
# CheckIncludeFileCXX
# -------------------
#
# INCLUDE - name of include file
# VARIABLE - variable to return result
# Check if the include file exists.
#
# An optional third argument is the CFlags to add to the compile line
# or you can use CMAKE_REQUIRED_FLAGS.
# ::
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# CHECK_INCLUDE_FILE_CXX(INCLUDE VARIABLE)
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#
#
# ::
#
# INCLUDE - name of include file
# VARIABLE - variable to return result
#
#
#
# An optional third argument is the CFlags to add to the compile line or
# you can use CMAKE_REQUIRED_FLAGS.
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+20 -8
View File
@@ -1,16 +1,28 @@
# - Check if the files can be included
#.rst:
# CheckIncludeFiles
# -----------------
#
# Check if the files can be included
#
#
#
# CHECK_INCLUDE_FILES(INCLUDE VARIABLE)
#
# INCLUDE - list of files to include
# VARIABLE - variable to return result
# ::
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# INCLUDE - list of files to include
# VARIABLE - variable to return result
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
#=============================================================================
# Copyright 2003-2012 Kitware, Inc.
+22 -9
View File
@@ -1,19 +1,32 @@
# - Check if a language can be enabled
#.rst:
# CheckLanguage
# -------------
#
# Check if a language can be enabled
#
# Usage:
# check_language(<lang>)
#
# ::
#
# check_language(<lang>)
#
# where <lang> is a language that may be passed to enable_language()
# such as "Fortran". If CMAKE_<lang>_COMPILER is already defined the
# check does nothing. Otherwise it tries enabling the language in a
# test project. The result is cached in CMAKE_<lang>_COMPILER as the
# compiler that was found, or NOTFOUND if the language cannot be enabled.
# compiler that was found, or NOTFOUND if the language cannot be
# enabled.
#
# Example:
# check_language(Fortran)
# if(CMAKE_Fortran_COMPILER)
# enable_language(Fortran)
# else()
# message(STATUS "No Fortran support")
# endif()
#
# ::
#
# check_language(Fortran)
# if(CMAKE_Fortran_COMPILER)
# enable_language(Fortran)
# else()
# message(STATUS "No Fortran support")
# endif()
#=============================================================================
# Copyright 2009-2012 Kitware, Inc.
+21 -10
View File
@@ -1,17 +1,28 @@
# - Check if the function exists.
#.rst:
# CheckLibraryExists
# ------------------
#
# Check if the function exists.
#
# CHECK_LIBRARY_EXISTS (LIBRARY FUNCTION LOCATION VARIABLE)
#
# LIBRARY - the name of the library you are looking for
# FUNCTION - the name of the function
# LOCATION - location where the library should be found
# VARIABLE - variable to store the result
# ::
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# LIBRARY - the name of the library you are looking for
# FUNCTION - the name of the function
# LOCATION - location where the library should be found
# VARIABLE - variable to store the result
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+34 -19
View File
@@ -1,23 +1,38 @@
# - Check if the protoype we expect is correct.
# check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)
# FUNCTION - The name of the function (used to check if prototype exists)
# PROTOTYPE- The prototype to check.
# RETURN - The return value of the function.
# HEADER - The header files required.
# VARIABLE - The variable to store the result.
# Example:
# check_prototype_definition(getpwent_r
# "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)"
# "NULL"
# "unistd.h;pwd.h"
# SOLARIS_GETPWENT_R)
# The following variables may be set before calling this macro to
# modify the way the check is run:
#.rst:
# CheckPrototypeDefinition
# ------------------------
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# Check if the protoype we expect is correct.
#
# check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)
#
# ::
#
# FUNCTION - The name of the function (used to check if prototype exists)
# PROTOTYPE- The prototype to check.
# RETURN - The return value of the function.
# HEADER - The header files required.
# VARIABLE - The variable to store the result.
#
# Example:
#
# ::
#
# check_prototype_definition(getpwent_r
# "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)"
# "NULL"
# "unistd.h;pwd.h"
# SOLARIS_GETPWENT_R)
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+33 -14
View File
@@ -1,22 +1,41 @@
# - Check if the given struct or class has the specified member variable
#.rst:
# CheckStructHasMember
# --------------------
#
# Check if the given struct or class has the specified member variable
#
# CHECK_STRUCT_HAS_MEMBER (<struct> <member> <header> <variable>
# [LANGUAGE <language>])
#
# <struct> - the name of the struct or class you are interested in
# <member> - the member which existence you want to check
# <header> - the header(s) where the prototype should be declared
# <variable> - variable to store the result
# <language> - the compiler to use (C or CXX)
# ::
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# [LANGUAGE <language>])
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#
# Example: CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h HAVE_TIMEVAL_TV_SEC LANGUAGE C)
#
# ::
#
# <struct> - the name of the struct or class you are interested in
# <member> - the member which existence you want to check
# <header> - the header(s) where the prototype should be declared
# <variable> - variable to store the result
# <language> - the compiler to use (C or CXX)
#
#
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#
#
#
# Example: CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h
# HAVE_TIMEVAL_TV_SEC LANGUAGE C)
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+23 -16
View File
@@ -1,26 +1,33 @@
# - Check if a symbol exists as a function, variable, or macro
#.rst:
# CheckSymbolExists
# -----------------
#
# Check if a symbol exists as a function, variable, or macro
#
# CHECK_SYMBOL_EXISTS(<symbol> <files> <variable>)
#
# Check that the <symbol> is available after including given header
# <files> and store the result in a <variable>. Specify the list
# of files in one argument as a semicolon-separated list.
# <files> and store the result in a <variable>. Specify the list of
# files in one argument as a semicolon-separated list.
#
# If the header files define the symbol as a macro it is considered
# available and assumed to work. If the header files declare the
# symbol as a function or variable then the symbol must also be
# available for linking. If the symbol is a type or enum value
# it will not be recognized (consider using CheckTypeSize or
# CheckCSourceCompiles).
# If the check needs to be done in C++, consider using CHECK_CXX_SYMBOL_EXISTS(),
# which does the same as CHECK_SYMBOL_EXISTS(), but in C++.
# available and assumed to work. If the header files declare the symbol
# as a function or variable then the symbol must also be available for
# linking. If the symbol is a type or enum value it will not be
# recognized (consider using CheckTypeSize or CheckCSourceCompiles). If
# the check needs to be done in C++, consider using
# CHECK_CXX_SYMBOL_EXISTS(), which does the same as
# CHECK_SYMBOL_EXISTS(), but in C++.
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2003-2011 Kitware, Inc.
+50 -31
View File
@@ -1,42 +1,61 @@
# - Check sizeof a type
# CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY])
# Check if the type exists and determine its size.
# On return, "HAVE_${VARIABLE}" holds the existence of the type,
# and "${VARIABLE}" holds one of the following:
# <size> = type has non-zero size <size>
# "0" = type has arch-dependent size (see below)
# "" = type does not exist
# Furthermore, the variable "${VARIABLE}_CODE" holds C preprocessor
# code to define the macro "${VARIABLE}" to the size of the type, or
# leave the macro undefined if the type does not exist.
#.rst:
# CheckTypeSize
# -------------
#
# The variable "${VARIABLE}" may be "0" when CMAKE_OSX_ARCHITECTURES
# has multiple architectures for building OS X universal binaries.
# This indicates that the type size varies across architectures.
# In this case "${VARIABLE}_CODE" contains C preprocessor tests
# mapping from each architecture macro to the corresponding type size.
# The list of architecture macros is stored in "${VARIABLE}_KEYS", and
# the value for each key is stored in "${VARIABLE}-${KEY}".
# Check sizeof a type
#
# ::
#
# CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY])
#
# Check if the type exists and determine its size. On return,
# "HAVE_${VARIABLE}" holds the existence of the type, and "${VARIABLE}"
# holds one of the following:
#
# ::
#
# <size> = type has non-zero size <size>
# "0" = type has arch-dependent size (see below)
# "" = type does not exist
#
# Furthermore, the variable "${VARIABLE}_CODE" holds C preprocessor code
# to define the macro "${VARIABLE}" to the size of the type, or leave
# the macro undefined if the type does not exist.
#
# The variable "${VARIABLE}" may be "0" when CMAKE_OSX_ARCHITECTURES has
# multiple architectures for building OS X universal binaries. This
# indicates that the type size varies across architectures. In this
# case "${VARIABLE}_CODE" contains C preprocessor tests mapping from
# each architecture macro to the corresponding type size. The list of
# architecture macros is stored in "${VARIABLE}_KEYS", and the value for
# each key is stored in "${VARIABLE}-${KEY}".
#
# If the BUILTIN_TYPES_ONLY option is not given, the macro checks for
# headers <sys/types.h>, <stdint.h>, and <stddef.h>, and saves results
# in HAVE_SYS_TYPES_H, HAVE_STDINT_H, and HAVE_STDDEF_H. The type
# size check automatically includes the available headers, thus
# supporting checks of types defined in the headers.
# in HAVE_SYS_TYPES_H, HAVE_STDINT_H, and HAVE_STDDEF_H. The type size
# check automatically includes the available headers, thus supporting
# checks of types defined in the headers.
#
# Despite the name of the macro you may use it to check the size of
# more complex expressions, too. To check e.g. for the size of a struct
# Despite the name of the macro you may use it to check the size of more
# complex expressions, too. To check e.g. for the size of a struct
# member you can do something like this:
# check_type_size("((struct something*)0)->member" SIZEOF_MEMBER)
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# CMAKE_EXTRA_INCLUDE_FILES = list of extra headers to include
# check_type_size("((struct something*)0)->member" SIZEOF_MEMBER)
#
#
#
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_INCLUDES = list of include directories
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# CMAKE_EXTRA_INCLUDE_FILES = list of extra headers to include
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+24 -9
View File
@@ -1,17 +1,32 @@
# - Check if the variable exists.
# CHECK_VARIABLE_EXISTS(VAR VARIABLE)
#.rst:
# CheckVariableExists
# -------------------
#
# Check if the variable exists.
#
# ::
#
# CHECK_VARIABLE_EXISTS(VAR VARIABLE)
#
#
#
# ::
#
# VAR - the name of the variable
# VARIABLE - variable to store the result
#
#
# VAR - the name of the variable
# VARIABLE - variable to store the result
#
# This macro is only for C variables.
#
# The following variables may be set before calling this macro to
# modify the way the check is run:
# The following variables may be set before calling this macro to modify
# the way the check is run:
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
# ::
#
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+17 -7
View File
@@ -1,12 +1,22 @@
# - Configure a project for testing with CTest or old Dart Tcl Client
#.rst:
# Dart
# ----
#
# Configure a project for testing with CTest or old Dart Tcl Client
#
# This file is the backwards-compatibility version of the CTest module.
# It supports using the old Dart 1 Tcl client for driving dashboard
# submissions as well as testing with CTest. This module should be included
# in the CMakeLists.txt file at the top of a project. Typical usage:
# include(Dart)
# if(BUILD_TESTING)
# # ... testing related CMake code ...
# endif()
# submissions as well as testing with CTest. This module should be
# included in the CMakeLists.txt file at the top of a project. Typical
# usage:
#
# ::
#
# include(Dart)
# if(BUILD_TESTING)
# # ... testing related CMake code ...
# endif()
#
# The BUILD_TESTING option is created by the Dart module to determine
# whether testing support should be enabled. The default is ON.
+72 -41
View File
@@ -1,68 +1,99 @@
# - Functions to help assemble a standalone Qt4 executable.
# A collection of CMake utility functions useful for deploying
# Qt4 executables.
#.rst:
# DeployQt4
# ---------
#
# Functions to help assemble a standalone Qt4 executable.
#
# A collection of CMake utility functions useful for deploying Qt4
# executables.
#
# The following functions are provided by this module:
# write_qt4_conf
# resolve_qt4_paths
# fixup_qt4_executable
# install_qt4_plugin_path
# install_qt4_plugin
# install_qt4_executable
# Requires CMake 2.6 or greater because it uses function and
# PARENT_SCOPE. Also depends on BundleUtilities.cmake.
#
# WRITE_QT4_CONF(<qt_conf_dir> <qt_conf_contents>)
# ::
#
# write_qt4_conf
# resolve_qt4_paths
# fixup_qt4_executable
# install_qt4_plugin_path
# install_qt4_plugin
# install_qt4_executable
#
# Requires CMake 2.6 or greater because it uses function and
# PARENT_SCOPE. Also depends on BundleUtilities.cmake.
#
# ::
#
# WRITE_QT4_CONF(<qt_conf_dir> <qt_conf_contents>)
#
# Writes a qt.conf file with the <qt_conf_contents> into <qt_conf_dir>.
#
# RESOLVE_QT4_PATHS(<paths_var> [<executable_path>])
# Loop through <paths_var> list and if any don't exist resolve them
# relative to the <executable_path> (if supplied) or the CMAKE_INSTALL_PREFIX.
# ::
#
# FIXUP_QT4_EXECUTABLE(<executable> [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf>])
# Copies Qt plugins, writes a Qt configuration file (if needed) and fixes up a
# Qt4 executable using BundleUtilities so it is standalone and can be
# drag-and-drop copied to another machine as long as all of the system
# libraries are compatible.
# RESOLVE_QT4_PATHS(<paths_var> [<executable_path>])
#
# Loop through <paths_var> list and if any don't exist resolve them
# relative to the <executable_path> (if supplied) or the
# CMAKE_INSTALL_PREFIX.
#
# ::
#
# FIXUP_QT4_EXECUTABLE(<executable> [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf>])
#
# Copies Qt plugins, writes a Qt configuration file (if needed) and
# fixes up a Qt4 executable using BundleUtilities so it is standalone
# and can be drag-and-drop copied to another machine as long as all of
# the system libraries are compatible.
#
# <executable> should point to the executable to be fixed-up.
#
# <qtplugins> should contain a list of the names or paths of any Qt plugins
# to be installed.
# <qtplugins> should contain a list of the names or paths of any Qt
# plugins to be installed.
#
# <libs> will be passed to BundleUtilities and should be a list of any already
# installed plugins, libraries or executables to also be fixed-up.
# <libs> will be passed to BundleUtilities and should be a list of any
# already installed plugins, libraries or executables to also be
# fixed-up.
#
# <dirs> will be passed to BundleUtilities and should contain and directories
# to be searched to find library dependencies.
# <dirs> will be passed to BundleUtilities and should contain and
# directories to be searched to find library dependencies.
#
# <plugins_dir> allows an custom plugins directory to be used.
#
# <request_qt_conf> will force a qt.conf file to be written even if not needed.
# <request_qt_conf> will force a qt.conf file to be written even if not
# needed.
#
# ::
#
# INSTALL_QT4_PLUGIN_PATH(plugin executable copy installed_plugin_path_var <plugins_dir> <component> <configurations>)
#
# INSTALL_QT4_PLUGIN_PATH(plugin executable copy installed_plugin_path_var <plugins_dir> <component> <configurations>)
# Install (or copy) a resolved <plugin> to the default plugins directory
# (or <plugins_dir>) relative to <executable> and store the result in
# <installed_plugin_path_var>.
#
# If <copy> is set to TRUE then the plugins will be copied rather than
# installed. This is to allow this module to be used at CMake time rather than
# install time.
# installed. This is to allow this module to be used at CMake time
# rather than install time.
#
# If <component> is set then anything installed will use this COMPONENT.
#
# INSTALL_QT4_PLUGIN(plugin executable copy installed_plugin_path_var <plugins_dir> <component>)
# Install (or copy) an unresolved <plugin> to the default plugins directory
# (or <plugins_dir>) relative to <executable> and store the result in
# <installed_plugin_path_var>. See documentation of INSTALL_QT4_PLUGIN_PATH.
# ::
#
# INSTALL_QT4_EXECUTABLE(<executable> [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf> <component>])
# Installs Qt plugins, writes a Qt configuration file (if needed) and fixes up
# a Qt4 executable using BundleUtilities so it is standalone and can be
# drag-and-drop copied to another machine as long as all of the system
# libraries are compatible. The executable will be fixed-up at install time.
# <component> is the COMPONENT used for bundle fixup and plugin installation.
# See documentation of FIXUP_QT4_BUNDLE.
# INSTALL_QT4_PLUGIN(plugin executable copy installed_plugin_path_var <plugins_dir> <component>)
#
# Install (or copy) an unresolved <plugin> to the default plugins
# directory (or <plugins_dir>) relative to <executable> and store the
# result in <installed_plugin_path_var>. See documentation of
# INSTALL_QT4_PLUGIN_PATH.
#
# ::
#
# INSTALL_QT4_EXECUTABLE(<executable> [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf> <component>])
#
# Installs Qt plugins, writes a Qt configuration file (if needed) and
# fixes up a Qt4 executable using BundleUtilities so it is standalone
# and can be drag-and-drop copied to another machine as long as all of
# the system libraries are compatible. The executable will be fixed-up
# at install time. <component> is the COMPONENT used for bundle fixup
# and plugin installation. See documentation of FIXUP_QT4_BUNDLE.
#=============================================================================
# Copyright 2011 Mike McQuaid <mike@mikemcquaid.com>
+8 -3
View File
@@ -1,6 +1,11 @@
# - DocumentationVTK.cmake
# This file provides support for the VTK documentation framework.
# It relies on several tools (Doxygen, Perl, etc).
#.rst:
# Documentation
# -------------
#
# DocumentationVTK.cmake
#
# This file provides support for the VTK documentation framework. It
# relies on several tools (Doxygen, Perl, etc).
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+159 -111
View File
@@ -1,146 +1,194 @@
# - Manage data files stored outside source tree
# Use this module to unambiguously reference data files stored outside the
# source tree and fetch them at build time from arbitrary local and remote
# content-addressed locations. Functions provided by this module recognize
# arguments with the syntax "DATA{<name>}" as references to external data,
# replace them with full paths to local copies of those data, and create build
# rules to fetch and update the local copies.
#.rst:
# ExternalData
# ------------
#
# Manage data files stored outside source tree
#
# Use this module to unambiguously reference data files stored outside
# the source tree and fetch them at build time from arbitrary local and
# remote content-addressed locations. Functions provided by this module
# recognize arguments with the syntax "DATA{<name>}" as references to
# external data, replace them with full paths to local copies of those
# data, and create build rules to fetch and update the local copies.
#
# The DATA{} syntax is literal and the <name> is a full or relative path
# within the source tree. The source tree must contain either a real data
# file at <name> or a "content link" at <name><ext> containing a hash of the
# real file using a hash algorithm corresponding to <ext>. For example, the
# argument "DATA{img.png}" may be satisfied by either a real "img.png" file in
# the current source directory or a "img.png.md5" file containing its MD5 sum.
# within the source tree. The source tree must contain either a real
# data file at <name> or a "content link" at <name><ext> containing a
# hash of the real file using a hash algorithm corresponding to <ext>.
# For example, the argument "DATA{img.png}" may be satisfied by either a
# real "img.png" file in the current source directory or a "img.png.md5"
# file containing its MD5 sum.
#
# The 'ExternalData_Expand_Arguments' function evaluates DATA{} references
# in its arguments and constructs a new list of arguments:
# ExternalData_Expand_Arguments(
# <target> # Name of data management target
# <outVar> # Output variable
# [args...] # Input arguments, DATA{} allowed
# )
# It replaces each DATA{} reference in an argument with the full path of a
# real data file on disk that will exist after the <target> builds.
# The 'ExternalData_Expand_Arguments' function evaluates DATA{}
# references in its arguments and constructs a new list of arguments:
#
# ::
#
# ExternalData_Expand_Arguments(
# <target> # Name of data management target
# <outVar> # Output variable
# [args...] # Input arguments, DATA{} allowed
# )
#
# It replaces each DATA{} reference in an argument with the full path of
# a real data file on disk that will exist after the <target> builds.
#
# The 'ExternalData_Add_Test' function wraps around the CMake add_test()
# command but supports DATA{} references in its arguments:
# ExternalData_Add_Test(
# <target> # Name of data management target
# ... # Arguments of add_test(), DATA{} allowed
# )
#
# ::
#
# ExternalData_Add_Test(
# <target> # Name of data management target
# ... # Arguments of add_test(), DATA{} allowed
# )
#
# It passes its arguments through ExternalData_Expand_Arguments and then
# invokes add_test() using the results.
#
# The 'ExternalData_Add_Target' function creates a custom target to manage
# local instances of data files stored externally:
# ExternalData_Add_Target(
# <target> # Name of data management target
# )
# It creates custom commands in the target as necessary to make data files
# available for each DATA{} reference previously evaluated by other functions
# provided by this module. A list of URL templates must be provided in the
# variable ExternalData_URL_TEMPLATES using the placeholders "%(algo)" and
# "%(hash)" in each template. Data fetch rules try each URL template in order
# by substituting the hash algorithm name for "%(algo)" and the hash value for
# "%(hash)".
# The 'ExternalData_Add_Target' function creates a custom target to
# manage local instances of data files stored externally:
#
# ::
#
# ExternalData_Add_Target(
# <target> # Name of data management target
# )
#
# It creates custom commands in the target as necessary to make data
# files available for each DATA{} reference previously evaluated by
# other functions provided by this module. A list of URL templates must
# be provided in the variable ExternalData_URL_TEMPLATES using the
# placeholders "%(algo)" and "%(hash)" in each template. Data fetch
# rules try each URL template in order by substituting the hash
# algorithm name for "%(algo)" and the hash value for "%(hash)".
#
# The following hash algorithms are supported:
# %(algo) <ext> Description
# ------- ----- -----------
# MD5 .md5 Message-Digest Algorithm 5, RFC 1321
# SHA1 .sha1 US Secure Hash Algorithm 1, RFC 3174
# SHA224 .sha224 US Secure Hash Algorithms, RFC 4634
# SHA256 .sha256 US Secure Hash Algorithms, RFC 4634
# SHA384 .sha384 US Secure Hash Algorithms, RFC 4634
# SHA512 .sha512 US Secure Hash Algorithms, RFC 4634
#
# ::
#
# %(algo) <ext> Description
# ------- ----- -----------
# MD5 .md5 Message-Digest Algorithm 5, RFC 1321
# SHA1 .sha1 US Secure Hash Algorithm 1, RFC 3174
# SHA224 .sha224 US Secure Hash Algorithms, RFC 4634
# SHA256 .sha256 US Secure Hash Algorithms, RFC 4634
# SHA384 .sha384 US Secure Hash Algorithms, RFC 4634
# SHA512 .sha512 US Secure Hash Algorithms, RFC 4634
#
# Note that the hashes are used only for unique data identification and
# download verification. This is not security software.
#
# Example usage:
# include(ExternalData)
# set(ExternalData_URL_TEMPLATES "file:///local/%(algo)/%(hash)"
# "http://data.org/%(algo)/%(hash)")
# ExternalData_Add_Test(MyData
# NAME MyTest
# COMMAND MyExe DATA{MyInput.png}
# )
# ExternalData_Add_Target(MyData)
# When test "MyTest" runs the "DATA{MyInput.png}" argument will be replaced by
# the full path to a real instance of the data file "MyInput.png" on disk. If
# the source tree contains a content link such as "MyInput.png.md5" then the
# "MyData" target creates a real "MyInput.png" in the build tree.
#
# ::
#
# include(ExternalData)
# set(ExternalData_URL_TEMPLATES "file:///local/%(algo)/%(hash)"
# "http://data.org/%(algo)/%(hash)")
# ExternalData_Add_Test(MyData
# NAME MyTest
# COMMAND MyExe DATA{MyInput.png}
# )
# ExternalData_Add_Target(MyData)
#
# When test "MyTest" runs the "DATA{MyInput.png}" argument will be
# replaced by the full path to a real instance of the data file
# "MyInput.png" on disk. If the source tree contains a content link
# such as "MyInput.png.md5" then the "MyData" target creates a real
# "MyInput.png" in the build tree.
#
# The DATA{} syntax can be told to fetch a file series using the form
# "DATA{<name>,:}", where the ":" is literal. If the source tree contains a
# group of files or content links named like a series then a reference to one
# member adds rules to fetch all of them. Although all members of a series
# are fetched, only the file originally named by the DATA{} argument is
# substituted for it. The default configuration recognizes file series names
# ending with "#.ext", "_#.ext", ".#.ext", or "-#.ext" where "#" is a sequence
# of decimal digits and ".ext" is any single extension. Configure it with a
# regex that parses <number> and <suffix> parts from the end of <name>:
# ExternalData_SERIES_PARSE = regex of the form (<number>)(<suffix>)$
# "DATA{<name>,:}", where the ":" is literal. If the source tree
# contains a group of files or content links named like a series then a
# reference to one member adds rules to fetch all of them. Although all
# members of a series are fetched, only the file originally named by the
# DATA{} argument is substituted for it. The default configuration
# recognizes file series names ending with "#.ext", "_#.ext", ".#.ext",
# or "-#.ext" where "#" is a sequence of decimal digits and ".ext" is
# any single extension. Configure it with a regex that parses <number>
# and <suffix> parts from the end of <name>:
#
# ::
#
# ExternalData_SERIES_PARSE = regex of the form (<number>)(<suffix>)$
#
# For more complicated cases set:
# ExternalData_SERIES_PARSE = regex with at least two () groups
# ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any
# ExternalData_SERIES_PARSE_NUMBER = <number> regex group number
# ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number
#
# ::
#
# ExternalData_SERIES_PARSE = regex with at least two () groups
# ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any
# ExternalData_SERIES_PARSE_NUMBER = <number> regex group number
# ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number
#
# Configure series number matching with a regex that matches the
# <number> part of series members named <prefix><number><suffix>:
# ExternalData_SERIES_MATCH = regex matching <number> in all series members
#
# ::
#
# ExternalData_SERIES_MATCH = regex matching <number> in all series members
#
# Note that the <suffix> of a series does not include a hash-algorithm
# extension.
#
# The DATA{} syntax can alternatively match files associated with the named
# file and contained in the same directory. Associated files may be specified
# by options using the syntax DATA{<name>,<opt1>,<opt2>,...}. Each option may
# specify one file by name or specify a regular expression to match file names
# using the syntax REGEX:<regex>. For example, the arguments
# DATA{MyData/MyInput.mhd,MyInput.img} # File pair
# DATA{MyData/MyFrames00.png,REGEX:MyFrames[0-9]+\\.png} # Series
# will pass MyInput.mha and MyFrames00.png on the command line but ensure
# that the associated files are present next to them.
# The DATA{} syntax can alternatively match files associated with the
# named file and contained in the same directory. Associated files may
# be specified by options using the syntax
# DATA{<name>,<opt1>,<opt2>,...}. Each option may specify one file by
# name or specify a regular expression to match file names using the
# syntax REGEX:<regex>. For example, the arguments
#
# The DATA{} syntax may reference a directory using a trailing slash and a
# list of associated files. The form DATA{<name>/,<opt1>,<opt2>,...} adds
# rules to fetch any files in the directory that match one of the associated
# file options. For example, the argument DATA{MyDataDir/,REGEX:.*} will pass
# the full path to a MyDataDir directory on the command line and ensure that
# the directory contains files corresponding to every file or content link in
# the MyDataDir source directory.
# ::
#
# The variable ExternalData_LINK_CONTENT may be set to the name of a supported
# hash algorithm to enable automatic conversion of real data files referenced
# by the DATA{} syntax into content links. For each such <file> a content
# link named "<file><ext>" is created. The original file is renamed to the
# form ".ExternalData_<algo>_<hash>" to stage it for future transmission to
# one of the locations in the list of URL templates (by means outside the
# scope of this module). The data fetch rule created for the content link
# will use the staged object if it cannot be found using any URL template.
# DATA{MyData/MyInput.mhd,MyInput.img} # File pair
# DATA{MyData/MyFrames00.png,REGEX:MyFrames[0-9]+\\.png} # Series
#
# will pass MyInput.mha and MyFrames00.png on the command line but
# ensure that the associated files are present next to them.
#
# The DATA{} syntax may reference a directory using a trailing slash and
# a list of associated files. The form DATA{<name>/,<opt1>,<opt2>,...}
# adds rules to fetch any files in the directory that match one of the
# associated file options. For example, the argument
# DATA{MyDataDir/,REGEX:.*} will pass the full path to a MyDataDir
# directory on the command line and ensure that the directory contains
# files corresponding to every file or content link in the MyDataDir
# source directory.
#
# The variable ExternalData_LINK_CONTENT may be set to the name of a
# supported hash algorithm to enable automatic conversion of real data
# files referenced by the DATA{} syntax into content links. For each
# such <file> a content link named "<file><ext>" is created. The
# original file is renamed to the form ".ExternalData_<algo>_<hash>" to
# stage it for future transmission to one of the locations in the list
# of URL templates (by means outside the scope of this module). The
# data fetch rule created for the content link will use the staged
# object if it cannot be found using any URL template.
#
# The variable ExternalData_OBJECT_STORES may be set to a list of local
# directories that store objects using the layout <dir>/%(algo)/%(hash).
# These directories will be searched first for a needed object. If the object
# is not available in any store then it will be fetched remotely using the URL
# templates and added to the first local store listed. If no stores are
# specified the default is a location inside the build tree.
# These directories will be searched first for a needed object. If the
# object is not available in any store then it will be fetched remotely
# using the URL templates and added to the first local store listed. If
# no stores are specified the default is a location inside the build
# tree.
#
# The variable ExternalData_SOURCE_ROOT may be set to the highest source
# directory containing any path named by a DATA{} reference. The default is
# CMAKE_SOURCE_DIR. ExternalData_SOURCE_ROOT and CMAKE_SOURCE_DIR must refer
# to directories within a single source distribution (e.g. they come together
# in one tarball).
# directory containing any path named by a DATA{} reference. The
# default is CMAKE_SOURCE_DIR. ExternalData_SOURCE_ROOT and
# CMAKE_SOURCE_DIR must refer to directories within a single source
# distribution (e.g. they come together in one tarball).
#
# The variable ExternalData_BINARY_ROOT may be set to the directory to hold
# the real data files named by expanded DATA{} references. The default is
# CMAKE_BINARY_DIR. The directory layout will mirror that of content links
# under ExternalData_SOURCE_ROOT.
# The variable ExternalData_BINARY_ROOT may be set to the directory to
# hold the real data files named by expanded DATA{} references. The
# default is CMAKE_BINARY_DIR. The directory layout will mirror that of
# content links under ExternalData_SOURCE_ROOT.
#
# Variables ExternalData_TIMEOUT_INACTIVITY and ExternalData_TIMEOUT_ABSOLUTE
# set the download inactivity and absolute timeouts, in seconds. The defaults
# are 60 seconds and 300 seconds, respectively. Set either timeout to 0
# seconds to disable enforcement.
# Variables ExternalData_TIMEOUT_INACTIVITY and
# ExternalData_TIMEOUT_ABSOLUTE set the download inactivity and absolute
# timeouts, in seconds. The defaults are 60 seconds and 300 seconds,
# respectively. Set either timeout to 0 seconds to disable enforcement.
#=============================================================================
# Copyright 2010-2013 Kitware, Inc.
+164 -135
View File
@@ -1,163 +1,192 @@
# - Create custom targets to build projects in external trees
#.rst:
# ExternalProject
# ---------------
#
# Create custom targets to build projects in external trees
#
# The 'ExternalProject_Add' function creates a custom target to drive
# download, update/patch, configure, build, install and test steps of an
# external project:
# ExternalProject_Add(<name> # Name for custom target
# [DEPENDS projects...] # Targets on which the project depends
# [PREFIX dir] # Root dir for entire project
# [LIST_SEPARATOR sep] # Sep to be replaced by ; in cmd lines
# [TMP_DIR dir] # Directory to store temporary files
# [STAMP_DIR dir] # Directory to store step timestamps
# #--Download step--------------
# [DOWNLOAD_NAME fname] # File name to store (if not end of URL)
# [DOWNLOAD_DIR dir] # Directory to store downloaded files
# [DOWNLOAD_COMMAND cmd...] # Command to download source tree
# [CVS_REPOSITORY cvsroot] # CVSROOT of CVS repository
# [CVS_MODULE mod] # Module to checkout from CVS repo
# [CVS_TAG tag] # Tag to checkout from CVS repo
# [SVN_REPOSITORY url] # URL of Subversion repo
# [SVN_REVISION rev] # Revision to checkout from Subversion repo
# [SVN_USERNAME john ] # Username for Subversion checkout and update
# [SVN_PASSWORD doe ] # Password for Subversion checkout and update
# [SVN_TRUST_CERT 1 ] # Trust the Subversion server site certificate
# [GIT_REPOSITORY url] # URL of git repo
# [GIT_TAG tag] # Git branch name, commit id or tag
# [HG_REPOSITORY url] # URL of mercurial repo
# [HG_TAG tag] # Mercurial branch name, commit id or tag
# [URL /.../src.tgz] # Full path or URL of source
# [URL_HASH ALGO=value] # Hash of file at URL
# [URL_MD5 md5] # Equivalent to URL_HASH MD5=md5
# [TLS_VERIFY bool] # Should certificate for https be checked
# [TLS_CAINFO file] # Path to a certificate authority file
# [TIMEOUT seconds] # Time allowed for file download operations
# #--Update/Patch step----------
# [UPDATE_COMMAND cmd...] # Source work-tree update command
# [PATCH_COMMAND cmd...] # Command to patch downloaded source
# #--Configure step-------------
# [SOURCE_DIR dir] # Source dir to be used for build
# [CONFIGURE_COMMAND cmd...] # Build tree configuration command
# [CMAKE_COMMAND /.../cmake] # Specify alternative cmake executable
# [CMAKE_GENERATOR gen] # Specify generator for native build
# [CMAKE_GENERATOR_TOOLSET t] # Generator-specific toolset name
# [CMAKE_ARGS args...] # Arguments to CMake command line
# [CMAKE_CACHE_ARGS args...] # Initial cache arguments, of the form -Dvar:string=on
# #--Build step-----------------
# [BINARY_DIR dir] # Specify build dir location
# [BUILD_COMMAND cmd...] # Command to drive the native build
# [BUILD_IN_SOURCE 1] # Use source dir for build dir
# #--Install step---------------
# [INSTALL_DIR dir] # Installation prefix
# [INSTALL_COMMAND cmd...] # Command to drive install after build
# #--Test step------------------
# [TEST_BEFORE_INSTALL 1] # Add test step executed before install step
# [TEST_AFTER_INSTALL 1] # Add test step executed after install step
# [TEST_COMMAND cmd...] # Command to drive test
# #--Output logging-------------
# [LOG_DOWNLOAD 1] # Wrap download in script to log output
# [LOG_UPDATE 1] # Wrap update in script to log output
# [LOG_CONFIGURE 1] # Wrap configure in script to log output
# [LOG_BUILD 1] # Wrap build in script to log output
# [LOG_TEST 1] # Wrap test in script to log output
# [LOG_INSTALL 1] # Wrap install in script to log output
# #--Custom targets-------------
# [STEP_TARGETS st1 st2 ...] # Generate custom targets for these steps
# )
#
# ::
#
# ExternalProject_Add(<name> # Name for custom target
# [DEPENDS projects...] # Targets on which the project depends
# [PREFIX dir] # Root dir for entire project
# [LIST_SEPARATOR sep] # Sep to be replaced by ; in cmd lines
# [TMP_DIR dir] # Directory to store temporary files
# [STAMP_DIR dir] # Directory to store step timestamps
# #--Download step--------------
# [DOWNLOAD_NAME fname] # File name to store (if not end of URL)
# [DOWNLOAD_DIR dir] # Directory to store downloaded files
# [DOWNLOAD_COMMAND cmd...] # Command to download source tree
# [CVS_REPOSITORY cvsroot] # CVSROOT of CVS repository
# [CVS_MODULE mod] # Module to checkout from CVS repo
# [CVS_TAG tag] # Tag to checkout from CVS repo
# [SVN_REPOSITORY url] # URL of Subversion repo
# [SVN_REVISION rev] # Revision to checkout from Subversion repo
# [SVN_USERNAME john ] # Username for Subversion checkout and update
# [SVN_PASSWORD doe ] # Password for Subversion checkout and update
# [SVN_TRUST_CERT 1 ] # Trust the Subversion server site certificate
# [GIT_REPOSITORY url] # URL of git repo
# [GIT_TAG tag] # Git branch name, commit id or tag
# [HG_REPOSITORY url] # URL of mercurial repo
# [HG_TAG tag] # Mercurial branch name, commit id or tag
# [URL /.../src.tgz] # Full path or URL of source
# [URL_HASH ALGO=value] # Hash of file at URL
# [URL_MD5 md5] # Equivalent to URL_HASH MD5=md5
# [TLS_VERIFY bool] # Should certificate for https be checked
# [TLS_CAINFO file] # Path to a certificate authority file
# [TIMEOUT seconds] # Time allowed for file download operations
# #--Update/Patch step----------
# [UPDATE_COMMAND cmd...] # Source work-tree update command
# [PATCH_COMMAND cmd...] # Command to patch downloaded source
# #--Configure step-------------
# [SOURCE_DIR dir] # Source dir to be used for build
# [CONFIGURE_COMMAND cmd...] # Build tree configuration command
# [CMAKE_COMMAND /.../cmake] # Specify alternative cmake executable
# [CMAKE_GENERATOR gen] # Specify generator for native build
# [CMAKE_GENERATOR_TOOLSET t] # Generator-specific toolset name
# [CMAKE_ARGS args...] # Arguments to CMake command line
# [CMAKE_CACHE_ARGS args...] # Initial cache arguments, of the form -Dvar:string=on
# #--Build step-----------------
# [BINARY_DIR dir] # Specify build dir location
# [BUILD_COMMAND cmd...] # Command to drive the native build
# [BUILD_IN_SOURCE 1] # Use source dir for build dir
# #--Install step---------------
# [INSTALL_DIR dir] # Installation prefix
# [INSTALL_COMMAND cmd...] # Command to drive install after build
# #--Test step------------------
# [TEST_BEFORE_INSTALL 1] # Add test step executed before install step
# [TEST_AFTER_INSTALL 1] # Add test step executed after install step
# [TEST_COMMAND cmd...] # Command to drive test
# #--Output logging-------------
# [LOG_DOWNLOAD 1] # Wrap download in script to log output
# [LOG_UPDATE 1] # Wrap update in script to log output
# [LOG_CONFIGURE 1] # Wrap configure in script to log output
# [LOG_BUILD 1] # Wrap build in script to log output
# [LOG_TEST 1] # Wrap test in script to log output
# [LOG_INSTALL 1] # Wrap install in script to log output
# #--Custom targets-------------
# [STEP_TARGETS st1 st2 ...] # Generate custom targets for these steps
# )
#
# The *_DIR options specify directories for the project, with default
# directories computed as follows.
# If the PREFIX option is given to ExternalProject_Add() or the EP_PREFIX
# directory property is set, then an external project is built and installed
# under the specified prefix:
# TMP_DIR = <prefix>/tmp
# STAMP_DIR = <prefix>/src/<name>-stamp
# DOWNLOAD_DIR = <prefix>/src
# SOURCE_DIR = <prefix>/src/<name>
# BINARY_DIR = <prefix>/src/<name>-build
# INSTALL_DIR = <prefix>
# Otherwise, if the EP_BASE directory property is set then components
# of an external project are stored under the specified base:
# TMP_DIR = <base>/tmp/<name>
# STAMP_DIR = <base>/Stamp/<name>
# DOWNLOAD_DIR = <base>/Download/<name>
# SOURCE_DIR = <base>/Source/<name>
# BINARY_DIR = <base>/Build/<name>
# INSTALL_DIR = <base>/Install/<name>
# If no PREFIX, EP_PREFIX, or EP_BASE is specified then the default
# is to set PREFIX to "<name>-prefix".
# Relative paths are interpreted with respect to the build directory
# corresponding to the source directory in which ExternalProject_Add is
# invoked.
# directories computed as follows. If the PREFIX option is given to
# ExternalProject_Add() or the EP_PREFIX directory property is set, then
# an external project is built and installed under the specified prefix:
#
# ::
#
# TMP_DIR = <prefix>/tmp
# STAMP_DIR = <prefix>/src/<name>-stamp
# DOWNLOAD_DIR = <prefix>/src
# SOURCE_DIR = <prefix>/src/<name>
# BINARY_DIR = <prefix>/src/<name>-build
# INSTALL_DIR = <prefix>
#
# Otherwise, if the EP_BASE directory property is set then components of
# an external project are stored under the specified base:
#
# ::
#
# TMP_DIR = <base>/tmp/<name>
# STAMP_DIR = <base>/Stamp/<name>
# DOWNLOAD_DIR = <base>/Download/<name>
# SOURCE_DIR = <base>/Source/<name>
# BINARY_DIR = <base>/Build/<name>
# INSTALL_DIR = <base>/Install/<name>
#
# If no PREFIX, EP_PREFIX, or EP_BASE is specified then the default is
# to set PREFIX to "<name>-prefix". Relative paths are interpreted with
# respect to the build directory corresponding to the source directory
# in which ExternalProject_Add is invoked.
#
# If SOURCE_DIR is explicitly set to an existing directory the project
# will be built from it.
# Otherwise a download step must be specified using one of the
# DOWNLOAD_COMMAND, CVS_*, SVN_*, or URL options.
# The URL option may refer locally to a directory or source tarball,
# or refer to a remote tarball (e.g. http://.../src.tgz).
# will be built from it. Otherwise a download step must be specified
# using one of the DOWNLOAD_COMMAND, CVS_*, SVN_*, or URL options. The
# URL option may refer locally to a directory or source tarball, or
# refer to a remote tarball (e.g. http://.../src.tgz).
#
# The 'ExternalProject_Add_Step' function adds a custom step to an external
# project:
# ExternalProject_Add_Step(<name> <step> # Names of project and custom step
# [COMMAND cmd...] # Command line invoked by this step
# [COMMENT "text..."] # Text printed when step executes
# [DEPENDEES steps...] # Steps on which this step depends
# [DEPENDERS steps...] # Steps that depend on this step
# [DEPENDS files...] # Files on which this step depends
# [ALWAYS 1] # No stamp file, step always runs
# [WORKING_DIRECTORY dir] # Working directory for command
# [LOG 1] # Wrap step in script to log output
# )
# The command line, comment, and working directory of every standard
# and custom step is processed to replace tokens
# <SOURCE_DIR>,
# <BINARY_DIR>,
# <INSTALL_DIR>,
# and <TMP_DIR>
# with corresponding property values.
# The 'ExternalProject_Add_Step' function adds a custom step to an
# external project:
#
# ::
#
# ExternalProject_Add_Step(<name> <step> # Names of project and custom step
# [COMMAND cmd...] # Command line invoked by this step
# [COMMENT "text..."] # Text printed when step executes
# [DEPENDEES steps...] # Steps on which this step depends
# [DEPENDERS steps...] # Steps that depend on this step
# [DEPENDS files...] # Files on which this step depends
# [ALWAYS 1] # No stamp file, step always runs
# [WORKING_DIRECTORY dir] # Working directory for command
# [LOG 1] # Wrap step in script to log output
# )
#
# The command line, comment, and working directory of every standard and
# custom step is processed to replace tokens <SOURCE_DIR>, <BINARY_DIR>,
# <INSTALL_DIR>, and <TMP_DIR> with corresponding property values.
#
# Any builtin step that specifies a "<step>_COMMAND cmd..." or custom
# step that specifies a "COMMAND cmd..." may specify additional command
# lines using the form "COMMAND cmd...". At build time the commands will
# be executed in order and aborted if any one fails. For example:
# ... BUILD_COMMAND make COMMAND echo done ...
# lines using the form "COMMAND cmd...". At build time the commands
# will be executed in order and aborted if any one fails. For example:
#
# ::
#
# ... BUILD_COMMAND make COMMAND echo done ...
#
# specifies to run "make" and then "echo done" during the build step.
# Whether the current working directory is preserved between commands
# is not defined. Behavior of shell operators like "&&" is not defined.
# Whether the current working directory is preserved between commands is
# not defined. Behavior of shell operators like "&&" is not defined.
#
# The 'ExternalProject_Get_Property' function retrieves external project
# target properties:
# ExternalProject_Get_Property(<name> [prop1 [prop2 [...]]])
# It stores property values in variables of the same name.
# Property names correspond to the keyword argument names of
#
# ::
#
# ExternalProject_Get_Property(<name> [prop1 [prop2 [...]]])
#
# It stores property values in variables of the same name. Property
# names correspond to the keyword argument names of
# 'ExternalProject_Add'.
#
# The 'ExternalProject_Add_StepTargets' function generates custom targets for
# the steps listed:
# ExternalProject_Add_StepTargets(<name> [step1 [step2 [...]]])
# The 'ExternalProject_Add_StepTargets' function generates custom
# targets for the steps listed:
#
# If STEP_TARGETS is set then ExternalProject_Add_StepTargets is automatically
# called at the end of matching calls to ExternalProject_Add_Step. Pass
# STEP_TARGETS explicitly to individual ExternalProject_Add calls, or
# implicitly to all ExternalProject_Add calls by setting the directory property
# EP_STEP_TARGETS.
# ::
#
# ExternalProject_Add_StepTargets(<name> [step1 [step2 [...]]])
#
#
#
# If STEP_TARGETS is set then ExternalProject_Add_StepTargets is
# automatically called at the end of matching calls to
# ExternalProject_Add_Step. Pass STEP_TARGETS explicitly to individual
# ExternalProject_Add calls, or implicitly to all ExternalProject_Add
# calls by setting the directory property EP_STEP_TARGETS.
#
# If STEP_TARGETS is not set, clients may still manually call
# ExternalProject_Add_StepTargets after calling ExternalProject_Add or
# ExternalProject_Add_Step.
#
# This functionality is provided to make it easy to drive the steps
# independently of each other by specifying targets on build command lines.
# For example, you may be submitting to a sub-project based dashboard, where
# you want to drive the configure portion of the build, then submit to the
# dashboard, followed by the build portion, followed by tests. If you invoke
# a custom target that depends on a step halfway through the step dependency
# chain, then all the previous steps will also run to ensure everything is
# up to date.
# independently of each other by specifying targets on build command
# lines. For example, you may be submitting to a sub-project based
# dashboard, where you want to drive the configure portion of the build,
# then submit to the dashboard, followed by the build portion, followed
# by tests. If you invoke a custom target that depends on a step
# halfway through the step dependency chain, then all the previous steps
# will also run to ensure everything is up to date.
#
# For example, to drive configure, build and test steps independently for each
# ExternalProject_Add call in your project, write the following line prior to
# any ExternalProject_Add calls in your CMakeLists file:
# For example, to drive configure, build and test steps independently
# for each ExternalProject_Add call in your project, write the following
# line prior to any ExternalProject_Add calls in your CMakeLists file:
#
# set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
# ::
#
# set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
#=============================================================================
# Copyright 2008-2012 Kitware, Inc.
+205 -128
View File
@@ -1,167 +1,244 @@
# - Macros for generating a summary of enabled/disabled features
#.rst:
# FeatureSummary
# --------------
#
# This module provides the macros feature_summary(), set_package_properties() and
# add_feature_info().
# For compatibility it also still provides set_package_info(), set_feature_info(),
# Macros for generating a summary of enabled/disabled features
#
#
#
# This module provides the macros feature_summary(),
# set_package_properties() and add_feature_info(). For compatibility it
# also still provides set_package_info(), set_feature_info(),
# print_enabled_features() and print_disabled_features().
#
# These macros can be used to generate a summary of enabled and disabled
# packages and/or feature for a build tree:
#
# -- The following OPTIONAL packages have been found:
# LibXml2 (required version >= 2.4) , XML processing library. , <http://xmlsoft.org>
# * Enables HTML-import in MyWordProcessor
# * Enables odt-export in MyWordProcessor
# PNG , A PNG image library. , <http://www.libpng.org/pub/png/>
# * Enables saving screenshots
# -- The following OPTIONAL packages have not been found:
# Lua51 , The Lua scripting language. , <http://www.lua.org>
# * Enables macros in MyWordProcessor
# Foo , Foo provides cool stuff.
# ::
#
# -- The following OPTIONAL packages have been found:
# LibXml2 (required version >= 2.4) , XML processing library. , <http://xmlsoft.org>
# * Enables HTML-import in MyWordProcessor
# * Enables odt-export in MyWordProcessor
# PNG , A PNG image library. , <http://www.libpng.org/pub/png/>
# * Enables saving screenshots
# -- The following OPTIONAL packages have not been found:
# Lua51 , The Lua scripting language. , <http://www.lua.org>
# * Enables macros in MyWordProcessor
# Foo , Foo provides cool stuff.
#
#
# FEATURE_SUMMARY( [FILENAME <file>]
# [APPEND]
# [VAR <variable_name>]
# [INCLUDE_QUIET_PACKAGES]
# [FATAL_ON_MISSING_REQUIRED_PACKAGES]
# [DESCRIPTION "Found packages:"]
# WHAT (ALL | PACKAGES_FOUND | PACKAGES_NOT_FOUND
# | ENABLED_FEATURES | DISABLED_FEATURES]
# )
#
# The FEATURE_SUMMARY() macro can be used to print information about enabled
# or disabled packages or features of a project.
# By default, only the names of the features/packages will be printed and their
# required version when one was specified. Use SET_PACKAGE_PROPERTIES() to add more
# useful information, like e.g. a download URL for the respective package or their
# purpose in the project.
#
# The WHAT option is the only mandatory option. Here you specify what information
# will be printed:
# ALL: print everything
# ENABLED_FEATURES: the list of all features which are enabled
# DISABLED_FEATURES: the list of all features which are disabled
# PACKAGES_FOUND: the list of all packages which have been found
# PACKAGES_NOT_FOUND: the list of all packages which have not been found
# OPTIONAL_PACKAGES_FOUND: only those packages which have been found which have the type OPTIONAL
# OPTIONAL_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type OPTIONAL
# RECOMMENDED_PACKAGES_FOUND: only those packages which have been found which have the type RECOMMENDED
# RECOMMENDED_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type RECOMMENDED
# REQUIRED_PACKAGES_FOUND: only those packages which have been found which have the type REQUIRED
# REQUIRED_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type REQUIRED
# RUNTIME_PACKAGES_FOUND: only those packages which have been found which have the type RUNTIME
# RUNTIME_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type RUNTIME
#
# If a FILENAME is given, the information is printed into this file. If APPEND
# is used, it is appended to this file, otherwise the file is overwritten if
# it already existed.
# If the VAR option is used, the information is "printed" into the specified
# variable.
# If FILENAME is not used, the information is printed to the terminal.
# Using the DESCRIPTION option a description or headline can be set which will
# be printed above the actual content.
# If INCLUDE_QUIET_PACKAGES is given, packages which have been searched with find_package(... QUIET) will
# also be listed. By default they are skipped.
# If FATAL_ON_MISSING_REQUIRED_PACKAGES is given, CMake will abort if a package which is marked as REQUIRED
# has not been found.
# ::
#
# FEATURE_SUMMARY( [FILENAME <file>]
# [APPEND]
# [VAR <variable_name>]
# [INCLUDE_QUIET_PACKAGES]
# [FATAL_ON_MISSING_REQUIRED_PACKAGES]
# [DESCRIPTION "Found packages:"]
# WHAT (ALL | PACKAGES_FOUND | PACKAGES_NOT_FOUND
# | ENABLED_FEATURES | DISABLED_FEATURES]
# )
#
#
#
# The FEATURE_SUMMARY() macro can be used to print information about
# enabled or disabled packages or features of a project. By default,
# only the names of the features/packages will be printed and their
# required version when one was specified. Use SET_PACKAGE_PROPERTIES()
# to add more useful information, like e.g. a download URL for the
# respective package or their purpose in the project.
#
# The WHAT option is the only mandatory option. Here you specify what
# information will be printed:
#
# ::
#
# ALL: print everything
# ENABLED_FEATURES: the list of all features which are enabled
# DISABLED_FEATURES: the list of all features which are disabled
# PACKAGES_FOUND: the list of all packages which have been found
# PACKAGES_NOT_FOUND: the list of all packages which have not been found
# OPTIONAL_PACKAGES_FOUND: only those packages which have been found which have the type OPTIONAL
# OPTIONAL_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type OPTIONAL
# RECOMMENDED_PACKAGES_FOUND: only those packages which have been found which have the type RECOMMENDED
# RECOMMENDED_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type RECOMMENDED
# REQUIRED_PACKAGES_FOUND: only those packages which have been found which have the type REQUIRED
# REQUIRED_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type REQUIRED
# RUNTIME_PACKAGES_FOUND: only those packages which have been found which have the type RUNTIME
# RUNTIME_PACKAGES_NOT_FOUND: only those packages which have not been found which have the type RUNTIME
#
#
#
# If a FILENAME is given, the information is printed into this file. If
# APPEND is used, it is appended to this file, otherwise the file is
# overwritten if it already existed. If the VAR option is used, the
# information is "printed" into the specified variable. If FILENAME is
# not used, the information is printed to the terminal. Using the
# DESCRIPTION option a description or headline can be set which will be
# printed above the actual content. If INCLUDE_QUIET_PACKAGES is given,
# packages which have been searched with find_package(... QUIET) will
# also be listed. By default they are skipped. If
# FATAL_ON_MISSING_REQUIRED_PACKAGES is given, CMake will abort if a
# package which is marked as REQUIRED has not been found.
#
# Example 1, append everything to a file:
# feature_summary(WHAT ALL
# FILENAME ${CMAKE_BINARY_DIR}/all.log APPEND)
#
# Example 2, print the enabled features into the variable enabledFeaturesText, including QUIET packages:
# feature_summary(WHAT ENABLED_FEATURES
# INCLUDE_QUIET_PACKAGES
# DESCRIPTION "Enabled Features:"
# VAR enabledFeaturesText)
# message(STATUS "${enabledFeaturesText}")
# ::
#
# feature_summary(WHAT ALL
# FILENAME ${CMAKE_BINARY_DIR}/all.log APPEND)
#
#
# SET_PACKAGE_PROPERTIES(<name> PROPERTIES [ URL <url> ]
# [ DESCRIPTION <description> ]
# [ TYPE (RUNTIME|OPTIONAL|RECOMMENDED|REQUIRED) ]
# [ PURPOSE <purpose> ]
# )
#
# Use this macro to set up information about the named package, which can
# then be displayed via FEATURE_SUMMARY().
# This can be done either directly in the Find-module or in the project
# which uses the module after the find_package() call.
# The features for which information can be set are added automatically by the
# find_package() command.
# Example 2, print the enabled features into the variable
# enabledFeaturesText, including QUIET packages:
#
# URL: this should be the homepage of the package, or something similar. Ideally this is set
# already directly in the Find-module.
# ::
#
# DESCRIPTION: A short description what that package is, at most one sentence.
# feature_summary(WHAT ENABLED_FEATURES
# INCLUDE_QUIET_PACKAGES
# DESCRIPTION "Enabled Features:"
# VAR enabledFeaturesText)
# message(STATUS "${enabledFeaturesText}")
#
#
#
#
#
# ::
#
# SET_PACKAGE_PROPERTIES(<name> PROPERTIES [ URL <url> ]
# [ DESCRIPTION <description> ]
# [ TYPE (RUNTIME|OPTIONAL|RECOMMENDED|REQUIRED) ]
# [ PURPOSE <purpose> ]
# )
#
#
#
# Use this macro to set up information about the named package, which
# can then be displayed via FEATURE_SUMMARY(). This can be done either
# directly in the Find-module or in the project which uses the module
# after the find_package() call. The features for which information can
# be set are added automatically by the find_package() command.
#
# URL: this should be the homepage of the package, or something similar.
# Ideally this is set already directly in the Find-module.
#
# TYPE: What type of dependency has the using project on that package. Default is OPTIONAL.
# In this case it is a package which can be used by the project when available at buildtime,
# but it also work without. RECOMMENDED is similar to OPTIONAL, i.e. the project will build
# if the package is not present, but the functionality of the resulting binaries will be severly
# limited. If a REQUIRED package is not available at buildtime, the project may not even build. This
# can be combined with the FATAL_ON_MISSING_REQUIRED_PACKAGES argument for feature_summary().
# Last, a RUNTIME package is a package which is actually not used at all during the build, but
# which is required for actually running the resulting binaries. So if such a package is missing,
# the project can still be built, but it may not work later on. If set_package_properties() is called
# multiple times for the same package with different TYPEs, the TYPE is only changed to higher
# TYPEs ( RUNTIME < OPTIONAL < RECOMMENDED < REQUIRED ), lower TYPEs are ignored.
# The TYPE property is project-specific, so it cannot be set by the Find-module, but must be set in the project.
# DESCRIPTION: A short description what that package is, at most one
# sentence. Ideally this is set already directly in the Find-module.
#
# TYPE: What type of dependency has the using project on that package.
# Default is OPTIONAL. In this case it is a package which can be used
# by the project when available at buildtime, but it also work without.
# RECOMMENDED is similar to OPTIONAL, i.e. the project will build if
# the package is not present, but the functionality of the resulting
# binaries will be severly limited. If a REQUIRED package is not
# available at buildtime, the project may not even build. This can be
# combined with the FATAL_ON_MISSING_REQUIRED_PACKAGES argument for
# feature_summary(). Last, a RUNTIME package is a package which is
# actually not used at all during the build, but which is required for
# actually running the resulting binaries. So if such a package is
# missing, the project can still be built, but it may not work later on.
# If set_package_properties() is called multiple times for the same
# package with different TYPEs, the TYPE is only changed to higher TYPEs
# ( RUNTIME < OPTIONAL < RECOMMENDED < REQUIRED ), lower TYPEs are
# ignored. The TYPE property is project-specific, so it cannot be set
# by the Find-module, but must be set in the project.
#
# PURPOSE: This describes which features this package enables in the
# project, i.e. it tells the user what functionality he gets in the
# resulting binaries. If set_package_properties() is called multiple
# times for a package, all PURPOSE properties are appended to a list of
# purposes of the package in the project. As the TYPE property, also
# the PURPOSE property is project-specific, so it cannot be set by the
# Find-module, but must be set in the project.
#
# PURPOSE: This describes which features this package enables in the project, i.e. it tells the user
# what functionality he gets in the resulting binaries.
# If set_package_properties() is called multiple times for a package, all PURPOSE properties are appended
# to a list of purposes of the package in the project.
# As the TYPE property, also the PURPOSE property
# is project-specific, so it cannot be set by the Find-module, but must be set in the project.
#
#
# Example for setting the info for a package:
# find_package(LibXml2)
# set_package_properties(LibXml2 PROPERTIES DESCRIPTION "A XML processing library."
# URL "http://xmlsoft.org/")
#
# set_package_properties(LibXml2 PROPERTIES TYPE RECOMMENDED
# PURPOSE "Enables HTML-import in MyWordProcessor")
# ...
# set_package_properties(LibXml2 PROPERTIES TYPE OPTIONAL
# PURPOSE "Enables odt-export in MyWordProcessor")
# ::
#
# find_package(DBUS)
# set_package_properties(DBUS PROPERTIES TYPE RUNTIME
# PURPOSE "Necessary to disable the screensaver during a presentation" )
# find_package(LibXml2)
# set_package_properties(LibXml2 PROPERTIES DESCRIPTION "A XML processing library."
# URL "http://xmlsoft.org/")
#
# ADD_FEATURE_INFO(<name> <enabled> <description>)
# Use this macro to add information about a feature with the given <name>.
# <enabled> contains whether this feature is enabled or not, <description>
# is a text describing the feature.
# The information can be displayed using feature_summary() for ENABLED_FEATURES
# and DISABLED_FEATURES respectively.
#
#
# ::
#
# set_package_properties(LibXml2 PROPERTIES TYPE RECOMMENDED
# PURPOSE "Enables HTML-import in MyWordProcessor")
# ...
# set_package_properties(LibXml2 PROPERTIES TYPE OPTIONAL
# PURPOSE "Enables odt-export in MyWordProcessor")
#
#
#
# ::
#
# find_package(DBUS)
# set_package_properties(DBUS PROPERTIES TYPE RUNTIME
# PURPOSE "Necessary to disable the screensaver during a presentation" )
#
#
#
# ::
#
# ADD_FEATURE_INFO(<name> <enabled> <description>)
#
# Use this macro to add information about a feature with the given
# <name>. <enabled> contains whether this feature is enabled or not,
# <description> is a text describing the feature. The information can
# be displayed using feature_summary() for ENABLED_FEATURES and
# DISABLED_FEATURES respectively.
#
# Example for setting the info for a feature:
# option(WITH_FOO "Help for foo" ON)
# add_feature_info(Foo WITH_FOO "The Foo feature provides very cool stuff.")
#
# ::
#
# option(WITH_FOO "Help for foo" ON)
# add_feature_info(Foo WITH_FOO "The Foo feature provides very cool stuff.")
#
#
# The following macros are provided for compatibility with previous CMake versions:
#
# SET_PACKAGE_INFO(<name> <description> [<url> [<purpose>] ] )
# Use this macro to set up information about the named package, which can
# then be displayed via FEATURE_SUMMARY().
# This can be done either directly in the Find-module or in the project
# which uses the module after the find_package() call.
# The features for which information can be set are added automatically by the
# find_package() command.
#
# PRINT_ENABLED_FEATURES()
# Does the same as FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
#
# PRINT_DISABLED_FEATURES()
# Does the same as FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
# The following macros are provided for compatibility with previous
# CMake versions:
#
# ::
#
# SET_PACKAGE_INFO(<name> <description> [<url> [<purpose>] ] )
#
# Use this macro to set up information about the named package, which
# can then be displayed via FEATURE_SUMMARY(). This can be done either
# directly in the Find-module or in the project which uses the module
# after the find_package() call. The features for which information can
# be set are added automatically by the find_package() command.
#
# ::
#
# PRINT_ENABLED_FEATURES()
#
# Does the same as FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION
# "Enabled features:")
#
# ::
#
# PRINT_DISABLED_FEATURES()
#
# Does the same as FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION
# "Disabled features:")
#
# ::
#
# SET_FEATURE_INFO(<name> <description> [<url>] )
#
# SET_FEATURE_INFO(<name> <description> [<url>] )
# Does the same as SET_PACKAGE_INFO(<name> <description> <url> )
#=============================================================================
+18 -8
View File
@@ -1,15 +1,25 @@
# - Find alsa
#.rst:
# FindALSA
# --------
#
# Find alsa
#
# Find the alsa libraries (asound)
#
# This module defines the following variables:
# ALSA_FOUND - True if ALSA_INCLUDE_DIR & ALSA_LIBRARY are found
# ALSA_LIBRARIES - Set when ALSA_LIBRARY is found
# ALSA_INCLUDE_DIRS - Set when ALSA_INCLUDE_DIR is found
# ::
#
# ALSA_INCLUDE_DIR - where to find asoundlib.h, etc.
# ALSA_LIBRARY - the asound library
# ALSA_VERSION_STRING - the version of alsa found (since CMake 2.8.8)
# This module defines the following variables:
# ALSA_FOUND - True if ALSA_INCLUDE_DIR & ALSA_LIBRARY are found
# ALSA_LIBRARIES - Set when ALSA_LIBRARY is found
# ALSA_INCLUDE_DIRS - Set when ALSA_INCLUDE_DIR is found
#
#
#
# ::
#
# ALSA_INCLUDE_DIR - where to find asoundlib.h, etc.
# ALSA_LIBRARY - the asound library
# ALSA_VERSION_STRING - the version of alsa found (since CMake 2.8.8)
#=============================================================================
# Copyright 2009-2011 Kitware, Inc.
+13 -6
View File
@@ -1,11 +1,18 @@
# - Try to find ASPELL
#.rst:
# FindASPELL
# ----------
#
# Try to find ASPELL
#
# Once done this will define
#
# ASPELL_FOUND - system has ASPELL
# ASPELL_EXECUTABLE - the ASPELL executable
# ASPELL_INCLUDE_DIR - the ASPELL include directory
# ASPELL_LIBRARIES - The libraries needed to use ASPELL
# ASPELL_DEFINITIONS - Compiler switches required for using ASPELL
# ::
#
# ASPELL_FOUND - system has ASPELL
# ASPELL_EXECUTABLE - the ASPELL executable
# ASPELL_INCLUDE_DIR - the ASPELL include directory
# ASPELL_LIBRARIES - The libraries needed to use ASPELL
# ASPELL_DEFINITIONS - Compiler switches required for using ASPELL
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+16 -9
View File
@@ -1,13 +1,20 @@
# - Locate AVIFILE library and include paths
#.rst:
# FindAVIFile
# -----------
#
# Locate AVIFILE library and include paths
#
# AVIFILE (http://avifile.sourceforge.net/)is a set of libraries for
# i386 machines
# to use various AVI codecs. Support is limited beyond Linux. Windows
# provides native AVI support, and so doesn't need this library.
# This module defines
# AVIFILE_INCLUDE_DIR, where to find avifile.h , etc.
# AVIFILE_LIBRARIES, the libraries to link against
# AVIFILE_DEFINITIONS, definitions to use when compiling
# AVIFILE_FOUND, If false, don't try to use AVIFILE
# i386 machines to use various AVI codecs. Support is limited beyond
# Linux. Windows provides native AVI support, and so doesn't need this
# library. This module defines
#
# ::
#
# AVIFILE_INCLUDE_DIR, where to find avifile.h , etc.
# AVIFILE_LIBRARIES, the libraries to link against
# AVIFILE_DEFINITIONS, definitions to use when compiling
# AVIFILE_FOUND, If false, don't try to use AVIFILE
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+25 -13
View File
@@ -1,20 +1,32 @@
# - Find Armadillo
#.rst:
# FindArmadillo
# -------------
#
# Find Armadillo
#
# Find the Armadillo C++ library
#
# Using Armadillo:
# find_package(Armadillo REQUIRED)
# include_directories(${ARMADILLO_INCLUDE_DIRS})
# add_executable(foo foo.cc)
# target_link_libraries(foo ${ARMADILLO_LIBRARIES})
#
# ::
#
# find_package(Armadillo REQUIRED)
# include_directories(${ARMADILLO_INCLUDE_DIRS})
# add_executable(foo foo.cc)
# target_link_libraries(foo ${ARMADILLO_LIBRARIES})
#
# This module sets the following variables:
# ARMADILLO_FOUND - set to true if the library is found
# ARMADILLO_INCLUDE_DIRS - list of required include directories
# ARMADILLO_LIBRARIES - list of libraries to be linked
# ARMADILLO_VERSION_MAJOR - major version number
# ARMADILLO_VERSION_MINOR - minor version number
# ARMADILLO_VERSION_PATCH - patch version number
# ARMADILLO_VERSION_STRING - version number as a string (ex: "1.0.4")
# ARMADILLO_VERSION_NAME - name of the version (ex: "Antipodean Antileech")
#
# ::
#
# ARMADILLO_FOUND - set to true if the library is found
# ARMADILLO_INCLUDE_DIRS - list of required include directories
# ARMADILLO_LIBRARIES - list of libraries to be linked
# ARMADILLO_VERSION_MAJOR - major version number
# ARMADILLO_VERSION_MINOR - minor version number
# ARMADILLO_VERSION_PATCH - patch version number
# ARMADILLO_VERSION_STRING - version number as a string (ex: "1.0.4")
# ARMADILLO_VERSION_NAME - name of the version (ex: "Antipodean Antileech")
#=============================================================================
# Copyright 2011 Clement Creusot <creusot@cs.york.ac.uk>
+50 -26
View File
@@ -1,37 +1,61 @@
# - Find bison executable and provides macros to generate custom build rules
#.rst:
# FindBISON
# ---------
#
# Find bison executable and provides macros to generate custom build rules
#
# The module defines the following variables:
#
# BISON_EXECUTABLE - path to the bison program
# BISON_VERSION - version of bison
# BISON_FOUND - true if the program was found
# ::
#
# BISON_EXECUTABLE - path to the bison program
# BISON_VERSION - version of bison
# BISON_FOUND - true if the program was found
#
#
#
# The minimum required version of bison can be specified using the
# standard CMake syntax, e.g. find_package(BISON 2.1.3)
# standard CMake syntax, e.g. find_package(BISON 2.1.3)
#
# If bison is found, the module defines the macros:
# BISON_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
# [COMPILE_FLAGS <string>])
# which will create a custom rule to generate a parser. <YaccInput> is
# the path to a yacc file. <CodeOutput> is the name of the source file
# generated by bison. A header file is also be generated, and contains
# the token list. If COMPILE_FLAGS option is specified, the next
# parameter is added in the bison command line. if VERBOSE option is
# specified, <file> is created and contains verbose descriptions of the
# grammar and parser. The macro defines a set of variables:
# BISON_${Name}_DEFINED - true is the macro ran successfully
# BISON_${Name}_INPUT - The input source file, an alias for <YaccInput>
# BISON_${Name}_OUTPUT_SOURCE - The source file generated by bison
# BISON_${Name}_OUTPUT_HEADER - The header file generated by bison
# BISON_${Name}_OUTPUTS - The sources files generated by bison
# BISON_${Name}_COMPILE_FLAGS - Options used in the bison command line
#
# ====================================================================
# Example:
# ::
#
# find_package(BISON)
# BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
# add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
# ====================================================================
# BISON_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
# [COMPILE_FLAGS <string>])
#
# which will create a custom rule to generate a parser. <YaccInput> is
# the path to a yacc file. <CodeOutput> is the name of the source file
# generated by bison. A header file is also be generated, and contains
# the token list. If COMPILE_FLAGS option is specified, the next
# parameter is added in the bison command line. if VERBOSE option is
# specified, <file> is created and contains verbose descriptions of the
# grammar and parser. The macro defines a set of variables:
#
# ::
#
# BISON_${Name}_DEFINED - true is the macro ran successfully
# BISON_${Name}_INPUT - The input source file, an alias for <YaccInput>
# BISON_${Name}_OUTPUT_SOURCE - The source file generated by bison
# BISON_${Name}_OUTPUT_HEADER - The header file generated by bison
# BISON_${Name}_OUTPUTS - The sources files generated by bison
# BISON_${Name}_COMPILE_FLAGS - Options used in the bison command line
#
#
#
# ::
#
# ====================================================================
# Example:
#
#
#
# ::
#
# find_package(BISON)
# BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
# add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
# ====================================================================
#=============================================================================
# Copyright 2009 Kitware, Inc.
+35 -25
View File
@@ -1,31 +1,41 @@
# - Find BLAS library
# This module finds an installed fortran library that implements the BLAS
# linear-algebra interface (see http://www.netlib.org/blas/).
# The list of libraries searched for is taken
# from the autoconf macro file, acx_blas.m4 (distributed at
#.rst:
# FindBLAS
# --------
#
# Find BLAS library
#
# This module finds an installed fortran library that implements the
# BLAS linear-algebra interface (see http://www.netlib.org/blas/). The
# list of libraries searched for is taken from the autoconf macro file,
# acx_blas.m4 (distributed at
# http://ac-archive.sourceforge.net/ac-archive/acx_blas.html).
#
# This module sets the following variables:
# BLAS_FOUND - set to true if a library implementing the BLAS interface
# is found
# BLAS_LINKER_FLAGS - uncached list of required linker flags (excluding -l
# and -L).
# BLAS_LIBRARIES - uncached list of libraries (using full path name) to
# link against to use BLAS
# BLAS95_LIBRARIES - uncached list of libraries (using full path name)
# to link against to use BLAS95 interface
# BLAS95_FOUND - set to true if a library implementing the BLAS f95 interface
# is found
# BLA_STATIC if set on this determines what kind of linkage we do (static)
# BLA_VENDOR if set checks only the specified vendor, if not set checks
# all the possibilities
# BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK
##########
### List of vendors (BLA_VENDOR) valid in this module
## Goto,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL,Intel10_32 (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit,lp thread model, lp64 model),
## Intel10_64lp_seq (intel mkl v10 64 bit,sequential code, lp64 model),
## Intel( older versions of mkl 32 and 64 bit), ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic
# C/CXX should be enabled to use Intel mkl
#
# ::
#
# BLAS_FOUND - set to true if a library implementing the BLAS interface
# is found
# BLAS_LINKER_FLAGS - uncached list of required linker flags (excluding -l
# and -L).
# BLAS_LIBRARIES - uncached list of libraries (using full path name) to
# link against to use BLAS
# BLAS95_LIBRARIES - uncached list of libraries (using full path name)
# to link against to use BLAS95 interface
# BLAS95_FOUND - set to true if a library implementing the BLAS f95 interface
# is found
# BLA_STATIC if set on this determines what kind of linkage we do (static)
# BLA_VENDOR if set checks only the specified vendor, if not set checks
# all the possibilities
# BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK
#
# ######### ## List of vendors (BLA_VENDOR) valid in this module #
# Goto,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL,Intel10_32
# (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit,lp thread
# model, lp64 model), # Intel10_64lp_seq (intel mkl v10 64
# bit,sequential code, lp64 model), # Intel( older versions of mkl 32
# and 64 bit), ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic C/CXX should be
# enabled to use Intel mkl
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+13 -6
View File
@@ -1,11 +1,18 @@
# - Try to find BZip2
#.rst:
# FindBZip2
# ---------
#
# Try to find BZip2
#
# Once done this will define
#
# BZIP2_FOUND - system has BZip2
# BZIP2_INCLUDE_DIR - the BZip2 include directory
# BZIP2_LIBRARIES - Link these to use BZip2
# BZIP2_NEED_PREFIX - this is set if the functions are prefixed with BZ2_
# BZIP2_VERSION_STRING - the version of BZip2 found (since CMake 2.8.8)
# ::
#
# BZIP2_FOUND - system has BZip2
# BZIP2_INCLUDE_DIR - the BZip2 include directory
# BZIP2_LIBRARIES - Link these to use BZip2
# BZIP2_NEED_PREFIX - this is set if the functions are prefixed with BZ2_
# BZIP2_VERSION_STRING - the version of BZip2 found (since CMake 2.8.8)
#=============================================================================
# Copyright 2006-2012 Kitware, Inc.
+157 -113
View File
@@ -1,136 +1,180 @@
# - Find Boost include dirs and libraries
#.rst:
# FindBoost
# ---------
#
# Find Boost include dirs and libraries
#
# Use this module by invoking find_package with the form:
# find_package(Boost
# [version] [EXACT] # Minimum or EXACT version e.g. 1.36.0
# [REQUIRED] # Fail with error if Boost is not found
# [COMPONENTS <libs>...] # Boost libraries by their canonical name
# ) # e.g. "date_time" for "libboost_date_time"
#
# ::
#
# find_package(Boost
# [version] [EXACT] # Minimum or EXACT version e.g. 1.36.0
# [REQUIRED] # Fail with error if Boost is not found
# [COMPONENTS <libs>...] # Boost libraries by their canonical name
# ) # e.g. "date_time" for "libboost_date_time"
#
# This module finds headers and requested component libraries OR a CMake
# package configuration file provided by a "Boost CMake" build. For the
# latter case skip to the "Boost CMake" section below. For the former
# case results are reported in variables:
# Boost_FOUND - True if headers and requested libraries were found
# Boost_INCLUDE_DIRS - Boost include directories
# Boost_LIBRARY_DIRS - Link directories for Boost libraries
# Boost_LIBRARIES - Boost component libraries to be linked
# Boost_<C>_FOUND - True if component <C> was found (<C> is upper-case)
# Boost_<C>_LIBRARY - Libraries to link for component <C> (may include
# target_link_libraries debug/optimized keywords)
# Boost_VERSION - BOOST_VERSION value from boost/version.hpp
# Boost_LIB_VERSION - Version string appended to library filenames
# Boost_MAJOR_VERSION - Boost major version number (X in X.y.z)
# Boost_MINOR_VERSION - Boost minor version number (Y in x.Y.z)
# Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
# Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
# - Pass to add_definitions() to have diagnostic
# information about Boost's automatic linking
# displayed during compilation
#
# ::
#
# Boost_FOUND - True if headers and requested libraries were found
# Boost_INCLUDE_DIRS - Boost include directories
# Boost_LIBRARY_DIRS - Link directories for Boost libraries
# Boost_LIBRARIES - Boost component libraries to be linked
# Boost_<C>_FOUND - True if component <C> was found (<C> is upper-case)
# Boost_<C>_LIBRARY - Libraries to link for component <C> (may include
# target_link_libraries debug/optimized keywords)
# Boost_VERSION - BOOST_VERSION value from boost/version.hpp
# Boost_LIB_VERSION - Version string appended to library filenames
# Boost_MAJOR_VERSION - Boost major version number (X in X.y.z)
# Boost_MINOR_VERSION - Boost minor version number (Y in x.Y.z)
# Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
# Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
# - Pass to add_definitions() to have diagnostic
# information about Boost's automatic linking
# displayed during compilation
#
#
#
# This module reads hints about search locations from variables:
# BOOST_ROOT - Preferred installation prefix
# (or BOOSTROOT)
# BOOST_INCLUDEDIR - Preferred include directory e.g. <prefix>/include
# BOOST_LIBRARYDIR - Preferred library directory e.g. <prefix>/lib
# Boost_NO_SYSTEM_PATHS - Set to ON to disable searching in locations not
# specified by these hint variables. Default is OFF.
# Boost_ADDITIONAL_VERSIONS
# - List of Boost versions not known to this module
# (Boost install locations may contain the version)
#
# ::
#
# BOOST_ROOT - Preferred installation prefix
# (or BOOSTROOT)
# BOOST_INCLUDEDIR - Preferred include directory e.g. <prefix>/include
# BOOST_LIBRARYDIR - Preferred library directory e.g. <prefix>/lib
# Boost_NO_SYSTEM_PATHS - Set to ON to disable searching in locations not
# specified by these hint variables. Default is OFF.
# Boost_ADDITIONAL_VERSIONS
# - List of Boost versions not known to this module
# (Boost install locations may contain the version)
#
# and saves search results persistently in CMake cache entries:
# Boost_INCLUDE_DIR - Directory containing Boost headers
# Boost_LIBRARY_DIR - Directory containing Boost libraries
# Boost_<C>_LIBRARY_DEBUG - Component <C> library debug variant
# Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
# Users may set these hints or results as cache entries. Projects should
# not read these entries directly but instead use the above result variables.
# Note that some hint names start in upper-case "BOOST". One may specify
# these as environment variables if they are not specified as CMake variables
# or cache entries.
#
# This module first searches for the Boost header files using the above hint
# variables (excluding BOOST_LIBRARYDIR) and saves the result in
# Boost_INCLUDE_DIR. Then it searches for requested component libraries using
# the above hints (excluding BOOST_INCLUDEDIR and Boost_ADDITIONAL_VERSIONS),
# "lib" directories near Boost_INCLUDE_DIR, and the library name configuration
# settings below. It saves the library directory in Boost_LIBRARY_DIR and
# individual library locations in Boost_<C>_LIBRARY_DEBUG and
# Boost_<C>_LIBRARY_RELEASE. When one changes settings used by previous
# searches in the same build tree (excluding environment variables) this
# module discards previous search results affected by the changes and searches
# again.
# ::
#
# Boost_INCLUDE_DIR - Directory containing Boost headers
# Boost_LIBRARY_DIR - Directory containing Boost libraries
# Boost_<C>_LIBRARY_DEBUG - Component <C> library debug variant
# Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
#
# Users may set these hints or results as cache entries. Projects
# should not read these entries directly but instead use the above
# result variables. Note that some hint names start in upper-case
# "BOOST". One may specify these as environment variables if they are
# not specified as CMake variables or cache entries.
#
# This module first searches for the Boost header files using the above
# hint variables (excluding BOOST_LIBRARYDIR) and saves the result in
# Boost_INCLUDE_DIR. Then it searches for requested component libraries
# using the above hints (excluding BOOST_INCLUDEDIR and
# Boost_ADDITIONAL_VERSIONS), "lib" directories near Boost_INCLUDE_DIR,
# and the library name configuration settings below. It saves the
# library directory in Boost_LIBRARY_DIR and individual library
# locations in Boost_<C>_LIBRARY_DEBUG and Boost_<C>_LIBRARY_RELEASE.
# When one changes settings used by previous searches in the same build
# tree (excluding environment variables) this module discards previous
# search results affected by the changes and searches again.
#
# Boost libraries come in many variants encoded in their file name.
# Users or projects may tell this module which variant to find by
# setting variables:
#
# ::
#
# Boost_USE_MULTITHREADED - Set to OFF to use the non-multithreaded
# libraries ('mt' tag). Default is ON.
# Boost_USE_STATIC_LIBS - Set to ON to force the use of the static
# libraries. Default is OFF.
# Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
# libraries linked statically to the C++ runtime
# ('s' tag). Default is platform dependent.
# Boost_USE_DEBUG_PYTHON - Set to ON to use libraries compiled with a
# debug Python build ('y' tag). Default is OFF.
# Boost_USE_STLPORT - Set to ON to use libraries compiled with
# STLPort ('p' tag). Default is OFF.
# Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
# - Set to ON to use libraries compiled with
# STLPort deprecated "native iostreams"
# ('n' tag). Default is OFF.
# Boost_COMPILER - Set to the compiler-specific library suffix
# (e.g. "-gcc43"). Default is auto-computed
# for the C++ compiler in use.
# Boost_THREADAPI - Suffix for "thread" component library name,
# such as "pthread" or "win32". Names with
# and without this suffix will both be tried.
#
# Boost libraries come in many variants encoded in their file name. Users or
# projects may tell this module which variant to find by setting variables:
# Boost_USE_MULTITHREADED - Set to OFF to use the non-multithreaded
# libraries ('mt' tag). Default is ON.
# Boost_USE_STATIC_LIBS - Set to ON to force the use of the static
# libraries. Default is OFF.
# Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
# libraries linked statically to the C++ runtime
# ('s' tag). Default is platform dependent.
# Boost_USE_DEBUG_PYTHON - Set to ON to use libraries compiled with a
# debug Python build ('y' tag). Default is OFF.
# Boost_USE_STLPORT - Set to ON to use libraries compiled with
# STLPort ('p' tag). Default is OFF.
# Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
# - Set to ON to use libraries compiled with
# STLPort deprecated "native iostreams"
# ('n' tag). Default is OFF.
# Boost_COMPILER - Set to the compiler-specific library suffix
# (e.g. "-gcc43"). Default is auto-computed
# for the C++ compiler in use.
# Boost_THREADAPI - Suffix for "thread" component library name,
# such as "pthread" or "win32". Names with
# and without this suffix will both be tried.
# Other variables one may set to control this module are:
# Boost_DEBUG - Set to ON to enable debug output from FindBoost.
# Please enable this before filing any bug report.
# Boost_DETAILED_FAILURE_MSG
# - Set to ON to add detailed information to the
# failure message even when the REQUIRED option
# is not given to the find_package call.
# Boost_REALPATH - Set to ON to resolve symlinks for discovered
# libraries to assist with packaging. For example,
# the "system" component library may be resolved to
# "/usr/lib/libboost_system.so.1.42.0" instead of
# "/usr/lib/libboost_system.so". This does not
# affect linking and should not be enabled unless
# the user needs this information.
#
# ::
#
# Boost_DEBUG - Set to ON to enable debug output from FindBoost.
# Please enable this before filing any bug report.
# Boost_DETAILED_FAILURE_MSG
# - Set to ON to add detailed information to the
# failure message even when the REQUIRED option
# is not given to the find_package call.
# Boost_REALPATH - Set to ON to resolve symlinks for discovered
# libraries to assist with packaging. For example,
# the "system" component library may be resolved to
# "/usr/lib/libboost_system.so.1.42.0" instead of
# "/usr/lib/libboost_system.so". This does not
# affect linking and should not be enabled unless
# the user needs this information.
#
# On Visual Studio and Borland compilers Boost headers request automatic
# linking to corresponding libraries. This requires matching libraries to be
# linked explicitly or available in the link library search path. In this
# case setting Boost_USE_STATIC_LIBS to OFF may not achieve dynamic linking.
# Boost automatic linking typically requests static libraries with a few
# exceptions (such as Boost.Python). Use
# add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
# linking to corresponding libraries. This requires matching libraries
# to be linked explicitly or available in the link library search path.
# In this case setting Boost_USE_STATIC_LIBS to OFF may not achieve
# dynamic linking. Boost automatic linking typically requests static
# libraries with a few exceptions (such as Boost.Python). Use
#
# ::
#
# add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
#
# to ask Boost to report information about automatic linking requests.
#
# Example to find Boost headers only:
# find_package(Boost 1.36.0)
# if(Boost_FOUND)
# include_directories(${Boost_INCLUDE_DIRS})
# add_executable(foo foo.cc)
# endif()
#
# ::
#
# find_package(Boost 1.36.0)
# if(Boost_FOUND)
# include_directories(${Boost_INCLUDE_DIRS})
# add_executable(foo foo.cc)
# endif()
#
# Example to find Boost headers and some libraries:
# set(Boost_USE_STATIC_LIBS ON)
# set(Boost_USE_MULTITHREADED ON)
# set(Boost_USE_STATIC_RUNTIME OFF)
# find_package(Boost 1.36.0 COMPONENTS date_time filesystem system ...)
# if(Boost_FOUND)
# include_directories(${Boost_INCLUDE_DIRS})
# add_executable(foo foo.cc)
# target_link_libraries(foo ${Boost_LIBRARIES})
# endif()
#
# ::
#
# set(Boost_USE_STATIC_LIBS ON)
# set(Boost_USE_MULTITHREADED ON)
# set(Boost_USE_STATIC_RUNTIME OFF)
# find_package(Boost 1.36.0 COMPONENTS date_time filesystem system ...)
# if(Boost_FOUND)
# include_directories(${Boost_INCLUDE_DIRS})
# add_executable(foo foo.cc)
# target_link_libraries(foo ${Boost_LIBRARIES})
# endif()
#
#
#
# Boost CMake ----------------------------------------------------------
#
# If Boost was built using the boost-cmake project it provides a package
# configuration file for use with find_package's Config mode. This module
# looks for the package configuration file called BoostConfig.cmake or
# boost-config.cmake and stores the result in cache entry "Boost_DIR". If
# found, the package configuration file is loaded and this module returns with
# no further action. See documentation of the Boost CMake package
# configuration for details on what it provides.
# configuration file for use with find_package's Config mode. This
# module looks for the package configuration file called
# BoostConfig.cmake or boost-config.cmake and stores the result in cache
# entry "Boost_DIR". If found, the package configuration file is loaded
# and this module returns with no further action. See documentation of
# the Boost CMake package configuration for details on what it provides.
#
# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
+28 -9
View File
@@ -1,17 +1,36 @@
# - Try to find the Bullet physics engine
#.rst:
# FindBullet
# ----------
#
# This module defines the following variables
# Try to find the Bullet physics engine
#
# BULLET_FOUND - Was bullet found
# BULLET_INCLUDE_DIRS - the Bullet include directories
# BULLET_LIBRARIES - Link to this, by default it includes
# all bullet components (Dynamics,
# Collision, LinearMath, & SoftBody)
#
# This module accepts the following variables
#
# BULLET_ROOT - Can be set to bullet install path or Windows build path
# ::
#
# This module defines the following variables
#
#
#
# ::
#
# BULLET_FOUND - Was bullet found
# BULLET_INCLUDE_DIRS - the Bullet include directories
# BULLET_LIBRARIES - Link to this, by default it includes
# all bullet components (Dynamics,
# Collision, LinearMath, & SoftBody)
#
#
#
# ::
#
# This module accepts the following variables
#
#
#
# ::
#
# BULLET_ROOT - Can be set to bullet install path or Windows build path
#=============================================================================
# Copyright 2009 Kitware, Inc.
+18 -8
View File
@@ -1,14 +1,24 @@
# - Find CABLE
# This module finds if CABLE is installed and determines where the
# include files and libraries are. This code sets the following variables:
#.rst:
# FindCABLE
# ---------
#
# Find CABLE
#
# This module finds if CABLE is installed and determines where the
# include files and libraries are. This code sets the following
# variables:
#
# ::
#
# CABLE the path to the cable executable
# CABLE_TCL_LIBRARY the path to the Tcl wrapper library
# CABLE_INCLUDE_DIR the path to the include directory
#
#
# CABLE the path to the cable executable
# CABLE_TCL_LIBRARY the path to the Tcl wrapper library
# CABLE_INCLUDE_DIR the path to the include directory
#
# To build Tcl wrappers, you should add shared library and link it to
# ${CABLE_TCL_LIBRARY}. You should also add ${CABLE_INCLUDE_DIR} as
# an include directory.
# ${CABLE_TCL_LIBRARY}. You should also add ${CABLE_INCLUDE_DIR} as an
# include directory.
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+413 -245
View File
@@ -1,292 +1,460 @@
# - Tools for building CUDA C files: libraries and build dependencies.
# This script locates the NVIDIA CUDA C tools. It should work on linux, windows,
# and mac and should be reasonably up to date with CUDA C releases.
#.rst:
# FindCUDA
# --------
#
# This script makes use of the standard find_package arguments of <VERSION>,
# REQUIRED and QUIET. CUDA_FOUND will report if an acceptable version of CUDA
# was found.
# Tools for building CUDA C files: libraries and build dependencies.
#
# The script will prompt the user to specify CUDA_TOOLKIT_ROOT_DIR if the prefix
# cannot be determined by the location of nvcc in the system path and REQUIRED
# is specified to find_package(). To use a different installed version of the
# toolkit set the environment variable CUDA_BIN_PATH before running cmake
# (e.g. CUDA_BIN_PATH=/usr/local/cuda1.0 instead of the default /usr/local/cuda)
# or set CUDA_TOOLKIT_ROOT_DIR after configuring. If you change the value of
# CUDA_TOOLKIT_ROOT_DIR, various components that depend on the path will be
# relocated.
# This script locates the NVIDIA CUDA C tools. It should work on linux,
# windows, and mac and should be reasonably up to date with CUDA C
# releases.
#
# This script makes use of the standard find_package arguments of
# <VERSION>, REQUIRED and QUIET. CUDA_FOUND will report if an
# acceptable version of CUDA was found.
#
# The script will prompt the user to specify CUDA_TOOLKIT_ROOT_DIR if
# the prefix cannot be determined by the location of nvcc in the system
# path and REQUIRED is specified to find_package(). To use a different
# installed version of the toolkit set the environment variable
# CUDA_BIN_PATH before running cmake (e.g.
# CUDA_BIN_PATH=/usr/local/cuda1.0 instead of the default
# /usr/local/cuda) or set CUDA_TOOLKIT_ROOT_DIR after configuring. If
# you change the value of CUDA_TOOLKIT_ROOT_DIR, various components that
# depend on the path will be relocated.
#
# It might be necessary to set CUDA_TOOLKIT_ROOT_DIR manually on certain
# platforms, or to use a cuda runtime not installed in the default location. In
# newer versions of the toolkit the cuda library is included with the graphics
# driver- be sure that the driver version matches what is needed by the cuda
# runtime version.
# platforms, or to use a cuda runtime not installed in the default
# location. In newer versions of the toolkit the cuda library is
# included with the graphics driver- be sure that the driver version
# matches what is needed by the cuda runtime version.
#
# The following variables affect the behavior of the macros in the script (in
# alphebetical order). Note that any of these flags can be changed multiple
# times in the same directory before calling CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY, CUDA_COMPILE, CUDA_COMPILE_PTX or CUDA_WRAP_SRCS.
# The following variables affect the behavior of the macros in the
# script (in alphebetical order). Note that any of these flags can be
# changed multiple times in the same directory before calling
# CUDA_ADD_EXECUTABLE, CUDA_ADD_LIBRARY, CUDA_COMPILE, CUDA_COMPILE_PTX
# or CUDA_WRAP_SRCS.
#
# CUDA_64_BIT_DEVICE_CODE (Default matches host bit size)
# -- Set to ON to compile for 64 bit device code, OFF for 32 bit device code.
# Note that making this different from the host code when generating object
# or C files from CUDA code just won't work, because size_t gets defined by
# nvcc in the generated source. If you compile to PTX and then load the
# file yourself, you can mix bit sizes between device and host.
# ::
#
# CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE (Default ON)
# -- Set to ON if you want the custom build rule to be attached to the source
# file in Visual Studio. Turn OFF if you add the same cuda file to multiple
# targets.
# CUDA_64_BIT_DEVICE_CODE (Default matches host bit size)
# -- Set to ON to compile for 64 bit device code, OFF for 32 bit device code.
# Note that making this different from the host code when generating object
# or C files from CUDA code just won't work, because size_t gets defined by
# nvcc in the generated source. If you compile to PTX and then load the
# file yourself, you can mix bit sizes between device and host.
#
# This allows the user to build the target from the CUDA file; however, bad
# things can happen if the CUDA source file is added to multiple targets.
# When performing parallel builds it is possible for the custom build
# command to be run more than once and in parallel causing cryptic build
# errors. VS runs the rules for every source file in the target, and a
# source can have only one rule no matter how many projects it is added to.
# When the rule is run from multiple targets race conditions can occur on
# the generated file. Eventually everything will get built, but if the user
# is unaware of this behavior, there may be confusion. It would be nice if
# this script could detect the reuse of source files across multiple targets
# and turn the option off for the user, but no good solution could be found.
#
# CUDA_BUILD_CUBIN (Default OFF)
# -- Set to ON to enable and extra compilation pass with the -cubin option in
# Device mode. The output is parsed and register, shared memory usage is
# printed during build.
#
# CUDA_BUILD_EMULATION (Default OFF for device mode)
# -- Set to ON for Emulation mode. -D_DEVICEEMU is defined for CUDA C files
# when CUDA_BUILD_EMULATION is TRUE.
# ::
#
# CUDA_GENERATED_OUTPUT_DIR (Default CMAKE_CURRENT_BINARY_DIR)
# -- Set to the path you wish to have the generated files placed. If it is
# blank output files will be placed in CMAKE_CURRENT_BINARY_DIR.
# Intermediate files will always be placed in
# CMAKE_CURRENT_BINARY_DIR/CMakeFiles.
# CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE (Default ON)
# -- Set to ON if you want the custom build rule to be attached to the source
# file in Visual Studio. Turn OFF if you add the same cuda file to multiple
# targets.
#
# CUDA_HOST_COMPILATION_CPP (Default ON)
# -- Set to OFF for C compilation of host code.
#
# CUDA_HOST_COMPILER (Default CMAKE_C_COMPILER, $(VCInstallDir)/bin for VS)
# -- Set the host compiler to be used by nvcc. Ignored if -ccbin or
# --compiler-bindir is already present in the CUDA_NVCC_FLAGS or
# CUDA_NVCC_FLAGS_<CONFIG> variables. For Visual Studio targets
# $(VCInstallDir)/bin is a special value that expands out to the path when
# the command is run from withing VS.
#
# CUDA_NVCC_FLAGS
# CUDA_NVCC_FLAGS_<CONFIG>
# -- Additional NVCC command line arguments. NOTE: multiple arguments must be
# semi-colon delimited (e.g. --compiler-options;-Wall)
# ::
#
# CUDA_PROPAGATE_HOST_FLAGS (Default ON)
# -- Set to ON to propagate CMAKE_{C,CXX}_FLAGS and their configuration
# dependent counterparts (e.g. CMAKE_C_FLAGS_DEBUG) automatically to the
# host compiler through nvcc's -Xcompiler flag. This helps make the
# generated host code match the rest of the system better. Sometimes
# certain flags give nvcc problems, and this will help you turn the flag
# propagation off. This does not affect the flags supplied directly to nvcc
# via CUDA_NVCC_FLAGS or through the OPTION flags specified through
# CUDA_ADD_LIBRARY, CUDA_ADD_EXECUTABLE, or CUDA_WRAP_SRCS. Flags used for
# shared library compilation are not affected by this flag.
# This allows the user to build the target from the CUDA file; however, bad
# things can happen if the CUDA source file is added to multiple targets.
# When performing parallel builds it is possible for the custom build
# command to be run more than once and in parallel causing cryptic build
# errors. VS runs the rules for every source file in the target, and a
# source can have only one rule no matter how many projects it is added to.
# When the rule is run from multiple targets race conditions can occur on
# the generated file. Eventually everything will get built, but if the user
# is unaware of this behavior, there may be confusion. It would be nice if
# this script could detect the reuse of source files across multiple targets
# and turn the option off for the user, but no good solution could be found.
#
#
#
# ::
#
# CUDA_BUILD_CUBIN (Default OFF)
# -- Set to ON to enable and extra compilation pass with the -cubin option in
# Device mode. The output is parsed and register, shared memory usage is
# printed during build.
#
#
#
# ::
#
# CUDA_BUILD_EMULATION (Default OFF for device mode)
# -- Set to ON for Emulation mode. -D_DEVICEEMU is defined for CUDA C files
# when CUDA_BUILD_EMULATION is TRUE.
#
#
#
# ::
#
# CUDA_GENERATED_OUTPUT_DIR (Default CMAKE_CURRENT_BINARY_DIR)
# -- Set to the path you wish to have the generated files placed. If it is
# blank output files will be placed in CMAKE_CURRENT_BINARY_DIR.
# Intermediate files will always be placed in
# CMAKE_CURRENT_BINARY_DIR/CMakeFiles.
#
#
#
# ::
#
# CUDA_HOST_COMPILATION_CPP (Default ON)
# -- Set to OFF for C compilation of host code.
#
#
#
# ::
#
# CUDA_HOST_COMPILER (Default CMAKE_C_COMPILER, $(VCInstallDir)/bin for VS)
# -- Set the host compiler to be used by nvcc. Ignored if -ccbin or
# --compiler-bindir is already present in the CUDA_NVCC_FLAGS or
# CUDA_NVCC_FLAGS_<CONFIG> variables. For Visual Studio targets
# $(VCInstallDir)/bin is a special value that expands out to the path when
# the command is run from withing VS.
#
#
#
# ::
#
# CUDA_NVCC_FLAGS
# CUDA_NVCC_FLAGS_<CONFIG>
# -- Additional NVCC command line arguments. NOTE: multiple arguments must be
# semi-colon delimited (e.g. --compiler-options;-Wall)
#
#
#
# ::
#
# CUDA_PROPAGATE_HOST_FLAGS (Default ON)
# -- Set to ON to propagate CMAKE_{C,CXX}_FLAGS and their configuration
# dependent counterparts (e.g. CMAKE_C_FLAGS_DEBUG) automatically to the
# host compiler through nvcc's -Xcompiler flag. This helps make the
# generated host code match the rest of the system better. Sometimes
# certain flags give nvcc problems, and this will help you turn the flag
# propagation off. This does not affect the flags supplied directly to nvcc
# via CUDA_NVCC_FLAGS or through the OPTION flags specified through
# CUDA_ADD_LIBRARY, CUDA_ADD_EXECUTABLE, or CUDA_WRAP_SRCS. Flags used for
# shared library compilation are not affected by this flag.
#
#
#
# ::
#
# CUDA_SEPARABLE_COMPILATION (Default OFF)
# -- If set this will enable separable compilation for all CUDA runtime object
# files. If used outside of CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY
# (e.g. calling CUDA_WRAP_SRCS directly),
# CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS should be called.
#
#
#
# ::
#
# CUDA_VERBOSE_BUILD (Default OFF)
# -- Set to ON to see all the commands used when building the CUDA file. When
# using a Makefile generator the value defaults to VERBOSE (run make
# VERBOSE=1 to see output), although setting CUDA_VERBOSE_BUILD to ON will
# always print the output.
#
# CUDA_SEPARABLE_COMPILATION (Default OFF)
# -- If set this will enable separable compilation for all CUDA runtime object
# files. If used outside of CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY
# (e.g. calling CUDA_WRAP_SRCS directly),
# CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS should be called.
#
# CUDA_VERBOSE_BUILD (Default OFF)
# -- Set to ON to see all the commands used when building the CUDA file. When
# using a Makefile generator the value defaults to VERBOSE (run make
# VERBOSE=1 to see output), although setting CUDA_VERBOSE_BUILD to ON will
# always print the output.
#
# The script creates the following macros (in alphebetical order):
#
# CUDA_ADD_CUFFT_TO_TARGET( cuda_target )
# -- Adds the cufft library to the target (can be any target). Handles whether
# you are in emulation mode or not.
# ::
#
# CUDA_ADD_CUBLAS_TO_TARGET( cuda_target )
# -- Adds the cublas library to the target (can be any target). Handles
# whether you are in emulation mode or not.
#
# CUDA_ADD_EXECUTABLE( cuda_target file0 file1 ...
# [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
# -- Creates an executable "cuda_target" which is made up of the files
# specified. All of the non CUDA C files are compiled using the standard
# build rules specified by CMAKE and the cuda files are compiled to object
# files using nvcc and the host compiler. In addition CUDA_INCLUDE_DIRS is
# added automatically to include_directories(). Some standard CMake target
# calls can be used on the target after calling this macro
# (e.g. set_target_properties and target_link_libraries), but setting
# properties that adjust compilation flags will not affect code compiled by
# nvcc. Such flags should be modified before calling CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY or CUDA_WRAP_SRCS.
#
# CUDA_ADD_LIBRARY( cuda_target file0 file1 ...
# [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
# -- Same as CUDA_ADD_EXECUTABLE except that a library is created.
#
# CUDA_BUILD_CLEAN_TARGET()
# -- Creates a convience target that deletes all the dependency files
# generated. You should make clean after running this target to ensure the
# dependency files get regenerated.
#
# CUDA_COMPILE( generated_files file0 file1 ... [STATIC | SHARED | MODULE]
# [OPTIONS ...] )
# -- Returns a list of generated files from the input source files to be used
# with ADD_LIBRARY or ADD_EXECUTABLE.
#
# CUDA_COMPILE_PTX( generated_files file0 file1 ... [OPTIONS ...] )
# -- Returns a list of PTX files generated from the input source files.
#
# CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME( output_file_var
# cuda_target
# object_files )
# -- Compute the name of the intermediate link file used for separable
# compilation. This file name is typically passed into
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS. output_file_var is produced
# based on cuda_target the list of objects files that need separable
# compilation as specified by object_files. If the object_files list is
# empty, then output_file_var will be empty. This function is called
# automatically for CUDA_ADD_LIBRARY and CUDA_ADD_EXECUTABLE. Note that
# this is a function and not a macro.
#
# CUDA_INCLUDE_DIRECTORIES( path0 path1 ... )
# -- Sets the directories that should be passed to nvcc
# (e.g. nvcc -Ipath0 -Ipath1 ... ). These paths usually contain other .cu
# files.
# CUDA_ADD_CUFFT_TO_TARGET( cuda_target )
# -- Adds the cufft library to the target (can be any target). Handles whether
# you are in emulation mode or not.
#
#
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS( output_file_var cuda_target
# nvcc_flags object_files)
#
# -- Generates the link object required by separable compilation from the given
# object files. This is called automatically for CUDA_ADD_EXECUTABLE and
# CUDA_ADD_LIBRARY, but can be called manually when using CUDA_WRAP_SRCS
# directly. When called from CUDA_ADD_LIBRARY or CUDA_ADD_EXECUTABLE the
# nvcc_flags passed in are the same as the flags passed in via the OPTIONS
# argument. The only nvcc flag added automatically is the bitness flag as
# specified by CUDA_64_BIT_DEVICE_CODE. Note that this is a function
# instead of a macro.
# ::
#
# CUDA_WRAP_SRCS ( cuda_target format generated_files file0 file1 ...
# [STATIC | SHARED | MODULE] [OPTIONS ...] )
# -- This is where all the magic happens. CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY, CUDA_COMPILE, and CUDA_COMPILE_PTX all call this
# function under the hood.
# CUDA_ADD_CUBLAS_TO_TARGET( cuda_target )
# -- Adds the cublas library to the target (can be any target). Handles
# whether you are in emulation mode or not.
#
# Given the list of files (file0 file1 ... fileN) this macro generates
# custom commands that generate either PTX or linkable objects (use "PTX" or
# "OBJ" for the format argument to switch). Files that don't end with .cu
# or have the HEADER_FILE_ONLY property are ignored.
#
# The arguments passed in after OPTIONS are extra command line options to
# give to nvcc. You can also specify per configuration options by
# specifying the name of the configuration followed by the options. General
# options must preceed configuration specific options. Not all
# configurations need to be specified, only the ones provided will be used.
#
# OPTIONS -DFLAG=2 "-DFLAG_OTHER=space in flag"
# DEBUG -g
# RELEASE --use_fast_math
# RELWITHDEBINFO --use_fast_math;-g
# MINSIZEREL --use_fast_math
# ::
#
# For certain configurations (namely VS generating object files with
# CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE set to ON), no generated file will
# be produced for the given cuda file. This is because when you add the
# cuda file to Visual Studio it knows that this file produces an object file
# and will link in the resulting object file automatically.
# CUDA_ADD_EXECUTABLE( cuda_target file0 file1 ...
# [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
# -- Creates an executable "cuda_target" which is made up of the files
# specified. All of the non CUDA C files are compiled using the standard
# build rules specified by CMAKE and the cuda files are compiled to object
# files using nvcc and the host compiler. In addition CUDA_INCLUDE_DIRS is
# added automatically to include_directories(). Some standard CMake target
# calls can be used on the target after calling this macro
# (e.g. set_target_properties and target_link_libraries), but setting
# properties that adjust compilation flags will not affect code compiled by
# nvcc. Such flags should be modified before calling CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY or CUDA_WRAP_SRCS.
#
# This script will also generate a separate cmake script that is used at
# build time to invoke nvcc. This is for several reasons.
#
# 1. nvcc can return negative numbers as return values which confuses
# Visual Studio into thinking that the command succeeded. The script now
# checks the error codes and produces errors when there was a problem.
#
# 2. nvcc has been known to not delete incomplete results when it
# encounters problems. This confuses build systems into thinking the
# target was generated when in fact an unusable file exists. The script
# now deletes the output files if there was an error.
# ::
#
# 3. By putting all the options that affect the build into a file and then
# make the build rule dependent on the file, the output files will be
# regenerated when the options change.
# CUDA_ADD_LIBRARY( cuda_target file0 file1 ...
# [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
# -- Same as CUDA_ADD_EXECUTABLE except that a library is created.
#
#
#
# ::
#
# CUDA_BUILD_CLEAN_TARGET()
# -- Creates a convience target that deletes all the dependency files
# generated. You should make clean after running this target to ensure the
# dependency files get regenerated.
#
#
#
# ::
#
# CUDA_COMPILE( generated_files file0 file1 ... [STATIC | SHARED | MODULE]
# [OPTIONS ...] )
# -- Returns a list of generated files from the input source files to be used
# with ADD_LIBRARY or ADD_EXECUTABLE.
#
#
#
# ::
#
# CUDA_COMPILE_PTX( generated_files file0 file1 ... [OPTIONS ...] )
# -- Returns a list of PTX files generated from the input source files.
#
#
#
# ::
#
# CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME( output_file_var
# cuda_target
# object_files )
# -- Compute the name of the intermediate link file used for separable
# compilation. This file name is typically passed into
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS. output_file_var is produced
# based on cuda_target the list of objects files that need separable
# compilation as specified by object_files. If the object_files list is
# empty, then output_file_var will be empty. This function is called
# automatically for CUDA_ADD_LIBRARY and CUDA_ADD_EXECUTABLE. Note that
# this is a function and not a macro.
#
#
#
# ::
#
# CUDA_INCLUDE_DIRECTORIES( path0 path1 ... )
# -- Sets the directories that should be passed to nvcc
# (e.g. nvcc -Ipath0 -Ipath1 ... ). These paths usually contain other .cu
# files.
#
#
#
#
#
# ::
#
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS( output_file_var cuda_target
# nvcc_flags object_files)
#
#
#
# ::
#
# -- Generates the link object required by separable compilation from the given
# object files. This is called automatically for CUDA_ADD_EXECUTABLE and
# CUDA_ADD_LIBRARY, but can be called manually when using CUDA_WRAP_SRCS
# directly. When called from CUDA_ADD_LIBRARY or CUDA_ADD_EXECUTABLE the
# nvcc_flags passed in are the same as the flags passed in via the OPTIONS
# argument. The only nvcc flag added automatically is the bitness flag as
# specified by CUDA_64_BIT_DEVICE_CODE. Note that this is a function
# instead of a macro.
#
#
#
# ::
#
# CUDA_WRAP_SRCS ( cuda_target format generated_files file0 file1 ...
# [STATIC | SHARED | MODULE] [OPTIONS ...] )
# -- This is where all the magic happens. CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY, CUDA_COMPILE, and CUDA_COMPILE_PTX all call this
# function under the hood.
#
#
#
# ::
#
# Given the list of files (file0 file1 ... fileN) this macro generates
# custom commands that generate either PTX or linkable objects (use "PTX" or
# "OBJ" for the format argument to switch). Files that don't end with .cu
# or have the HEADER_FILE_ONLY property are ignored.
#
#
#
# ::
#
# The arguments passed in after OPTIONS are extra command line options to
# give to nvcc. You can also specify per configuration options by
# specifying the name of the configuration followed by the options. General
# options must preceed configuration specific options. Not all
# configurations need to be specified, only the ones provided will be used.
#
#
#
# ::
#
# OPTIONS -DFLAG=2 "-DFLAG_OTHER=space in flag"
# DEBUG -g
# RELEASE --use_fast_math
# RELWITHDEBINFO --use_fast_math;-g
# MINSIZEREL --use_fast_math
#
#
#
# ::
#
# For certain configurations (namely VS generating object files with
# CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE set to ON), no generated file will
# be produced for the given cuda file. This is because when you add the
# cuda file to Visual Studio it knows that this file produces an object file
# and will link in the resulting object file automatically.
#
#
#
# ::
#
# This script will also generate a separate cmake script that is used at
# build time to invoke nvcc. This is for several reasons.
#
#
#
# ::
#
# 1. nvcc can return negative numbers as return values which confuses
# Visual Studio into thinking that the command succeeded. The script now
# checks the error codes and produces errors when there was a problem.
#
#
#
# ::
#
# 2. nvcc has been known to not delete incomplete results when it
# encounters problems. This confuses build systems into thinking the
# target was generated when in fact an unusable file exists. The script
# now deletes the output files if there was an error.
#
#
#
# ::
#
# 3. By putting all the options that affect the build into a file and then
# make the build rule dependent on the file, the output files will be
# regenerated when the options change.
#
#
#
# ::
#
# This script also looks at optional arguments STATIC, SHARED, or MODULE to
# determine when to target the object compilation for a shared library.
# BUILD_SHARED_LIBS is ignored in CUDA_WRAP_SRCS, but it is respected in
# CUDA_ADD_LIBRARY. On some systems special flags are added for building
# objects intended for shared libraries. A preprocessor macro,
# <target_name>_EXPORTS is defined when a shared library compilation is
# detected.
#
#
#
# ::
#
# Flags passed into add_definitions with -D or /D are passed along to nvcc.
#
# This script also looks at optional arguments STATIC, SHARED, or MODULE to
# determine when to target the object compilation for a shared library.
# BUILD_SHARED_LIBS is ignored in CUDA_WRAP_SRCS, but it is respected in
# CUDA_ADD_LIBRARY. On some systems special flags are added for building
# objects intended for shared libraries. A preprocessor macro,
# <target_name>_EXPORTS is defined when a shared library compilation is
# detected.
#
# Flags passed into add_definitions with -D or /D are passed along to nvcc.
#
# The script defines the following variables:
#
# CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.
# CUDA_VERSION_MINOR -- The minor version.
# CUDA_VERSION
# CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR
# ::
#
# CUDA_TOOLKIT_ROOT_DIR -- Path to the CUDA Toolkit (defined if not set).
# CUDA_SDK_ROOT_DIR -- Path to the CUDA SDK. Use this to find files in the
# SDK. This script will not directly support finding
# specific libraries or headers, as that isn't
# supported by NVIDIA. If you want to change
# libraries when the path changes see the
# FindCUDA.cmake script for an example of how to clear
# these variables. There are also examples of how to
# use the CUDA_SDK_ROOT_DIR to locate headers or
# libraries, if you so choose (at your own risk).
# CUDA_INCLUDE_DIRS -- Include directory for cuda headers. Added automatically
# for CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY.
# CUDA_LIBRARIES -- Cuda RT library.
# CUDA_CUFFT_LIBRARIES -- Device or emulation library for the Cuda FFT
# implementation (alternative to:
# CUDA_ADD_CUFFT_TO_TARGET macro)
# CUDA_CUBLAS_LIBRARIES -- Device or emulation library for the Cuda BLAS
# implementation (alterative to:
# CUDA_ADD_CUBLAS_TO_TARGET macro).
# CUDA_cupti_LIBRARY -- CUDA Profiling Tools Interface library.
# Only available for CUDA version 4.0+.
# CUDA_curand_LIBRARY -- CUDA Random Number Generation library.
# Only available for CUDA version 3.2+.
# CUDA_cusparse_LIBRARY -- CUDA Sparse Matrix library.
# Only available for CUDA version 3.2+.
# CUDA_npp_LIBRARY -- NVIDIA Performance Primitives library.
# Only available for CUDA version 4.0+.
# CUDA_nppc_LIBRARY -- NVIDIA Performance Primitives library (core).
# Only available for CUDA version 5.5+.
# CUDA_nppi_LIBRARY -- NVIDIA Performance Primitives library (image processing).
# Only available for CUDA version 5.5+.
# CUDA_npps_LIBRARY -- NVIDIA Performance Primitives library (signal processing).
# Only available for CUDA version 5.5+.
# CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library.
# Only available for CUDA version 3.2+.
# Windows only.
# CUDA_nvcuvid_LIBRARY -- CUDA Video Decoder library.
# Only available for CUDA version 3.2+.
# Windows only.
# CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.
# CUDA_VERSION_MINOR -- The minor version.
# CUDA_VERSION
# CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR
#
#
# James Bigler, NVIDIA Corp (nvidia.com - jbigler)
# Abe Stephens, SCI Institute -- http://www.sci.utah.edu/~abe/FindCuda.html
#
# Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved.
# ::
#
# Copyright (c) 2007-2009
# Scientific Computing and Imaging Institute, University of Utah
# CUDA_TOOLKIT_ROOT_DIR -- Path to the CUDA Toolkit (defined if not set).
# CUDA_SDK_ROOT_DIR -- Path to the CUDA SDK. Use this to find files in the
# SDK. This script will not directly support finding
# specific libraries or headers, as that isn't
# supported by NVIDIA. If you want to change
# libraries when the path changes see the
# FindCUDA.cmake script for an example of how to clear
# these variables. There are also examples of how to
# use the CUDA_SDK_ROOT_DIR to locate headers or
# libraries, if you so choose (at your own risk).
# CUDA_INCLUDE_DIRS -- Include directory for cuda headers. Added automatically
# for CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY.
# CUDA_LIBRARIES -- Cuda RT library.
# CUDA_CUFFT_LIBRARIES -- Device or emulation library for the Cuda FFT
# implementation (alternative to:
# CUDA_ADD_CUFFT_TO_TARGET macro)
# CUDA_CUBLAS_LIBRARIES -- Device or emulation library for the Cuda BLAS
# implementation (alterative to:
# CUDA_ADD_CUBLAS_TO_TARGET macro).
# CUDA_cupti_LIBRARY -- CUDA Profiling Tools Interface library.
# Only available for CUDA version 4.0+.
# CUDA_curand_LIBRARY -- CUDA Random Number Generation library.
# Only available for CUDA version 3.2+.
# CUDA_cusparse_LIBRARY -- CUDA Sparse Matrix library.
# Only available for CUDA version 3.2+.
# CUDA_npp_LIBRARY -- NVIDIA Performance Primitives library.
# Only available for CUDA version 4.0+.
# CUDA_nppc_LIBRARY -- NVIDIA Performance Primitives library (core).
# Only available for CUDA version 5.5+.
# CUDA_nppi_LIBRARY -- NVIDIA Performance Primitives library (image processing).
# Only available for CUDA version 5.5+.
# CUDA_npps_LIBRARY -- NVIDIA Performance Primitives library (signal processing).
# Only available for CUDA version 5.5+.
# CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library.
# Only available for CUDA version 3.2+.
# Windows only.
# CUDA_nvcuvid_LIBRARY -- CUDA Video Decoder library.
# Only available for CUDA version 3.2+.
# Windows only.
#
# This code is licensed under the MIT License. See the FindCUDA.cmake script
# for the text of the license.
#
#
#
#
# ::
#
# James Bigler, NVIDIA Corp (nvidia.com - jbigler)
# Abe Stephens, SCI Institute -- http://www.sci.utah.edu/~abe/FindCuda.html
#
#
#
# ::
#
# Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved.
#
#
#
# ::
#
# Copyright (c) 2007-2009
# Scientific Computing and Imaging Institute, University of Utah
#
#
#
# ::
#
# This code is licensed under the MIT License. See the FindCUDA.cmake script
# for the text of the license.
# The MIT License
#
+12 -5
View File
@@ -1,10 +1,17 @@
# - Find curl
#.rst:
# FindCURL
# --------
#
# Find curl
#
# Find the native CURL headers and libraries.
#
# CURL_INCLUDE_DIRS - where to find curl/curl.h, etc.
# CURL_LIBRARIES - List of libraries when using curl.
# CURL_FOUND - True if curl found.
# CURL_VERSION_STRING - the version of curl found (since CMake 2.8.8)
# ::
#
# CURL_INCLUDE_DIRS - where to find curl/curl.h, etc.
# CURL_LIBRARIES - List of libraries when using curl.
# CURL_FOUND - True if curl found.
# CURL_VERSION_STRING - the version of curl found (since CMake 2.8.8)
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+19 -6
View File
@@ -1,11 +1,24 @@
#.rst:
# FindCVS
# -------
#
#
#
# The module defines the following variables:
# CVS_EXECUTABLE - path to cvs command line client
# CVS_FOUND - true if the command line client was found
#
# ::
#
# CVS_EXECUTABLE - path to cvs command line client
# CVS_FOUND - true if the command line client was found
#
# Example usage:
# find_package(CVS)
# if(CVS_FOUND)
# message("CVS found: ${CVS_EXECUTABLE}")
# endif()
#
# ::
#
# find_package(CVS)
# if(CVS_FOUND)
# message("CVS found: ${CVS_EXECUTABLE}")
# endif()
#=============================================================================
# Copyright 2008-2009 Kitware, Inc.
+13 -6
View File
@@ -1,13 +1,20 @@
# - Find Coin3D (Open Inventor)
# Coin3D is an implementation of the Open Inventor API.
# It provides data structures and algorithms for 3D visualization
#.rst:
# FindCoin3D
# ----------
#
# Find Coin3D (Open Inventor)
#
# Coin3D is an implementation of the Open Inventor API. It provides
# data structures and algorithms for 3D visualization
# http://www.coin3d.org/
#
# This module defines the following variables
# COIN3D_FOUND - system has Coin3D - Open Inventor
# COIN3D_INCLUDE_DIRS - where the Inventor include directory can be found
# COIN3D_LIBRARIES - Link to this to use Coin3D
#
# ::
#
# COIN3D_FOUND - system has Coin3D - Open Inventor
# COIN3D_INCLUDE_DIRS - where the Inventor include directory can be found
# COIN3D_LIBRARIES - Link to this to use Coin3D
#=============================================================================
# Copyright 2008-2009 Kitware, Inc.
+14 -7
View File
@@ -1,12 +1,19 @@
# - Try to find the Cups printing system
#.rst:
# FindCups
# --------
#
# Try to find the Cups printing system
#
# Once done this will define
#
# CUPS_FOUND - system has Cups
# CUPS_INCLUDE_DIR - the Cups include directory
# CUPS_LIBRARIES - Libraries needed to use Cups
# CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
# Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
# features this function (i.e. at least 1.1.19)
# ::
#
# CUPS_FOUND - system has Cups
# CUPS_INCLUDE_DIR - the Cups include directory
# CUPS_LIBRARIES - Libraries needed to use Cups
# CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
# Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
# features this function (i.e. at least 1.1.19)
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+21 -11
View File
@@ -1,16 +1,26 @@
# - Find the curses include file and library
#.rst:
# FindCurses
# ----------
#
# CURSES_FOUND - system has Curses
# CURSES_INCLUDE_DIR - the Curses include directory
# CURSES_LIBRARIES - The libraries needed to use Curses
# CURSES_HAVE_CURSES_H - true if curses.h is available
# CURSES_HAVE_NCURSES_H - true if ncurses.h is available
# CURSES_HAVE_NCURSES_NCURSES_H - true if ncurses/ncurses.h is available
# CURSES_HAVE_NCURSES_CURSES_H - true if ncurses/curses.h is available
# CURSES_LIBRARY - set for backwards compatibility with 2.4 CMake
# Find the curses include file and library
#
# Set CURSES_NEED_NCURSES to TRUE before the find_package() command if NCurses
# functionality is required.
#
#
# ::
#
# CURSES_FOUND - system has Curses
# CURSES_INCLUDE_DIR - the Curses include directory
# CURSES_LIBRARIES - The libraries needed to use Curses
# CURSES_HAVE_CURSES_H - true if curses.h is available
# CURSES_HAVE_NCURSES_H - true if ncurses.h is available
# CURSES_HAVE_NCURSES_NCURSES_H - true if ncurses/ncurses.h is available
# CURSES_HAVE_NCURSES_CURSES_H - true if ncurses/curses.h is available
# CURSES_LIBRARY - set for backwards compatibility with 2.4 CMake
#
#
#
# Set CURSES_NEED_NCURSES to TRUE before the find_package() command if
# NCurses functionality is required.
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+116 -66
View File
@@ -1,88 +1,138 @@
# - Find CxxTest
# Find the CxxTest suite and declare a helper macro for creating unit tests
# and integrating them with CTest.
# For more details on CxxTest see http://cxxtest.tigris.org
#.rst:
# FindCxxTest
# -----------
#
# Find CxxTest
#
# Find the CxxTest suite and declare a helper macro for creating unit
# tests and integrating them with CTest. For more details on CxxTest
# see http://cxxtest.tigris.org
#
# INPUT Variables
#
# CXXTEST_USE_PYTHON [deprecated since 1.3]
# Only used in the case both Python & Perl
# are detected on the system to control
# which CxxTest code generator is used.
# Valid only for CxxTest version 3.
# ::
#
# CXXTEST_USE_PYTHON [deprecated since 1.3]
# Only used in the case both Python & Perl
# are detected on the system to control
# which CxxTest code generator is used.
# Valid only for CxxTest version 3.
#
#
#
# ::
#
# NOTE: In older versions of this Find Module,
# this variable controlled if the Python test
# generator was used instead of the Perl one,
# regardless of which scripting language the
# user had installed.
#
#
#
# ::
#
# CXXTEST_TESTGEN_ARGS (since CMake 2.8.3)
# Specify a list of options to pass to the CxxTest code
# generator. If not defined, --error-printer is
# passed.
#
# NOTE: In older versions of this Find Module,
# this variable controlled if the Python test
# generator was used instead of the Perl one,
# regardless of which scripting language the
# user had installed.
#
# CXXTEST_TESTGEN_ARGS (since CMake 2.8.3)
# Specify a list of options to pass to the CxxTest code
# generator. If not defined, --error-printer is
# passed.
#
# OUTPUT Variables
#
# CXXTEST_FOUND
# True if the CxxTest framework was found
# CXXTEST_INCLUDE_DIRS
# Where to find the CxxTest include directory
# CXXTEST_PERL_TESTGEN_EXECUTABLE
# The perl-based test generator
# CXXTEST_PYTHON_TESTGEN_EXECUTABLE
# The python-based test generator
# CXXTEST_TESTGEN_EXECUTABLE (since CMake 2.8.3)
# The test generator that is actually used (chosen using user preferences
# and interpreters found in the system)
# CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
# The full path to the Perl or Python executable on the system
# ::
#
# CXXTEST_FOUND
# True if the CxxTest framework was found
# CXXTEST_INCLUDE_DIRS
# Where to find the CxxTest include directory
# CXXTEST_PERL_TESTGEN_EXECUTABLE
# The perl-based test generator
# CXXTEST_PYTHON_TESTGEN_EXECUTABLE
# The python-based test generator
# CXXTEST_TESTGEN_EXECUTABLE (since CMake 2.8.3)
# The test generator that is actually used (chosen using user preferences
# and interpreters found in the system)
# CXXTEST_TESTGEN_INTERPRETER (since CMake 2.8.3)
# The full path to the Perl or Python executable on the system
#
#
#
# MACROS for optional use by CMake users:
#
# CXXTEST_ADD_TEST(<test_name> <gen_source_file> <input_files_to_testgen...>)
# Creates a CxxTest runner and adds it to the CTest testing suite
# Parameters:
# test_name The name of the test
# gen_source_file The generated source filename to be
# generated by CxxTest
# input_files_to_testgen The list of header files containing the
# CxxTest::TestSuite's to be included in
# this runner
# ::
#
# #==============
# Example Usage:
# CXXTEST_ADD_TEST(<test_name> <gen_source_file> <input_files_to_testgen...>)
# Creates a CxxTest runner and adds it to the CTest testing suite
# Parameters:
# test_name The name of the test
# gen_source_file The generated source filename to be
# generated by CxxTest
# input_files_to_testgen The list of header files containing the
# CxxTest::TestSuite's to be included in
# this runner
#
# find_package(CxxTest)
# if(CXXTEST_FOUND)
# include_directories(${CXXTEST_INCLUDE_DIR})
# enable_testing()
#
# CXXTEST_ADD_TEST(unittest_foo foo_test.cc
# ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
# target_link_libraries(unittest_foo foo) # as needed
# endif()
#
# This will (if CxxTest is found):
# 1. Invoke the testgen executable to autogenerate foo_test.cc in the
# binary tree from "foo_test.h" in the current source directory.
# 2. Create an executable and test called unittest_foo.
# ::
#
# #=============
# Example foo_test.h:
# #==============
# Example Usage:
#
# #include <cxxtest/TestSuite.h>
#
# class MyTestSuite : public CxxTest::TestSuite
# {
# public:
# void testAddition( void )
# {
# TS_ASSERT( 1 + 1 > 1 );
# TS_ASSERT_EQUALS( 1 + 1, 2 );
# }
# };
#
# ::
#
# find_package(CxxTest)
# if(CXXTEST_FOUND)
# include_directories(${CXXTEST_INCLUDE_DIR})
# enable_testing()
#
#
#
# ::
#
# CXXTEST_ADD_TEST(unittest_foo foo_test.cc
# ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
# target_link_libraries(unittest_foo foo) # as needed
# endif()
#
#
#
# ::
#
# This will (if CxxTest is found):
# 1. Invoke the testgen executable to autogenerate foo_test.cc in the
# binary tree from "foo_test.h" in the current source directory.
# 2. Create an executable and test called unittest_foo.
#
#
#
# ::
#
# #=============
# Example foo_test.h:
#
#
#
# ::
#
# #include <cxxtest/TestSuite.h>
#
#
#
# ::
#
# class MyTestSuite : public CxxTest::TestSuite
# {
# public:
# void testAddition( void )
# {
# TS_ASSERT( 1 + 1 > 1 );
# TS_ASSERT_EQUALS( 1 + 1, 2 );
# }
# };
#=============================================================================
# Copyright 2008-2010 Kitware, Inc.
+4 -1
View File
@@ -1,5 +1,8 @@
# - this module looks for Cygwin
#.rst:
# FindCygwin
# ----------
#
# this module looks for Cygwin
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+4 -1
View File
@@ -1,5 +1,8 @@
# - find DCMTK libraries and applications
#.rst:
# FindDCMTK
# ---------
#
# find DCMTK libraries and applications
# DCMTK_INCLUDE_DIRS - Directories to include to use DCMTK
# DCMTK_LIBRARIES - Files to link against to use DCMTK
+7 -3
View File
@@ -1,7 +1,11 @@
# - Find DART
# This module looks for the dart testing software and sets DART_ROOT
# to point to where it found it.
#.rst:
# FindDart
# --------
#
# Find DART
#
# This module looks for the dart testing software and sets DART_ROOT to
# point to where it found it.
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+25 -16
View File
@@ -1,23 +1,32 @@
#.rst:
# FindDevIL
# ---------
#
#
#
# This module locates the developer's image library.
# http://openil.sourceforge.net/
#
# This module sets:
# IL_LIBRARIES - the name of the IL library. These include the full path to
# the core DevIL library. This one has to be linked into the
# application.
# ILU_LIBRARIES - the name of the ILU library. Again, the full path. This
# library is for filters and effects, not actual loading. It
# doesn't have to be linked if the functionality it provides
# is not used.
# ILUT_LIBRARIES - the name of the ILUT library. Full path. This part of the
# library interfaces with OpenGL. It is not strictly needed
# in applications.
# IL_INCLUDE_DIR - where to find the il.h, ilu.h and ilut.h files.
# IL_FOUND - this is set to TRUE if all the above variables were set.
# This will be set to false if ILU or ILUT are not found,
# even if they are not needed. In most systems, if one
# library is found all the others are as well. That's the
# way the DevIL developers release it.
#
# ::
#
# IL_LIBRARIES - the name of the IL library. These include the full path to
# the core DevIL library. This one has to be linked into the
# application.
# ILU_LIBRARIES - the name of the ILU library. Again, the full path. This
# library is for filters and effects, not actual loading. It
# doesn't have to be linked if the functionality it provides
# is not used.
# ILUT_LIBRARIES - the name of the ILUT library. Full path. This part of the
# library interfaces with OpenGL. It is not strictly needed
# in applications.
# IL_INCLUDE_DIR - where to find the il.h, ilu.h and ilut.h files.
# IL_FOUND - this is set to TRUE if all the above variables were set.
# This will be set to false if ILU or ILUT are not found,
# even if they are not needed. In most systems, if one
# library is found all the others are as well. That's the
# way the DevIL developers release it.
#=============================================================================
# Copyright 2008-2009 Kitware, Inc.
+22 -9
View File
@@ -1,23 +1,36 @@
# - This module looks for Doxygen and the path to Graphviz's dot
#.rst:
# FindDoxygen
# -----------
#
# This module looks for Doxygen and the path to Graphviz's dot
#
# Doxygen is a documentation generation tool. Please see
# http://www.doxygen.org
#
# This module accepts the following optional variables:
#
# DOXYGEN_SKIP_DOT = If true this module will skip trying to find Dot
# (an optional component often used by Doxygen)
# ::
#
# DOXYGEN_SKIP_DOT = If true this module will skip trying to find Dot
# (an optional component often used by Doxygen)
#
#
#
# This modules defines the following variables:
#
# DOXYGEN_EXECUTABLE = The path to the doxygen command.
# DOXYGEN_FOUND = Was Doxygen found or not?
# DOXYGEN_VERSION = The version reported by doxygen --version
# ::
#
# DOXYGEN_DOT_EXECUTABLE = The path to the dot program used by doxygen.
# DOXYGEN_DOT_FOUND = Was Dot found or not?
# DOXYGEN_DOT_PATH = The path to dot not including the executable
# DOXYGEN_EXECUTABLE = The path to the doxygen command.
# DOXYGEN_FOUND = Was Doxygen found or not?
# DOXYGEN_VERSION = The version reported by doxygen --version
#
#
#
# ::
#
# DOXYGEN_DOT_EXECUTABLE = The path to the dot program used by doxygen.
# DOXYGEN_DOT_FOUND = Was Dot found or not?
# DOXYGEN_DOT_PATH = The path to dot not including the executable
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+11 -4
View File
@@ -1,9 +1,16 @@
# - Find expat
#.rst:
# FindEXPAT
# ---------
#
# Find expat
#
# Find the native EXPAT headers and libraries.
#
# EXPAT_INCLUDE_DIRS - where to find expat.h, etc.
# EXPAT_LIBRARIES - List of libraries when using expat.
# EXPAT_FOUND - True if expat found.
# ::
#
# EXPAT_INCLUDE_DIRS - where to find expat.h, etc.
# EXPAT_LIBRARIES - List of libraries when using expat.
# EXPAT_FOUND - True if expat found.
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+75 -36
View File
@@ -1,53 +1,92 @@
# - Find flex executable and provides a macro to generate custom build rules
#.rst:
# FindFLEX
# --------
#
# Find flex executable and provides a macro to generate custom build rules
#
#
#
# The module defines the following variables:
# FLEX_FOUND - true is flex executable is found
# FLEX_EXECUTABLE - the path to the flex executable
# FLEX_VERSION - the version of flex
# FLEX_LIBRARIES - The flex libraries
# FLEX_INCLUDE_DIRS - The path to the flex headers
#
# ::
#
# FLEX_FOUND - true is flex executable is found
# FLEX_EXECUTABLE - the path to the flex executable
# FLEX_VERSION - the version of flex
# FLEX_LIBRARIES - The flex libraries
# FLEX_INCLUDE_DIRS - The path to the flex headers
#
#
#
# The minimum required version of flex can be specified using the
# standard syntax, e.g. find_package(FLEX 2.5.13)
# standard syntax, e.g. find_package(FLEX 2.5.13)
#
#
#
# If flex is found on the system, the module provides the macro:
# FLEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>])
# which creates a custom command to generate the <FlexOutput> file from
# the <FlexInput> file. If COMPILE_FLAGS option is specified, the next
# parameter is added to the flex command line. Name is an alias used to
# get details of this custom command. Indeed the macro defines the
# following variables:
# FLEX_${Name}_DEFINED - true is the macro ran successfully
# FLEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
# alias for FlexOutput
# FLEX_${Name}_INPUT - the flex source file, an alias for ${FlexInput}
#
# Flex scanners oftenly use tokens defined by Bison: the code generated
# by Flex depends of the header generated by Bison. This module also
# ::
#
# FLEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>])
#
# which creates a custom command to generate the <FlexOutput> file from
# the <FlexInput> file. If COMPILE_FLAGS option is specified, the next
# parameter is added to the flex command line. Name is an alias used to
# get details of this custom command. Indeed the macro defines the
# following variables:
#
# ::
#
# FLEX_${Name}_DEFINED - true is the macro ran successfully
# FLEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
# alias for FlexOutput
# FLEX_${Name}_INPUT - the flex source file, an alias for ${FlexInput}
#
#
#
# Flex scanners oftenly use tokens defined by Bison: the code generated
# by Flex depends of the header generated by Bison. This module also
# defines a macro:
# ADD_FLEX_BISON_DEPENDENCY(FlexTarget BisonTarget)
# which adds the required dependency between a scanner and a parser
# where <FlexTarget> and <BisonTarget> are the first parameters of
#
# ::
#
# ADD_FLEX_BISON_DEPENDENCY(FlexTarget BisonTarget)
#
# which adds the required dependency between a scanner and a parser
# where <FlexTarget> and <BisonTarget> are the first parameters of
# respectively FLEX_TARGET and BISON_TARGET macros.
#
# ====================================================================
# Example:
# ::
#
# find_package(BISON)
# find_package(FLEX)
# ====================================================================
# Example:
#
# BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
# FLEX_TARGET(MyScanner lexer.l ${CMAKE_CURRENT_BINARY_DIR}/lexer.cpp)
# ADD_FLEX_BISON_DEPENDENCY(MyScanner MyParser)
#
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
# add_executable(Foo
# Foo.cc
# ${BISON_MyParser_OUTPUTS}
# ${FLEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#
# ::
#
# find_package(BISON)
# find_package(FLEX)
#
#
#
# ::
#
# BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
# FLEX_TARGET(MyScanner lexer.l ${CMAKE_CURRENT_BINARY_DIR}/lexer.cpp)
# ADD_FLEX_BISON_DEPENDENCY(MyScanner MyParser)
#
#
#
# ::
#
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
# add_executable(Foo
# Foo.cc
# ${BISON_MyParser_OUTPUTS}
# ${FLEX_MyScanner_OUTPUTS}
# )
# ====================================================================
#=============================================================================
# Copyright 2009 Kitware, Inc.
+45 -20
View File
@@ -1,33 +1,58 @@
# - Find the native FLTK includes and library
#.rst:
# FindFLTK
# --------
#
# By default FindFLTK.cmake will search for all of the FLTK components and
# add them to the FLTK_LIBRARIES variable.
# Find the native FLTK includes and library
#
# You can limit the components which get placed in FLTK_LIBRARIES by
# defining one or more of the following three options:
#
# FLTK_SKIP_OPENGL, set to true to disable searching for opengl and
# the FLTK GL library
# FLTK_SKIP_FORMS, set to true to disable searching for fltk_forms
# FLTK_SKIP_IMAGES, set to true to disable searching for fltk_images
#
# FLTK_SKIP_FLUID, set to true if the fluid binary need not be present
# at build time
# By default FindFLTK.cmake will search for all of the FLTK components
# and add them to the FLTK_LIBRARIES variable.
#
# ::
#
# You can limit the components which get placed in FLTK_LIBRARIES by
# defining one or more of the following three options:
#
#
#
# ::
#
# FLTK_SKIP_OPENGL, set to true to disable searching for opengl and
# the FLTK GL library
# FLTK_SKIP_FORMS, set to true to disable searching for fltk_forms
# FLTK_SKIP_IMAGES, set to true to disable searching for fltk_images
#
#
#
# ::
#
# FLTK_SKIP_FLUID, set to true if the fluid binary need not be present
# at build time
#
#
#
# The following variables will be defined:
# FLTK_FOUND, True if all components not skipped were found
# FLTK_INCLUDE_DIR, where to find include files
# FLTK_LIBRARIES, list of fltk libraries you should link against
# FLTK_FLUID_EXECUTABLE, where to find the Fluid tool
# FLTK_WRAP_UI, This enables the FLTK_WRAP_UI command
#
# ::
#
# FLTK_FOUND, True if all components not skipped were found
# FLTK_INCLUDE_DIR, where to find include files
# FLTK_LIBRARIES, list of fltk libraries you should link against
# FLTK_FLUID_EXECUTABLE, where to find the Fluid tool
# FLTK_WRAP_UI, This enables the FLTK_WRAP_UI command
#
#
#
# The following cache variables are assigned but should not be used.
# See the FLTK_LIBRARIES variable instead.
#
# FLTK_BASE_LIBRARY = the full path to fltk.lib
# FLTK_GL_LIBRARY = the full path to fltk_gl.lib
# FLTK_FORMS_LIBRARY = the full path to fltk_forms.lib
# FLTK_IMAGES_LIBRARY = the full path to fltk_images.lib
# ::
#
# FLTK_BASE_LIBRARY = the full path to fltk.lib
# FLTK_GL_LIBRARY = the full path to fltk_gl.lib
# FLTK_FORMS_LIBRARY = the full path to fltk_forms.lib
# FLTK_IMAGES_LIBRARY = the full path to fltk_images.lib
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+21 -9
View File
@@ -1,14 +1,26 @@
# - Find the native FLTK2 includes and library
#.rst:
# FindFLTK2
# ---------
#
# Find the native FLTK2 includes and library
#
# The following settings are defined
# FLTK2_FLUID_EXECUTABLE, where to find the Fluid tool
# FLTK2_WRAP_UI, This enables the FLTK2_WRAP_UI command
# FLTK2_INCLUDE_DIR, where to find include files
# FLTK2_LIBRARIES, list of fltk2 libraries
# FLTK2_FOUND, Don't use FLTK2 if false.
#
# ::
#
# FLTK2_FLUID_EXECUTABLE, where to find the Fluid tool
# FLTK2_WRAP_UI, This enables the FLTK2_WRAP_UI command
# FLTK2_INCLUDE_DIR, where to find include files
# FLTK2_LIBRARIES, list of fltk2 libraries
# FLTK2_FOUND, Don't use FLTK2 if false.
#
# The following settings should not be used in general.
# FLTK2_BASE_LIBRARY = the full path to fltk2.lib
# FLTK2_GL_LIBRARY = the full path to fltk2_gl.lib
# FLTK2_IMAGES_LIBRARY = the full path to fltk2_images.lib
#
# ::
#
# FLTK2_BASE_LIBRARY = the full path to fltk2.lib
# FLTK2_GL_LIBRARY = the full path to fltk2_gl.lib
# FLTK2_IMAGES_LIBRARY = the full path to fltk2_images.lib
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+21 -12
View File
@@ -1,16 +1,25 @@
# - Locate FreeType library
# This module defines
# FREETYPE_LIBRARIES, the library to link against
# FREETYPE_FOUND, if false, do not try to link to FREETYPE
# FREETYPE_INCLUDE_DIRS, where to find headers.
# FREETYPE_VERSION_STRING, the version of freetype found (since CMake 2.8.8)
# This is the concatenation of the paths:
# FREETYPE_INCLUDE_DIR_ft2build
# FREETYPE_INCLUDE_DIR_freetype2
#.rst:
# FindFreetype
# ------------
#
# $FREETYPE_DIR is an environment variable that would
# correspond to the ./configure --prefix=$FREETYPE_DIR
# used in building FREETYPE.
# Locate FreeType library
#
# This module defines
#
# ::
#
# FREETYPE_LIBRARIES, the library to link against
# FREETYPE_FOUND, if false, do not try to link to FREETYPE
# FREETYPE_INCLUDE_DIRS, where to find headers.
# FREETYPE_VERSION_STRING, the version of freetype found (since CMake 2.8.8)
# This is the concatenation of the paths:
# FREETYPE_INCLUDE_DIR_ft2build
# FREETYPE_INCLUDE_DIR_freetype2
#
#
#
# $FREETYPE_DIR is an environment variable that would correspond to the
# ./configure --prefix=$FREETYPE_DIR used in building FREETYPE.
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+11 -2
View File
@@ -1,7 +1,16 @@
# - Find the GCC-XML front-end executable.
#.rst:
# FindGCCXML
# ----------
#
# Find the GCC-XML front-end executable.
#
#
#
# This module will define the following variables:
# GCCXML - the GCC-XML front-end executable.
#
# ::
#
# GCCXML - the GCC-XML front-end executable.
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+16 -4
View File
@@ -1,14 +1,26 @@
#.rst:
# FindGDAL
# --------
#
#
#
# Locate gdal
#
# This module accepts the following environment variables:
#
# GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
# ::
#
# GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
#
#
#
# This module defines the following CMake variables:
#
# GDAL_FOUND - True if libgdal is found
# GDAL_LIBRARY - A variable pointing to the GDAL library
# GDAL_INCLUDE_DIR - Where to find the headers
# ::
#
# GDAL_FOUND - True if libgdal is found
# GDAL_LIBRARY - A variable pointing to the GDAL library
# GDAL_INCLUDE_DIR - Where to find the headers
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+13 -8
View File
@@ -1,14 +1,19 @@
# This module searches giflib and defines
# GIF_LIBRARIES - libraries to link to in order to use GIF
# GIF_FOUND, if false, do not try to link
# GIF_INCLUDE_DIR, where to find the headers
# GIF_VERSION, reports either version 4 or 3 (for everything before version 4)
#.rst:
# FindGIF
# -------
#
#
#
# This module searches giflib and defines GIF_LIBRARIES - libraries to
# link to in order to use GIF GIF_FOUND, if false, do not try to link
# GIF_INCLUDE_DIR, where to find the headers GIF_VERSION, reports either
# version 4 or 3 (for everything before version 4)
#
# The minimum required version of giflib can be specified using the
# standard syntax, e.g. find_package(GIF 4)
# standard syntax, e.g. find_package(GIF 4)
#
# $GIF_DIR is an environment variable that would
# correspond to the ./configure --prefix=$GIF_DIR
# $GIF_DIR is an environment variable that would correspond to the
# ./configure --prefix=$GIF_DIR
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+12 -4
View File
@@ -1,8 +1,16 @@
# - Find the OpenGL Extension Wrangler Library (GLEW)
#.rst:
# FindGLEW
# --------
#
# Find the OpenGL Extension Wrangler Library (GLEW)
#
# This module defines the following variables:
# GLEW_INCLUDE_DIRS - include directories for GLEW
# GLEW_LIBRARIES - libraries to link against GLEW
# GLEW_FOUND - true if GLEW has been found and can be used
#
# ::
#
# GLEW_INCLUDE_DIRS - include directories for GLEW
# GLEW_LIBRARIES - libraries to link against GLEW
# GLEW_FOUND - true if GLEW has been found and can be used
#=============================================================================
# Copyright 2012 Benjamin Eikel
+18 -7
View File
@@ -1,11 +1,22 @@
# - try to find glut library and include files
# GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
# GLUT_LIBRARIES, the libraries to link against
# GLUT_FOUND, If false, do not try to use GLUT.
#.rst:
# FindGLUT
# --------
#
# try to find glut library and include files
#
# ::
#
# GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
# GLUT_LIBRARIES, the libraries to link against
# GLUT_FOUND, If false, do not try to use GLUT.
#
# Also defined, but not for general use are:
# GLUT_glut_LIBRARY = the full path to the glut library.
# GLUT_Xmu_LIBRARY = the full path to the Xmu library.
# GLUT_Xi_LIBRARY = the full path to the Xi Library.
#
# ::
#
# GLUT_glut_LIBRARY = the full path to the glut library.
# GLUT_Xmu_LIBRARY = the full path to the Xmu library.
# GLUT_Xi_LIBRARY = the full path to the Xi Library.
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+12 -5
View File
@@ -1,8 +1,15 @@
# - try to find GTK (and glib) and GTKGLArea
# GTK_INCLUDE_DIR - Directories to include to use GTK
# GTK_LIBRARIES - Files to link against to use GTK
# GTK_FOUND - GTK was found
# GTK_GL_FOUND - GTK's GL features were found
#.rst:
# FindGTK
# -------
#
# try to find GTK (and glib) and GTKGLArea
#
# ::
#
# GTK_INCLUDE_DIR - Directories to include to use GTK
# GTK_LIBRARIES - Files to link against to use GTK
# GTK_FOUND - GTK was found
# GTK_GL_FOUND - GTK's GL features were found
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
+77 -35
View File
@@ -1,56 +1,98 @@
# - FindGTK2.cmake
# This module can find the GTK2 widget libraries and several of its other
# optional components like gtkmm, glade, and glademm.
#.rst:
# FindGTK2
# --------
#
# FindGTK2.cmake
#
# This module can find the GTK2 widget libraries and several of its
# other optional components like gtkmm, glade, and glademm.
#
# NOTE: If you intend to use version checking, CMake 2.6.2 or later is
# required.
#
# Specify one or more of the following components
# as you call this find module. See example below.
# ::
#
# required.
#
#
#
# Specify one or more of the following components as you call this find
# module. See example below.
#
# ::
#
# gtk
# gtkmm
# glade
# glademm
#
#
# gtk
# gtkmm
# glade
# glademm
#
# The following variables will be defined for your use
#
# GTK2_FOUND - Were all of your specified components found?
# GTK2_INCLUDE_DIRS - All include directories
# GTK2_LIBRARIES - All libraries
# GTK2_DEFINITIONS - Additional compiler flags
# ::
#
# GTK2_FOUND - Were all of your specified components found?
# GTK2_INCLUDE_DIRS - All include directories
# GTK2_LIBRARIES - All libraries
# GTK2_DEFINITIONS - Additional compiler flags
#
#
#
# ::
#
# GTK2_VERSION - The version of GTK2 found (x.y.z)
# GTK2_MAJOR_VERSION - The major version of GTK2
# GTK2_MINOR_VERSION - The minor version of GTK2
# GTK2_PATCH_VERSION - The patch version of GTK2
#
#
# GTK2_VERSION - The version of GTK2 found (x.y.z)
# GTK2_MAJOR_VERSION - The major version of GTK2
# GTK2_MINOR_VERSION - The minor version of GTK2
# GTK2_PATCH_VERSION - The patch version of GTK2
#
# Optional variables you can define prior to calling this module:
#
# GTK2_DEBUG - Enables verbose debugging of the module
# GTK2_ADDITIONAL_SUFFIXES - Allows defining additional directories to
# search for include files
# ::
#
#=================
# Example Usage:
# GTK2_DEBUG - Enables verbose debugging of the module
# GTK2_ADDITIONAL_SUFFIXES - Allows defining additional directories to
# search for include files
#
# Call find_package() once, here are some examples to pick from:
#
# Require GTK 2.6 or later
# find_package(GTK2 2.6 REQUIRED gtk)
#
# Require GTK 2.10 or later and Glade
# find_package(GTK2 2.10 REQUIRED gtk glade)
# ================= Example Usage:
#
# Search for GTK/GTKMM 2.8 or later
# find_package(GTK2 2.8 COMPONENTS gtk gtkmm)
# ::
#
# if(GTK2_FOUND)
# include_directories(${GTK2_INCLUDE_DIRS})
# add_executable(mygui mygui.cc)
# target_link_libraries(mygui ${GTK2_LIBRARIES})
# endif()
# Call find_package() once, here are some examples to pick from:
#
#
#
# ::
#
# Require GTK 2.6 or later
# find_package(GTK2 2.6 REQUIRED gtk)
#
#
#
# ::
#
# Require GTK 2.10 or later and Glade
# find_package(GTK2 2.10 REQUIRED gtk glade)
#
#
#
# ::
#
# Search for GTK/GTKMM 2.8 or later
# find_package(GTK2 2.8 COMPONENTS gtk gtkmm)
#
#
#
# ::
#
# if(GTK2_FOUND)
# include_directories(${GTK2_INCLUDE_DIRS})
# add_executable(mygui mygui.cc)
# target_link_libraries(mygui ${GTK2_LIBRARIES})
# endif()
#=============================================================================
# Copyright 2009 Kitware, Inc.
+73 -35
View File
@@ -1,58 +1,96 @@
#.rst:
# FindGTest
# ---------
#
# --------------------
#
# Locate the Google C++ Testing Framework.
#
# Defines the following variables:
#
# GTEST_FOUND - Found the Google Testing framework
# GTEST_INCLUDE_DIRS - Include directories
# ::
#
# GTEST_FOUND - Found the Google Testing framework
# GTEST_INCLUDE_DIRS - Include directories
#
#
#
# Also defines the library variables below as normal variables. These
# contain debug/optimized keywords when a debugging library is found.
#
# ::
#
# GTEST_BOTH_LIBRARIES - Both libgtest & libgtest-main
# GTEST_LIBRARIES - libgtest
# GTEST_MAIN_LIBRARIES - libgtest-main
#
# Also defines the library variables below as normal
# variables. These contain debug/optimized keywords when
# a debugging library is found.
#
# GTEST_BOTH_LIBRARIES - Both libgtest & libgtest-main
# GTEST_LIBRARIES - libgtest
# GTEST_MAIN_LIBRARIES - libgtest-main
#
# Accepts the following variables as input:
#
# GTEST_ROOT - (as a CMake or environment variable)
# The root directory of the gtest install prefix
# ::
#
# GTEST_ROOT - (as a CMake or environment variable)
# The root directory of the gtest install prefix
#
#
#
# ::
#
# GTEST_MSVC_SEARCH - If compiling with MSVC, this variable can be set to
# "MD" or "MT" to enable searching a GTest build tree
# (defaults: "MD")
#
#
# GTEST_MSVC_SEARCH - If compiling with MSVC, this variable can be set to
# "MD" or "MT" to enable searching a GTest build tree
# (defaults: "MD")
#
#-----------------------
# Example Usage:
#
# enable_testing()
# find_package(GTest REQUIRED)
# include_directories(${GTEST_INCLUDE_DIRS})
# ::
#
# add_executable(foo foo.cc)
# target_link_libraries(foo ${GTEST_BOTH_LIBRARIES})
# enable_testing()
# find_package(GTest REQUIRED)
# include_directories(${GTEST_INCLUDE_DIRS})
#
# add_test(AllTestsInFoo foo)
#
#-----------------------
#
# If you would like each Google test to show up in CTest as
# a test you may use the following macro.
# NOTE: It will slow down your tests by running an executable
# for each test and test fixture. You will also have to rerun
# CMake after adding or removing tests or test fixtures.
# ::
#
# add_executable(foo foo.cc)
# target_link_libraries(foo ${GTEST_BOTH_LIBRARIES})
#
#
#
# ::
#
# add_test(AllTestsInFoo foo)
#
#
#
#
#
# If you would like each Google test to show up in CTest as a test you
# may use the following macro. NOTE: It will slow down your tests by
# running an executable for each test and test fixture. You will also
# have to rerun CMake after adding or removing tests or test fixtures.
#
# GTEST_ADD_TESTS(executable extra_args ARGN)
# executable = The path to the test executable
# extra_args = Pass a list of extra arguments to be passed to
# executable enclosed in quotes (or "" for none)
# ARGN = A list of source files to search for tests & test
# fixtures.
#
# Example:
# set(FooTestArgs --foo 1 --bar 2)
# add_executable(FooTest FooUnitTest.cc)
# GTEST_ADD_TESTS(FooTest "${FooTestArgs}" FooUnitTest.cc)
# ::
#
# executable = The path to the test executable
# extra_args = Pass a list of extra arguments to be passed to
# executable enclosed in quotes (or "" for none)
# ARGN = A list of source files to search for tests & test
# fixtures.
#
#
#
# ::
#
# Example:
# set(FooTestArgs --foo 1 --bar 2)
# add_executable(FooTest FooUnitTest.cc)
# GTEST_ADD_TESTS(FooTest "${FooTestArgs}" FooUnitTest.cc)
#=============================================================================
# Copyright 2009 Kitware, Inc.
+46 -23
View File
@@ -1,29 +1,52 @@
# - Find GNU gettext tools
# This module looks for the GNU gettext tools. This module defines the
#.rst:
# FindGettext
# -----------
#
# Find GNU gettext tools
#
# This module looks for the GNU gettext tools. This module defines the
# following values:
# GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool.
# GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool.
# GETTEXT_FOUND: True if gettext has been found.
# GETTEXT_VERSION_STRING: the version of gettext found (since CMake 2.8.8)
#
# ::
#
# GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool.
# GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool.
# GETTEXT_FOUND: True if gettext has been found.
# GETTEXT_VERSION_STRING: the version of gettext found (since CMake 2.8.8)
#
#
#
# Additionally it provides the following macros:
# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ... fileN )
# This will create a target "translations" which will convert the
# given input po files into the binary output mo file. If the
# ALL option is used, the translations will also be created when
# building the default target.
# GETTEXT_PROCESS_POT( <potfile> [ALL] [INSTALL_DESTINATION <destdir>] LANGUAGES <lang1> <lang2> ... )
# Process the given pot file to mo files.
# If INSTALL_DESTINATION is given then automatically install rules will be created,
# the language subdirectory will be taken into account (by default use share/locale/).
# If ALL is specified, the pot file is processed when building the all traget.
# It creates a custom target "potfile".
# GETTEXT_PROCESS_PO_FILES( <lang> [ALL] [INSTALL_DESTINATION <dir>] PO_FILES <po1> <po2> ... )
# Process the given po files to mo files for the given language.
# If INSTALL_DESTINATION is given then automatically install rules will be created,
# the language subdirectory will be taken into account (by default use share/locale/).
# If ALL is specified, the po files are processed when building the all traget.
# It creates a custom target "pofiles".
# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ... fileN )
#
# ::
#
# This will create a target "translations" which will convert the
# given input po files into the binary output mo file. If the
# ALL option is used, the translations will also be created when
# building the default target.
#
# GETTEXT_PROCESS_POT( <potfile> [ALL] [INSTALL_DESTINATION <destdir>]
# LANGUAGES <lang1> <lang2> ... )
#
# ::
#
# Process the given pot file to mo files.
# If INSTALL_DESTINATION is given then automatically install rules will be created,
# the language subdirectory will be taken into account (by default use share/locale/).
# If ALL is specified, the pot file is processed when building the all traget.
# It creates a custom target "potfile".
#
# GETTEXT_PROCESS_PO_FILES( <lang> [ALL] [INSTALL_DESTINATION <dir>]
# PO_FILES <po1> <po2> ... )
#
# ::
#
# Process the given po files to mo files for the given language.
# If INSTALL_DESTINATION is given then automatically install rules will be created,
# the language subdirectory will be taken into account (by default use share/locale/).
# If ALL is specified, the po files are processed when building the all traget.
# It creates a custom target "pofiles".
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+20 -7
View File
@@ -1,12 +1,25 @@
#.rst:
# FindGit
# -------
#
#
#
# The module defines the following variables:
# GIT_EXECUTABLE - path to git command line client
# GIT_FOUND - true if the command line client was found
# GIT_VERSION_STRING - the version of git found (since CMake 2.8.8)
#
# ::
#
# GIT_EXECUTABLE - path to git command line client
# GIT_FOUND - true if the command line client was found
# GIT_VERSION_STRING - the version of git found (since CMake 2.8.8)
#
# Example usage:
# find_package(Git)
# if(GIT_FOUND)
# message("git found: ${GIT_EXECUTABLE}")
# endif()
#
# ::
#
# find_package(Git)
# if(GIT_FOUND)
# message("git found: ${GIT_EXECUTABLE}")
# endif()
#=============================================================================
# Copyright 2010 Kitware, Inc.
+13 -5
View File
@@ -1,11 +1,19 @@
# - Try to find the GNU Transport Layer Security library (gnutls)
#.rst:
# FindGnuTLS
# ----------
#
# Try to find the GNU Transport Layer Security library (gnutls)
#
#
#
# Once done this will define
#
# GNUTLS_FOUND - System has gnutls
# GNUTLS_INCLUDE_DIR - The gnutls include directory
# GNUTLS_LIBRARIES - The libraries needed to use gnutls
# GNUTLS_DEFINITIONS - Compiler switches required for using gnutls
# ::
#
# GNUTLS_FOUND - System has gnutls
# GNUTLS_INCLUDE_DIR - The gnutls include directory
# GNUTLS_LIBRARIES - The libraries needed to use gnutls
# GNUTLS_DEFINITIONS - Compiler switches required for using gnutls
#=============================================================================
# Copyright 2009 Kitware, Inc.
+14 -4
View File
@@ -1,10 +1,20 @@
# - this module looks for gnuplot
#.rst:
# FindGnuplot
# -----------
#
# this module looks for gnuplot
#
#
#
# Once done this will define
#
# GNUPLOT_FOUND - system has Gnuplot
# GNUPLOT_EXECUTABLE - the Gnuplot executable
# GNUPLOT_VERSION_STRING - the version of Gnuplot found (since CMake 2.8.8)
# ::
#
# GNUPLOT_FOUND - system has Gnuplot
# GNUPLOT_EXECUTABLE - the Gnuplot executable
# GNUPLOT_VERSION_STRING - the version of Gnuplot found (since CMake 2.8.8)
#
#
#
# GNUPLOT_VERSION_STRING will not work for old versions like 3.7.1.
+51 -38
View File
@@ -1,49 +1,62 @@
# - Find HDF5, a library for reading and writing self describing array data.
#.rst:
# FindHDF5
# --------
#
# Find HDF5, a library for reading and writing self describing array data.
#
#
#
# This module invokes the HDF5 wrapper compiler that should be installed
# alongside HDF5. Depending upon the HDF5 Configuration, the wrapper compiler
# is called either h5cc or h5pcc. If this succeeds, the module will then call
# the compiler with the -show argument to see what flags are used when compiling
# an HDF5 client application.
# alongside HDF5. Depending upon the HDF5 Configuration, the wrapper
# compiler is called either h5cc or h5pcc. If this succeeds, the module
# will then call the compiler with the -show argument to see what flags
# are used when compiling an HDF5 client application.
#
# The module will optionally accept the COMPONENTS argument. If no COMPONENTS
# are specified, then the find module will default to finding only the HDF5 C
# library. If one or more COMPONENTS are specified, the module will attempt to
# find the language bindings for the specified components. The only valid
# components are C, CXX, Fortran, HL, and Fortran_HL. If the COMPONENTS
# argument is not given, the module will attempt to find only the C bindings.
# The module will optionally accept the COMPONENTS argument. If no
# COMPONENTS are specified, then the find module will default to finding
# only the HDF5 C library. If one or more COMPONENTS are specified, the
# module will attempt to find the language bindings for the specified
# components. The only valid components are C, CXX, Fortran, HL, and
# Fortran_HL. If the COMPONENTS argument is not given, the module will
# attempt to find only the C bindings.
#
# On UNIX systems, this module will read the variable HDF5_USE_STATIC_LIBRARIES
# to determine whether or not to prefer a static link to a dynamic link for HDF5
# and all of it's dependencies. To use this feature, make sure that the
# HDF5_USE_STATIC_LIBRARIES variable is set before the call to find_package.
# On UNIX systems, this module will read the variable
# HDF5_USE_STATIC_LIBRARIES to determine whether or not to prefer a
# static link to a dynamic link for HDF5 and all of it's dependencies.
# To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES
# variable is set before the call to find_package.
#
# To provide the module with a hint about where to find your HDF5 installation,
# you can set the environment variable HDF5_ROOT. The Find module will then
# look in this path when searching for HDF5 executables, paths, and libraries.
# To provide the module with a hint about where to find your HDF5
# installation, you can set the environment variable HDF5_ROOT. The
# Find module will then look in this path when searching for HDF5
# executables, paths, and libraries.
#
# In addition to finding the includes and libraries required to compile an HDF5
# client application, this module also makes an effort to find tools that come
# with the HDF5 distribution that may be useful for regression testing.
# In addition to finding the includes and libraries required to compile
# an HDF5 client application, this module also makes an effort to find
# tools that come with the HDF5 distribution that may be useful for
# regression testing.
#
# This module will define the following variables:
# HDF5_INCLUDE_DIRS - Location of the hdf5 includes
# HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
# HDF5_DEFINITIONS - Required compiler definitions for HDF5
# HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings.
# HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings
# HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings
# HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API
# HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran
# bindings.
# HDF5_LIBRARIES - Required libraries for all requested bindings
# HDF5_FOUND - true if HDF5 was found on the system
# HDF5_LIBRARY_DIRS - the full set of library directories
# HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support
# HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler
# HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler
# HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler
# HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool
#
# ::
#
# HDF5_INCLUDE_DIRS - Location of the hdf5 includes
# HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
# HDF5_DEFINITIONS - Required compiler definitions for HDF5
# HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings.
# HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings
# HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings
# HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API
# HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran
# bindings.
# HDF5_LIBRARIES - Required libraries for all requested bindings
# HDF5_FOUND - true if HDF5 was found on the system
# HDF5_LIBRARY_DIRS - the full set of library directories
# HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support
# HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler
# HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler
# HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler
# HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool
#=============================================================================
# Copyright 2009 Kitware, Inc.
+19 -8
View File
@@ -1,14 +1,25 @@
# - Try to find Hspell
#.rst:
# FindHSPELL
# ----------
#
# Try to find Hspell
#
# Once done this will define
#
# HSPELL_FOUND - system has Hspell
# HSPELL_INCLUDE_DIR - the Hspell include directory
# HSPELL_LIBRARIES - The libraries needed to use Hspell
# HSPELL_DEFINITIONS - Compiler switches required for using Hspell
# ::
#
# HSPELL_VERSION_STRING - The version of Hspell found (x.y)
# HSPELL_MAJOR_VERSION - the major version of Hspell
# HSPELL_MINOR_VERSION - The minor version of Hspell
# HSPELL_FOUND - system has Hspell
# HSPELL_INCLUDE_DIR - the Hspell include directory
# HSPELL_LIBRARIES - The libraries needed to use Hspell
# HSPELL_DEFINITIONS - Compiler switches required for using Hspell
#
#
#
# ::
#
# HSPELL_VERSION_STRING - The version of Hspell found (x.y)
# HSPELL_MAJOR_VERSION - the major version of Hspell
# HSPELL_MINOR_VERSION - The minor version of Hspell
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
+12 -5
View File
@@ -1,9 +1,16 @@
# - This module looks for Microsoft HTML Help Compiler
# It defines:
# HTML_HELP_COMPILER : full path to the Compiler (hhc.exe)
# HTML_HELP_INCLUDE_PATH : include path to the API (htmlhelp.h)
# HTML_HELP_LIBRARY : full path to the library (htmlhelp.lib)
#.rst:
# FindHTMLHelp
# ------------
#
# This module looks for Microsoft HTML Help Compiler
#
# It defines:
#
# ::
#
# HTML_HELP_COMPILER : full path to the Compiler (hhc.exe)
# HTML_HELP_INCLUDE_PATH : include path to the API (htmlhelp.h)
# HTML_HELP_LIBRARY : full path to the library (htmlhelp.lib)
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
+20 -7
View File
@@ -1,12 +1,25 @@
#.rst:
# FindHg
# ------
#
#
#
# The module defines the following variables:
# HG_EXECUTABLE - path to mercurial command line client (hg)
# HG_FOUND - true if the command line client was found
# HG_VERSION_STRING - the version of mercurial found
#
# ::
#
# HG_EXECUTABLE - path to mercurial command line client (hg)
# HG_FOUND - true if the command line client was found
# HG_VERSION_STRING - the version of mercurial found
#
# Example usage:
# find_package(Hg)
# if(HG_FOUND)
# message("hg found: ${HG_EXECUTABLE}")
# endif()
#
# ::
#
# find_package(Hg)
# if(HG_FOUND)
# message("hg found: ${HG_EXECUTABLE}")
# endif()
#=============================================================================
# Copyright 2010-2012 Kitware, Inc.
+5 -1
View File
@@ -1,4 +1,8 @@
# - Find an ITK installation or build tree.
#.rst:
# FindITK
# -------
#
# Find an ITK installation or build tree.
# When ITK is found, the ITKConfig.cmake file is sourced to setup the
# location and configuration of ITK. Please read this file, or
+13 -6
View File
@@ -1,10 +1,17 @@
# - Find icotool
# This module looks for icotool. This module defines the
# following values:
# ICOTOOL_EXECUTABLE: the full path to the icotool tool.
# ICOTOOL_FOUND: True if icotool has been found.
# ICOTOOL_VERSION_STRING: the version of icotool found.
#.rst:
# FindIcotool
# -----------
#
# Find icotool
#
# This module looks for icotool. This module defines the following
# values:
#
# ::
#
# ICOTOOL_EXECUTABLE: the full path to the icotool tool.
# ICOTOOL_FOUND: True if icotool has been found.
# ICOTOOL_VERSION_STRING: the version of icotool found.
#=============================================================================
# Copyright 2012 Aleksey Avdeev <solo@altlinux.ru>

Some files were not shown because too many files have changed in this diff Show More