Merge remote-tracking branch 'origin/release'
This commit is contained in:
commit
44c3a1b8a8
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
# This configuration requires clang-format 3.8 or higher.
|
||||||
|
BasedOnStyle: Mozilla
|
||||||
|
AlignOperands: false
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakAfterDefinitionReturnType: None
|
||||||
|
ColumnLimit: 79
|
||||||
|
Standard: Cpp03
|
||||||
|
...
|
|
@ -10,7 +10,6 @@ configure crlf=input
|
||||||
*.bat -crlf
|
*.bat -crlf
|
||||||
*.bat.in -crlf
|
*.bat.in -crlf
|
||||||
*.dsp -crlf
|
*.dsp -crlf
|
||||||
*.dsptemplate -crlf
|
|
||||||
*.dsw -crlf
|
*.dsw -crlf
|
||||||
*.pfx -crlf
|
*.pfx -crlf
|
||||||
*.png -crlf
|
*.png -crlf
|
||||||
|
@ -22,3 +21,5 @@ configure crlf=input
|
||||||
*.cxx whitespace=tab-in-indent
|
*.cxx whitespace=tab-in-indent
|
||||||
*.txt whitespace=tab-in-indent
|
*.txt whitespace=tab-in-indent
|
||||||
*.cmake whitespace=tab-in-indent
|
*.cmake whitespace=tab-in-indent
|
||||||
|
|
||||||
|
*.rst whitespace=tab-in-indent conflict-marker-size=79
|
||||||
|
|
|
@ -121,14 +121,19 @@ _cmake()
|
||||||
grep -v "^cmake version " )' -- "$cur" ) )
|
grep -v "^cmake version " )' -- "$cur" ) )
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
--help-manual)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cmake --help-manual-list 2>/dev/null|
|
||||||
|
grep -v "^cmake version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
--help-module)
|
--help-module)
|
||||||
COMPREPLY=( $( compgen -W '$( cmake --help-module-list 2>/dev/null|
|
COMPREPLY=( $( compgen -W '$( cmake --help-module-list 2>/dev/null|
|
||||||
grep -v "^cmake version " )' -- "$cur" ) )
|
grep -v "^cmake version " )' -- "$cur" ) )
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
--help-policy)
|
--help-policy)
|
||||||
COMPREPLY=( $( compgen -W '$( cmake --help-policies 2>/dev/null |
|
COMPREPLY=( $( compgen -W '$( cmake --help-policy-list 2>/dev/null |
|
||||||
grep "^ CMP" 2>/dev/null )' -- "$cur" ) )
|
grep -v "^cmake version " )' -- "$cur" ) )
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
--help-property)
|
--help-property)
|
||||||
|
|
|
@ -48,6 +48,26 @@ _cpack()
|
||||||
grep -v "^cpack version " )' -- "$cur" ) )
|
grep -v "^cpack version " )' -- "$cur" ) )
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
--help-manual)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-manual-list 2>/dev/null|
|
||||||
|
grep -v "^cpack version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-module)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-module-list 2>/dev/null|
|
||||||
|
grep -v "^cpack version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-policy)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-policy-list 2>/dev/null |
|
||||||
|
grep -v "^cpack version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-property)
|
||||||
|
COMPREPLY=( $( compgen -W '$( cpack --help-property-list \
|
||||||
|
2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
--help-variable)
|
--help-variable)
|
||||||
COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \
|
COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \
|
||||||
2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) )
|
2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) )
|
||||||
|
|
|
@ -72,11 +72,37 @@ _ctest()
|
||||||
COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) )
|
COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) )
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--help-command)
|
--help-command)
|
||||||
COMPREPLY=( $( compgen -W '$( ctest --help-command-list 2>/dev/null|
|
COMPREPLY=( $( compgen -W '$( ctest --help-command-list 2>/dev/null|
|
||||||
grep -v "^ctest version " )' -- "$cur" ) )
|
grep -v "^ctest version " )' -- "$cur" ) )
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
--help-manual)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest --help-manual-list 2>/dev/null|
|
||||||
|
grep -v "^ctest version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-module)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest --help-module-list 2>/dev/null|
|
||||||
|
grep -v "^ctest version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-policy)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest --help-policy-list 2>/dev/null |
|
||||||
|
grep -v "^ctest version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-property)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest --help-property-list \
|
||||||
|
2>/dev/null | grep -v "^ctest version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--help-variable)
|
||||||
|
COMPREPLY=( $( compgen -W '$( ctest --help-variable-list \
|
||||||
|
2>/dev/null | grep -v "^ctest version " )' -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
|
|
|
@ -228,7 +228,9 @@ the indentation. Otherwise it retains the same position on the line"
|
||||||
;;
|
;;
|
||||||
;; Indentation increment.
|
;; Indentation increment.
|
||||||
;;
|
;;
|
||||||
(defvar cmake-tab-width 2)
|
(defcustom cmake-tab-width 2
|
||||||
|
"Number of columns to indent cmake blocks"
|
||||||
|
:type 'integer)
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -304,7 +306,8 @@ and store the result as a list in LISTVAR."
|
||||||
(save-window-excursion
|
(save-window-excursion
|
||||||
(cmake-command-run (concat "--help-" listname "-list") nil temp-buffer-name)
|
(cmake-command-run (concat "--help-" listname "-list") nil temp-buffer-name)
|
||||||
(with-current-buffer temp-buffer-name
|
(with-current-buffer temp-buffer-name
|
||||||
(set listvar (cdr (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n" t))))))
|
; FIXME: Ignore first line if it is "cmake version ..." from CMake < 3.0.
|
||||||
|
(set listvar (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n" t)))))
|
||||||
(symbol-value listvar)
|
(symbol-value listvar)
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
|
|
|
@ -327,7 +327,15 @@ macro (CMAKE_BUILD_UTILITIES)
|
||||||
if(CMAKE_TESTS_CDASH_SERVER)
|
if(CMAKE_TESTS_CDASH_SERVER)
|
||||||
set(CMAKE_CURL_TEST_URL "${CMAKE_TESTS_CDASH_SERVER}/user.php")
|
set(CMAKE_CURL_TEST_URL "${CMAKE_TESTS_CDASH_SERVER}/user.php")
|
||||||
endif()
|
endif()
|
||||||
option(CMAKE_USE_OPENSSL "Use OpenSSL." OFF)
|
set(_CMAKE_USE_OPENSSL_DEFAULT OFF)
|
||||||
|
if(NOT DEFINED CMAKE_USE_OPENSSL AND NOT WIN32 AND NOT APPLE
|
||||||
|
AND CMAKE_SYSTEM_NAME MATCHES "(Linux|FreeBSD)")
|
||||||
|
find_package(OpenSSL QUIET)
|
||||||
|
if(OPENSSL_FOUND)
|
||||||
|
set(_CMAKE_USE_OPENSSL_DEFAULT ON)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
option(CMAKE_USE_OPENSSL "Use OpenSSL." ${_CMAKE_USE_OPENSSL_DEFAULT})
|
||||||
mark_as_advanced(CMAKE_USE_OPENSSL)
|
mark_as_advanced(CMAKE_USE_OPENSSL)
|
||||||
if(CMAKE_USE_OPENSSL)
|
if(CMAKE_USE_OPENSSL)
|
||||||
set(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle")
|
set(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle")
|
||||||
|
|
|
@ -23,6 +23,16 @@ Please base all new work on the ``master`` branch. Then use
|
||||||
``git format-patch`` to produce patches suitable to post to
|
``git format-patch`` to produce patches suitable to post to
|
||||||
the mailing list.
|
the mailing list.
|
||||||
|
|
||||||
|
Code Style
|
||||||
|
==========
|
||||||
|
|
||||||
|
We use `clang-format`_ to define our style for C++ code in the CMake source
|
||||||
|
tree. See the `.clang-format`_ configuration file for our style settings.
|
||||||
|
Use ``clang-format`` version 3.8 or higher to format source files.
|
||||||
|
|
||||||
|
.. _`clang-format`: http://clang.llvm.org/docs/ClangFormat.html
|
||||||
|
.. _`.clang-format`: .clang-format
|
||||||
|
|
||||||
License
|
License
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
||||||
"[Qq]t([Cc]ore|[Gg]ui|[Ww]idgets).*warning.*conversion.*may alter its value"
|
"[Qq]t([Cc]ore|[Gg]ui|[Ww]idgets).*warning.*conversion.*may alter its value"
|
||||||
"warning:.*is.*very unsafe.*consider using.*"
|
"warning:.*is.*very unsafe.*consider using.*"
|
||||||
"warning:.*is.*misused, please use.*"
|
"warning:.*is.*misused, please use.*"
|
||||||
"CMakeSetupManifest.xml.*manifest authoring warning.*Unrecognized Element"
|
"cmake.version.manifest.*manifest authoring warning.*Unrecognized Element"
|
||||||
"cc-3968 CC: WARNING File.*" # "implicit" truncation by static_cast
|
"cc-3968 CC: WARNING File.*" # "implicit" truncation by static_cast
|
||||||
"ld: warning: directory not found for option .-(F|L)"
|
"ld: warning: directory not found for option .-(F|L)"
|
||||||
"ld: warning .*/libgcc.a archive's cputype"
|
"ld: warning .*/libgcc.a archive's cputype"
|
||||||
|
@ -62,6 +62,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
||||||
"warning.*This version of Mac OS X is unsupported"
|
"warning.*This version of Mac OS X is unsupported"
|
||||||
"clang.*: warning: argument unused during compilation: .-g"
|
"clang.*: warning: argument unused during compilation: .-g"
|
||||||
"note: in expansion of macro" # diagnostic context note
|
"note: in expansion of macro" # diagnostic context note
|
||||||
|
"cm(StringCommand|CTestTestHandler)\\.cxx.*warning.*rand.*may return deterministic values"
|
||||||
"cm(StringCommand|CTestTestHandler)\\.cxx.*warning.*rand.*isn.*t random" # we do not do crypto
|
"cm(StringCommand|CTestTestHandler)\\.cxx.*warning.*rand.*isn.*t random" # we do not do crypto
|
||||||
"cm(StringCommand|CTestTestHandler)\\.cxx.*warning.*srand.*seed choices are.*poor" # we do not do crypto
|
"cm(StringCommand|CTestTestHandler)\\.cxx.*warning.*srand.*seed choices are.*poor" # we do not do crypto
|
||||||
|
|
||||||
|
@ -80,6 +81,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
||||||
"index.c.*warning: Access to field.*results in a dereference of a null pointer.*loaded from variable.*"
|
"index.c.*warning: Access to field.*results in a dereference of a null pointer.*loaded from variable.*"
|
||||||
"cm_sha2.*warning: Value stored to.*is never read"
|
"cm_sha2.*warning: Value stored to.*is never read"
|
||||||
"testProcess.*warning: Dereference of null pointer .loaded from variable .invalidAddress.."
|
"testProcess.*warning: Dereference of null pointer .loaded from variable .invalidAddress.."
|
||||||
|
"liblzma/simple/x86.c:[0-9]+:[0-9]+: warning: The result of the '<<' expression is undefined"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(NOT "@CMAKE_GENERATOR@" MATCHES "Xcode")
|
if(NOT "@CMAKE_GENERATOR@" MATCHES "Xcode")
|
||||||
|
|
|
@ -76,9 +76,12 @@ The options are:
|
||||||
The optional ``ARGS`` argument is for backward compatibility and
|
The optional ``ARGS`` argument is for backward compatibility and
|
||||||
will be ignored.
|
will be ignored.
|
||||||
|
|
||||||
If ``COMMAND`` specifies an executable target (created by the
|
If ``COMMAND`` specifies an executable target name (created by the
|
||||||
:command:`add_executable` command) it will automatically be replaced
|
:command:`add_executable` command) it will automatically be replaced
|
||||||
by the location of the executable created at build time.
|
by the location of the executable created at build time. If set, the
|
||||||
|
:prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property will
|
||||||
|
also be prepended to the command to allow the executable to run on
|
||||||
|
the host.
|
||||||
(Use the ``TARGET_FILE``
|
(Use the ``TARGET_FILE``
|
||||||
:manual:`generator expression <cmake-generator-expressions(7)>` to
|
:manual:`generator expression <cmake-generator-expressions(7)>` to
|
||||||
reference an executable later in the command line.)
|
reference an executable later in the command line.)
|
||||||
|
|
|
@ -58,9 +58,12 @@ The options are:
|
||||||
:command:`file(GENERATE)` command to create it, and then specify
|
:command:`file(GENERATE)` command to create it, and then specify
|
||||||
a ``COMMAND`` to launch it.)
|
a ``COMMAND`` to launch it.)
|
||||||
|
|
||||||
If ``COMMAND`` specifies an executable target (created by the
|
If ``COMMAND`` specifies an executable target name (created by the
|
||||||
:command:`add_executable` command) it will automatically be replaced
|
:command:`add_executable` command) it will automatically be replaced
|
||||||
by the location of the executable created at build time.
|
by the location of the executable created at build time. If set, the
|
||||||
|
:prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property will
|
||||||
|
also be prepended to the command to allow the executable to run on
|
||||||
|
the host.
|
||||||
Additionally a target-level dependency will be added so that the
|
Additionally a target-level dependency will be added so that the
|
||||||
executable target will be built before this custom target.
|
executable target will be built before this custom target.
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ does not appear in the generated buildsystem as a make target. The
|
||||||
``<target>`` may not be an :ref:`Imported Target <Imported Targets>` or an
|
``<target>`` may not be an :ref:`Imported Target <Imported Targets>` or an
|
||||||
``ALIAS``. ``ALIAS`` targets can be used as targets to read properties
|
``ALIAS``. ``ALIAS`` targets can be used as targets to read properties
|
||||||
from, executables for custom commands and custom targets. They can also be
|
from, executables for custom commands and custom targets. They can also be
|
||||||
tested for existance with the regular :command:`if(TARGET)` subcommand.
|
tested for existence with the regular :command:`if(TARGET)` subcommand.
|
||||||
The ``<name>`` may not be used to modify properties of ``<target>``, that
|
The ``<name>`` may not be used to modify properties of ``<target>``, that
|
||||||
is, it may not be used as the operand of :command:`set_property`,
|
is, it may not be used as the operand of :command:`set_property`,
|
||||||
:command:`set_target_properties`, :command:`target_link_libraries` etc.
|
:command:`set_target_properties`, :command:`target_link_libraries` etc.
|
||||||
|
|
|
@ -123,7 +123,7 @@ used to refer to ``<target>`` in subsequent commands. The ``<name>`` does
|
||||||
not appear in the generatedbuildsystem as a make target. The ``<target>``
|
not appear in the generatedbuildsystem as a make target. The ``<target>``
|
||||||
may not be an :ref:`Imported Target <Imported Targets>` or an ``ALIAS``.
|
may not be an :ref:`Imported Target <Imported Targets>` or an ``ALIAS``.
|
||||||
``ALIAS`` targets can be used as linkable targets and as targets to
|
``ALIAS`` targets can be used as linkable targets and as targets to
|
||||||
read properties from. They can also be tested for existance with the
|
read properties from. They can also be tested for existence with the
|
||||||
regular :command:`if(TARGET)` subcommand. The ``<name>`` may not be used
|
regular :command:`if(TARGET)` subcommand. The ``<name>`` may not be used
|
||||||
to modify properties of ``<target>``, that is, it may not be used as the
|
to modify properties of ``<target>``, that is, it may not be used as the
|
||||||
operand of :command:`set_property`, :command:`set_target_properties`,
|
operand of :command:`set_property`, :command:`set_target_properties`,
|
||||||
|
|
|
@ -35,7 +35,7 @@ compatibility. Use the first signature instead.
|
||||||
It sets the given ``<cachevariable>`` to a command-line string as
|
It sets the given ``<cachevariable>`` to a command-line string as
|
||||||
above but without the ``--target`` option.
|
above but without the ``--target`` option.
|
||||||
The ``<makecommand>`` is ignored but should be the full path to
|
The ``<makecommand>`` is ignored but should be the full path to
|
||||||
msdev, devenv, nmake, make or one of the end user build tools
|
devenv, nmake, make or one of the end user build tools
|
||||||
for legacy invocations.
|
for legacy invocations.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
|
@ -1,29 +1,14 @@
|
||||||
cmake_minimum_required
|
cmake_minimum_required
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Set the minimum required version of cmake for a project.
|
Set the minimum required version of cmake for a project and
|
||||||
|
update `Policy Settings`_ to match the version given::
|
||||||
::
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION major.minor[.patch[.tweak]]
|
cmake_minimum_required(VERSION major.minor[.patch[.tweak]]
|
||||||
[FATAL_ERROR])
|
[FATAL_ERROR])
|
||||||
|
|
||||||
If the current version of CMake is lower than that required it will
|
If the current version of CMake is lower than that required it will
|
||||||
stop processing the project and report an error. When a version
|
stop processing the project and report an error.
|
||||||
higher than 2.4 is specified the command implicitly invokes
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
cmake_policy(VERSION major[.minor[.patch[.tweak]]])
|
|
||||||
|
|
||||||
which sets the cmake policy version level to the version specified.
|
|
||||||
When version 2.4 or lower is given the command implicitly invokes
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
cmake_policy(VERSION 2.4)
|
|
||||||
|
|
||||||
which enables compatibility features for CMake 2.4 and lower.
|
|
||||||
|
|
||||||
The ``FATAL_ERROR`` option is accepted but ignored by CMake 2.6 and
|
The ``FATAL_ERROR`` option is accepted but ignored by CMake 2.6 and
|
||||||
higher. It should be specified so CMake versions 2.4 and lower fail
|
higher. It should be specified so CMake versions 2.4 and lower fail
|
||||||
|
@ -39,3 +24,27 @@ with an error instead of just a warning.
|
||||||
Calling ``cmake_minimum_required()`` inside a :command:`function`
|
Calling ``cmake_minimum_required()`` inside a :command:`function`
|
||||||
limits some effects to the function scope when invoked. Such calls
|
limits some effects to the function scope when invoked. Such calls
|
||||||
should not be made with the intention of having global effects.
|
should not be made with the intention of having global effects.
|
||||||
|
|
||||||
|
Policy Settings
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The ``cmake_minimum_required(VERSION)`` command implicitly invokes the
|
||||||
|
:command:`cmake_policy(VERSION)` command to specify that the current
|
||||||
|
project code is written for the given version of CMake.
|
||||||
|
All policies introduced in the specified version or earlier will be
|
||||||
|
set to use NEW behavior. All policies introduced after the specified
|
||||||
|
version will be unset. This effectively requests behavior preferred
|
||||||
|
as of a given CMake version and tells newer CMake versions to warn
|
||||||
|
about their new policies.
|
||||||
|
|
||||||
|
When a version higher than 2.4 is specified the command implicitly
|
||||||
|
invokes::
|
||||||
|
|
||||||
|
cmake_policy(VERSION major[.minor[.patch[.tweak]]])
|
||||||
|
|
||||||
|
which sets the cmake policy version level to the version specified.
|
||||||
|
When version 2.4 or lower is given the command implicitly invokes::
|
||||||
|
|
||||||
|
cmake_policy(VERSION 2.4)
|
||||||
|
|
||||||
|
which enables compatibility features for CMake 2.4 and lower.
|
||||||
|
|
|
@ -25,3 +25,7 @@ The options are:
|
||||||
have otherwise printed to the console. CTest will still report
|
have otherwise printed to the console. CTest will still report
|
||||||
the new revision of the repository and any conflicting files
|
the new revision of the repository and any conflicting files
|
||||||
that were found.
|
that were found.
|
||||||
|
|
||||||
|
The update always follows the version control branch currently checked
|
||||||
|
out in the source directory. See the :ref:`CTest Update Step`
|
||||||
|
documentation for more information.
|
||||||
|
|
|
@ -103,8 +103,9 @@ Generate a list of files that match the ``<globbing-expressions>`` and
|
||||||
store it into the ``<variable>``. Globbing expressions are similar to
|
store it into the ``<variable>``. Globbing expressions are similar to
|
||||||
regular expressions, but much simpler. If ``RELATIVE`` flag is
|
regular expressions, but much simpler. If ``RELATIVE`` flag is
|
||||||
specified, the results will be returned as relative paths to the given
|
specified, the results will be returned as relative paths to the given
|
||||||
path. No specific order of results is defined. If order is important then
|
path. No specific order of results is defined other than that it is
|
||||||
sort the list explicitly (e.g. using the :command:`list(SORT)` command).
|
deterministic. If order is important then sort the list explicitly
|
||||||
|
(e.g. using the :command:`list(SORT)` command).
|
||||||
|
|
||||||
By default ``GLOB`` lists directories - directories are omited in result if
|
By default ``GLOB`` lists directories - directories are omited in result if
|
||||||
``LIST_DIRECTORIES`` is set to false.
|
``LIST_DIRECTORIES`` is set to false.
|
||||||
|
|
|
@ -14,7 +14,8 @@ find_file
|
||||||
.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_INCLUDE_PATH`
|
.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_INCLUDE_PATH`
|
||||||
.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
|
.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
|
||||||
|
|
||||||
.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``,
|
.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``.
|
||||||
|
On Windows hosts:
|
||||||
``<prefix>/include/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE`
|
``<prefix>/include/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE`
|
||||||
is set, and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|, and the
|
is set, and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|, and the
|
||||||
directories in ``PATH`` itself.
|
directories in ``PATH`` itself.
|
||||||
|
|
|
@ -14,7 +14,8 @@ find_library
|
||||||
.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_LIBRARY_PATH`
|
.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_LIBRARY_PATH`
|
||||||
.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
|
.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
|
||||||
|
|
||||||
.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``LIB``,
|
.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``LIB``.
|
||||||
|
On Windows hosts:
|
||||||
``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
|
``<prefix>/lib/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE` is set,
|
||||||
and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|,
|
and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|,
|
||||||
and the directories in ``PATH`` itself.
|
and the directories in ``PATH`` itself.
|
||||||
|
|
|
@ -14,7 +14,8 @@ find_path
|
||||||
.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_INCLUDE_PATH`
|
.. |CMAKE_XXX_PATH| replace:: :variable:`CMAKE_INCLUDE_PATH`
|
||||||
.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
|
.. |CMAKE_XXX_MAC_PATH| replace:: :variable:`CMAKE_FRAMEWORK_PATH`
|
||||||
|
|
||||||
.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``,
|
.. |SYSTEM_ENVIRONMENT_PATH_XXX| replace:: Directories in ``INCLUDE``.
|
||||||
|
On Windows hosts:
|
||||||
``<prefix>/include/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE`
|
``<prefix>/include/<arch>`` if :variable:`CMAKE_LIBRARY_ARCHITECTURE`
|
||||||
is set, and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|, and the
|
is set, and |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR|, and the
|
||||||
directories in ``PATH`` itself.
|
directories in ``PATH`` itself.
|
||||||
|
|
|
@ -19,5 +19,4 @@ command to make things depend on the external project.
|
||||||
``TYPE``, ``GUID`` and ``PLATFORM`` are optional parameters that allow one to
|
``TYPE``, ``GUID`` and ``PLATFORM`` are optional parameters that allow one to
|
||||||
specify the type of project, id (GUID) of the project and the name of
|
specify the type of project, id (GUID) of the project and the name of
|
||||||
the target platform. This is useful for projects requiring values
|
the target platform. This is useful for projects requiring values
|
||||||
other than the default (e.g. WIX projects). These options are not
|
other than the default (e.g. WIX projects).
|
||||||
supported by the Visual Studio 6 generator.
|
|
||||||
|
|
|
@ -45,11 +45,15 @@ signatures that specify them. The common options are:
|
||||||
is associated, such as "runtime" or "development". During
|
is associated, such as "runtime" or "development". During
|
||||||
component-specific installation only install rules associated with
|
component-specific installation only install rules associated with
|
||||||
the given component name will be executed. During a full installation
|
the given component name will be executed. During a full installation
|
||||||
all components are installed. If ``COMPONENT`` is not provided a
|
all components are installed unless marked with ``EXCLUDE_FROM_ALL``.
|
||||||
default component "Unspecified" is created. The default component
|
If ``COMPONENT`` is not provided a default component "Unspecified" is
|
||||||
name may be controlled with the
|
created. The default component name may be controlled with the
|
||||||
:variable:`CMAKE_INSTALL_DEFAULT_COMPONENT_NAME` variable.
|
:variable:`CMAKE_INSTALL_DEFAULT_COMPONENT_NAME` variable.
|
||||||
|
|
||||||
|
``EXCLUDE_FROM_ALL``
|
||||||
|
Specify that the file is excluded from a full installation and only
|
||||||
|
installed as part of a component-specific installation
|
||||||
|
|
||||||
``RENAME``
|
``RENAME``
|
||||||
Specify a name for an installed file that may be different from the
|
Specify a name for an installed file that may be different from the
|
||||||
original file. Renaming is allowed only when a single file is
|
original file. Renaming is allowed only when a single file is
|
||||||
|
@ -75,7 +79,8 @@ Installing Targets
|
||||||
[PERMISSIONS permissions...]
|
[PERMISSIONS permissions...]
|
||||||
[CONFIGURATIONS [Debug|Release|...]]
|
[CONFIGURATIONS [Debug|Release|...]]
|
||||||
[COMPONENT <component>]
|
[COMPONENT <component>]
|
||||||
[OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
|
[OPTIONAL] [EXCLUDE_FROM_ALL]
|
||||||
|
[NAMELINK_ONLY|NAMELINK_SKIP]
|
||||||
] [...]
|
] [...]
|
||||||
[INCLUDES DESTINATION [<dir> ...]]
|
[INCLUDES DESTINATION [<dir> ...]]
|
||||||
)
|
)
|
||||||
|
@ -177,7 +182,7 @@ Installing Files
|
||||||
[PERMISSIONS permissions...]
|
[PERMISSIONS permissions...]
|
||||||
[CONFIGURATIONS [Debug|Release|...]]
|
[CONFIGURATIONS [Debug|Release|...]]
|
||||||
[COMPONENT <component>]
|
[COMPONENT <component>]
|
||||||
[RENAME <name>] [OPTIONAL])
|
[RENAME <name>] [OPTIONAL] [EXCLUDE_FROM_ALL])
|
||||||
|
|
||||||
The ``FILES`` form specifies rules for installing files for a project.
|
The ``FILES`` form specifies rules for installing files for a project.
|
||||||
File names given as relative paths are interpreted with respect to the
|
File names given as relative paths are interpreted with respect to the
|
||||||
|
@ -211,7 +216,8 @@ Installing Directories
|
||||||
[DIRECTORY_PERMISSIONS permissions...]
|
[DIRECTORY_PERMISSIONS permissions...]
|
||||||
[USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER]
|
[USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER]
|
||||||
[CONFIGURATIONS [Debug|Release|...]]
|
[CONFIGURATIONS [Debug|Release|...]]
|
||||||
[COMPONENT <component>] [FILES_MATCHING]
|
[COMPONENT <component>] [EXCLUDE_FROM_ALL]
|
||||||
|
[FILES_MATCHING]
|
||||||
[[PATTERN <pattern> | REGEX <regex>]
|
[[PATTERN <pattern> | REGEX <regex>]
|
||||||
[EXCLUDE] [PERMISSIONS permissions...]] [...])
|
[EXCLUDE] [PERMISSIONS permissions...]] [...])
|
||||||
|
|
||||||
|
@ -287,7 +293,7 @@ Custom Installation Logic
|
||||||
::
|
::
|
||||||
|
|
||||||
install([[SCRIPT <file>] [CODE <code>]]
|
install([[SCRIPT <file>] [CODE <code>]]
|
||||||
[COMPONENT <component>] [...])
|
[COMPONENT <component>] [EXCLUDE_FROM_ALL] [...])
|
||||||
|
|
||||||
The ``SCRIPT`` form will invoke the given CMake script files during
|
The ``SCRIPT`` form will invoke the given CMake script files during
|
||||||
installation. If the script file name is a relative path it will be
|
installation. If the script file name is a relative path it will be
|
||||||
|
@ -312,7 +318,8 @@ Installing Exports
|
||||||
[PERMISSIONS permissions...]
|
[PERMISSIONS permissions...]
|
||||||
[CONFIGURATIONS [Debug|Release|...]]
|
[CONFIGURATIONS [Debug|Release|...]]
|
||||||
[EXPORT_LINK_INTERFACE_LIBRARIES]
|
[EXPORT_LINK_INTERFACE_LIBRARIES]
|
||||||
[COMPONENT <component>])
|
[COMPONENT <component>]
|
||||||
|
[EXCLUDE_FROM_ALL])
|
||||||
|
|
||||||
The ``EXPORT`` form generates and installs a CMake file containing code to
|
The ``EXPORT`` form generates and installs a CMake file containing code to
|
||||||
import targets from the installation tree into another project.
|
import targets from the installation tree into another project.
|
||||||
|
|
|
@ -9,6 +9,7 @@ List operations.
|
||||||
list(GET <list> <element index> [<element index> ...]
|
list(GET <list> <element index> [<element index> ...]
|
||||||
<output variable>)
|
<output variable>)
|
||||||
list(APPEND <list> [<element> ...])
|
list(APPEND <list> [<element> ...])
|
||||||
|
list(FILTER <list> <INCLUDE|EXCLUDE> REGEX <regular_expression>)
|
||||||
list(FIND <list> <value> <output variable>)
|
list(FIND <list> <value> <output variable>)
|
||||||
list(INSERT <list> <element_index> <element> [<element> ...])
|
list(INSERT <list> <element_index> <element> [<element> ...])
|
||||||
list(REMOVE_ITEM <list> <value> [<value> ...])
|
list(REMOVE_ITEM <list> <value> [<value> ...])
|
||||||
|
@ -23,6 +24,12 @@ List operations.
|
||||||
|
|
||||||
``APPEND`` will append elements to the list.
|
``APPEND`` will append elements to the list.
|
||||||
|
|
||||||
|
``FILTER`` will include or remove items from the list that match the
|
||||||
|
mode's pattern.
|
||||||
|
In ``REGEX`` mode, items will be matched against the given regular expression.
|
||||||
|
For more information on regular expressions see also the :command:`string`
|
||||||
|
command.
|
||||||
|
|
||||||
``FIND`` will return the index of the element specified in the list or -1
|
``FIND`` will return the index of the element specified in the list or -1
|
||||||
if it wasn't found.
|
if it wasn't found.
|
||||||
|
|
||||||
|
@ -38,9 +45,9 @@ difference is that ``REMOVE_ITEM`` will remove the given items, while
|
||||||
|
|
||||||
``SORT`` sorts the list in-place alphabetically.
|
``SORT`` sorts the list in-place alphabetically.
|
||||||
|
|
||||||
The list subcommands ``APPEND``, ``INSERT``, ``REMOVE_AT``, ``REMOVE_ITEM``,
|
The list subcommands ``APPEND``, ``INSERT``, ``FILTER``, ``REMOVE_AT``,
|
||||||
``REMOVE_DUPLICATES``, ``REVERSE`` and ``SORT`` may create new values for
|
``REMOVE_ITEM``, ``REMOVE_DUPLICATES``, ``REVERSE`` and ``SORT`` may create new
|
||||||
the list within the current CMake variable scope. Similar to the
|
values for the list within the current CMake variable scope. Similar to the
|
||||||
:command:`set` command, the LIST command creates new variable values in the
|
:command:`set` command, the LIST command creates new variable values in the
|
||||||
current scope, even if the list itself is actually defined in a parent
|
current scope, even if the list itself is actually defined in a parent
|
||||||
scope. To propagate the results of these operations upwards, use
|
scope. To propagate the results of these operations upwards, use
|
||||||
|
|
|
@ -277,6 +277,7 @@ specifiers:
|
||||||
%j The day of the current year (001-366).
|
%j The day of the current year (001-366).
|
||||||
%m The month of the current year (01-12).
|
%m The month of the current year (01-12).
|
||||||
%M The minute of the current hour (00-59).
|
%M The minute of the current hour (00-59).
|
||||||
|
%s Seconds since midnight (UTC) 1-Jan-1970 (UNIX time).
|
||||||
%S The second of the current minute.
|
%S The second of the current minute.
|
||||||
60 represents a leap second. (00-60)
|
60 represents a leap second. (00-60)
|
||||||
%U The week number of the current year (00-53).
|
%U The week number of the current year (00-53).
|
||||||
|
|
|
@ -112,3 +112,10 @@ The current setting of :policy:`CMP0065` is set in the generated project.
|
||||||
|
|
||||||
Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
|
Set the :variable:`CMAKE_TRY_COMPILE_CONFIGURATION` variable to choose
|
||||||
a build configuration.
|
a build configuration.
|
||||||
|
|
||||||
|
Set the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable to specify
|
||||||
|
the type of target used for the source file signature.
|
||||||
|
|
||||||
|
Set the :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify
|
||||||
|
variables that must be propagated into the test project. This variable is
|
||||||
|
meant for use only in toolchain files.
|
||||||
|
|
|
@ -6,3 +6,7 @@ Generates build.ninja files.
|
||||||
A build.ninja file is generated into the build tree. Recent versions
|
A build.ninja file is generated into the build tree. Recent versions
|
||||||
of the ninja program can build the project through the "all" target.
|
of the ninja program can build the project through the "all" target.
|
||||||
An "install" target is also provided.
|
An "install" target is also provided.
|
||||||
|
|
||||||
|
For each subdirectory ``sub/dir`` of the project an additional target
|
||||||
|
named ``sub/dir/all`` is generated that depends on all targets required
|
||||||
|
by that subdirectory.
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
Visual Studio 6
|
Visual Studio 6
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Deprected. Generates Visual Studio 6 project files.
|
Removed. This once generated Visual Studio 6 project files, but the
|
||||||
|
generator has been removed since CMake 3.6. It is still possible to
|
||||||
.. note::
|
build with VS 6 tools using the :generator:`NMake Makefiles` generator.
|
||||||
This generator is deprecated and will be removed
|
|
||||||
in a future version of CMake. It will still be
|
|
||||||
possible to build with VS 6 tools using the
|
|
||||||
:generator:`NMake Makefiles` generator.
|
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
Visual Studio 7 .NET 2003
|
Visual Studio 7 .NET 2003
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Generates Visual Studio .NET 2003 project files.
|
Deprecated. Generates Visual Studio .NET 2003 project files.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
This generator is deprecated and will be removed
|
||||||
|
in a future version of CMake. It will still be
|
||||||
|
possible to build with VS 7.1 tools using the
|
||||||
|
:generator:`NMake Makefiles` generator.
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
Visual Studio 7
|
Visual Studio 7
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Deprected. Generates Visual Studio .NET 2002 project files.
|
Removed. This once generated Visual Studio .NET 2002 project files, but
|
||||||
|
the generator has been removed since CMake 3.6. It is still possible to
|
||||||
.. note::
|
build with VS 7.0 tools using the :generator:`NMake Makefiles` generator.
|
||||||
This generator is deprecated and will be removed
|
|
||||||
in a future version of CMake. It will still be
|
|
||||||
possible to build with VS 7.0 tools using the
|
|
||||||
:generator:`NMake Makefiles` generator.
|
|
||||||
|
|
|
@ -150,7 +150,7 @@ and :prop_tgt:`INTERFACE_COMPILE_OPTIONS` target properties.
|
||||||
Each of the commands has a ``PRIVATE``, ``PUBLIC`` and ``INTERFACE`` mode. The
|
Each of the commands has a ``PRIVATE``, ``PUBLIC`` and ``INTERFACE`` mode. The
|
||||||
``PRIVATE`` mode populates only the non-``INTERFACE_`` variant of the target
|
``PRIVATE`` mode populates only the non-``INTERFACE_`` variant of the target
|
||||||
property and the ``INTERFACE`` mode populates only the ``INTERFACE_`` variants.
|
property and the ``INTERFACE`` mode populates only the ``INTERFACE_`` variants.
|
||||||
The ``PUBLIC`` mode populates both variants of the repective target property.
|
The ``PUBLIC`` mode populates both variants of the respective target property.
|
||||||
Each command may be invoked with multiple uses of each keyword:
|
Each command may be invoked with multiple uses of each keyword:
|
||||||
|
|
||||||
.. code-block:: cmake
|
.. code-block:: cmake
|
||||||
|
|
|
@ -309,3 +309,4 @@ versions specified for each:
|
||||||
* ``GNU``: GNU compiler versions 4.4 through 5.0.
|
* ``GNU``: GNU compiler versions 4.4 through 5.0.
|
||||||
* ``MSVC``: Microsoft Visual Studio versions 2010 through 2015.
|
* ``MSVC``: Microsoft Visual Studio versions 2010 through 2015.
|
||||||
* ``SunPro``: Oracle SolarisStudio version 12.4.
|
* ``SunPro``: Oracle SolarisStudio version 12.4.
|
||||||
|
* ``Intel``: Intel compiler versions 12.1 through 16.0 on UNIX platforms.
|
||||||
|
|
|
@ -225,7 +225,7 @@ comparison::
|
||||||
-I$<JOIN:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>, -I>
|
-I$<JOIN:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>, -I>
|
||||||
|
|
||||||
generates a string of the entries in the :prop_tgt:`INCLUDE_DIRECTORIES` target
|
generates a string of the entries in the :prop_tgt:`INCLUDE_DIRECTORIES` target
|
||||||
property with each entry preceeded by ``-I``. Note that a more-complete use
|
property with each entry preceded by ``-I``. Note that a more-complete use
|
||||||
in this situation would require first checking if the INCLUDE_DIRECTORIES
|
in this situation would require first checking if the INCLUDE_DIRECTORIES
|
||||||
property is non-empty::
|
property is non-empty::
|
||||||
|
|
||||||
|
|
|
@ -135,6 +135,7 @@ All Modules
|
||||||
/module/FindLibLZMA
|
/module/FindLibLZMA
|
||||||
/module/FindLibXml2
|
/module/FindLibXml2
|
||||||
/module/FindLibXslt
|
/module/FindLibXslt
|
||||||
|
/module/FindLTTngUST
|
||||||
/module/FindLua50
|
/module/FindLua50
|
||||||
/module/FindLua51
|
/module/FindLua51
|
||||||
/module/FindLua
|
/module/FindLua
|
||||||
|
|
|
@ -645,7 +645,7 @@ Disabling the Package Registry
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
In some cases using the Package Registries is not desirable. CMake
|
In some cases using the Package Registries is not desirable. CMake
|
||||||
allows to disable them using the following variables:
|
allows one to disable them using the following variables:
|
||||||
|
|
||||||
* :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` disables the
|
* :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` disables the
|
||||||
:command:`export(PACKAGE)` command.
|
:command:`export(PACKAGE)` command.
|
||||||
|
|
|
@ -51,75 +51,117 @@ The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
|
||||||
to determine whether to report an error on use of deprecated macros or
|
to determine whether to report an error on use of deprecated macros or
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
All Policies
|
Policies Introduced by CMake 3.4
|
||||||
============
|
================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
/policy/CMP0000
|
CMP0065: Do not add flags to export symbols from executables without the ENABLE_EXPORTS target property. </policy/CMP0065>
|
||||||
/policy/CMP0001
|
CMP0064: Support new TEST if() operator. </policy/CMP0064>
|
||||||
/policy/CMP0002
|
|
||||||
/policy/CMP0003
|
Policies Introduced by CMake 3.3
|
||||||
/policy/CMP0004
|
================================
|
||||||
/policy/CMP0005
|
|
||||||
/policy/CMP0006
|
.. toctree::
|
||||||
/policy/CMP0007
|
:maxdepth: 1
|
||||||
/policy/CMP0008
|
|
||||||
/policy/CMP0009
|
CMP0063: Honor visibility properties for all target types. </policy/CMP0063>
|
||||||
/policy/CMP0010
|
CMP0062: Disallow install() of export() result. </policy/CMP0062>
|
||||||
/policy/CMP0011
|
CMP0061: CTest does not by default tell make to ignore errors (-i). </policy/CMP0061>
|
||||||
/policy/CMP0012
|
CMP0060: Link libraries by full path even in implicit directories. </policy/CMP0060>
|
||||||
/policy/CMP0013
|
CMP0059: Do not treat DEFINITIONS as a built-in directory property. </policy/CMP0059>
|
||||||
/policy/CMP0014
|
CMP0058: Ninja requires custom command byproducts to be explicit. </policy/CMP0058>
|
||||||
/policy/CMP0015
|
CMP0057: Support new IN_LIST if() operator. </policy/CMP0057>
|
||||||
/policy/CMP0016
|
|
||||||
/policy/CMP0017
|
Policies Introduced by CMake 3.2
|
||||||
/policy/CMP0018
|
================================
|
||||||
/policy/CMP0019
|
|
||||||
/policy/CMP0020
|
.. toctree::
|
||||||
/policy/CMP0021
|
:maxdepth: 1
|
||||||
/policy/CMP0022
|
|
||||||
/policy/CMP0023
|
CMP0056: Honor link flags in try_compile() source-file signature. </policy/CMP0056>
|
||||||
/policy/CMP0024
|
CMP0055: Strict checking for break() command. </policy/CMP0055>
|
||||||
/policy/CMP0025
|
|
||||||
/policy/CMP0026
|
Policies Introduced by CMake 3.1
|
||||||
/policy/CMP0027
|
================================
|
||||||
/policy/CMP0028
|
|
||||||
/policy/CMP0029
|
.. toctree::
|
||||||
/policy/CMP0030
|
:maxdepth: 1
|
||||||
/policy/CMP0031
|
|
||||||
/policy/CMP0032
|
CMP0054: Only interpret if() arguments as variables or keywords when unquoted. </policy/CMP0054>
|
||||||
/policy/CMP0033
|
CMP0053: Simplify variable reference and escape sequence evaluation. </policy/CMP0053>
|
||||||
/policy/CMP0034
|
CMP0052: Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES. </policy/CMP0052>
|
||||||
/policy/CMP0035
|
CMP0051: List TARGET_OBJECTS in SOURCES target property. </policy/CMP0051>
|
||||||
/policy/CMP0036
|
|
||||||
/policy/CMP0037
|
Policies Introduced by CMake 3.0
|
||||||
/policy/CMP0038
|
================================
|
||||||
/policy/CMP0039
|
|
||||||
/policy/CMP0040
|
.. toctree::
|
||||||
/policy/CMP0041
|
:maxdepth: 1
|
||||||
/policy/CMP0042
|
|
||||||
/policy/CMP0043
|
CMP0050: Disallow add_custom_command SOURCE signatures. </policy/CMP0050>
|
||||||
/policy/CMP0044
|
CMP0049: Do not expand variables in target source entries. </policy/CMP0049>
|
||||||
/policy/CMP0045
|
CMP0048: project() command manages VERSION variables. </policy/CMP0048>
|
||||||
/policy/CMP0046
|
CMP0047: Use QCC compiler id for the qcc drivers on QNX. </policy/CMP0047>
|
||||||
/policy/CMP0047
|
CMP0046: Error on non-existent dependency in add_dependencies. </policy/CMP0046>
|
||||||
/policy/CMP0048
|
CMP0045: Error on non-existent target in get_target_property. </policy/CMP0045>
|
||||||
/policy/CMP0049
|
CMP0044: Case sensitive Lang_COMPILER_ID generator expressions. </policy/CMP0044>
|
||||||
/policy/CMP0050
|
CMP0043: Ignore COMPILE_DEFINITIONS_Config properties. </policy/CMP0043>
|
||||||
/policy/CMP0051
|
CMP0042: MACOSX_RPATH is enabled by default. </policy/CMP0042>
|
||||||
/policy/CMP0052
|
CMP0041: Error on relative include with generator expression. </policy/CMP0041>
|
||||||
/policy/CMP0053
|
CMP0040: The target in the TARGET signature of add_custom_command() must exist. </policy/CMP0040>
|
||||||
/policy/CMP0054
|
CMP0039: Utility targets may not have link dependencies. </policy/CMP0039>
|
||||||
/policy/CMP0055
|
CMP0038: Targets may not link directly to themselves. </policy/CMP0038>
|
||||||
/policy/CMP0056
|
CMP0037: Target names should not be reserved and should match a validity pattern. </policy/CMP0037>
|
||||||
/policy/CMP0057
|
CMP0036: The build_name command should not be called. </policy/CMP0036>
|
||||||
/policy/CMP0058
|
CMP0035: The variable_requires command should not be called. </policy/CMP0035>
|
||||||
/policy/CMP0059
|
CMP0034: The utility_source command should not be called. </policy/CMP0034>
|
||||||
/policy/CMP0060
|
CMP0033: The export_library_dependencies command should not be called. </policy/CMP0033>
|
||||||
/policy/CMP0061
|
CMP0032: The output_required_files command should not be called. </policy/CMP0032>
|
||||||
/policy/CMP0062
|
CMP0031: The load_command command should not be called. </policy/CMP0031>
|
||||||
/policy/CMP0063
|
CMP0030: The use_mangled_mesa command should not be called. </policy/CMP0030>
|
||||||
/policy/CMP0064
|
CMP0029: The subdir_depends command should not be called. </policy/CMP0029>
|
||||||
/policy/CMP0065
|
CMP0028: Double colon in target name means ALIAS or IMPORTED target. </policy/CMP0028>
|
||||||
|
CMP0027: Conditionally linked imported targets with missing include directories. </policy/CMP0027>
|
||||||
|
CMP0026: Disallow use of the LOCATION target property. </policy/CMP0026>
|
||||||
|
CMP0025: Compiler id for Apple Clang is now AppleClang. </policy/CMP0025>
|
||||||
|
CMP0024: Disallow include export result. </policy/CMP0024>
|
||||||
|
|
||||||
|
Policies Introduced by CMake 2.8
|
||||||
|
================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
CMP0023: Plain and keyword target_link_libraries signatures cannot be mixed. </policy/CMP0023>
|
||||||
|
CMP0022: INTERFACE_LINK_LIBRARIES defines the link interface. </policy/CMP0022>
|
||||||
|
CMP0021: Fatal error on relative paths in INCLUDE_DIRECTORIES target property. </policy/CMP0021>
|
||||||
|
CMP0020: Automatically link Qt executables to qtmain target on Windows. </policy/CMP0020>
|
||||||
|
CMP0019: Do not re-expand variables in include and link information. </policy/CMP0019>
|
||||||
|
CMP0018: Ignore CMAKE_SHARED_LIBRARY_Lang_FLAGS variable. </policy/CMP0018>
|
||||||
|
CMP0017: Prefer files from the CMake module directory when including from there. </policy/CMP0017>
|
||||||
|
CMP0016: target_link_libraries() reports error if its only argument is not a target. </policy/CMP0016>
|
||||||
|
CMP0015: link_directories() treats paths relative to the source dir. </policy/CMP0015>
|
||||||
|
CMP0014: Input directories must have CMakeLists.txt. </policy/CMP0014>
|
||||||
|
CMP0013: Duplicate binary directories are not allowed. </policy/CMP0013>
|
||||||
|
CMP0012: if() recognizes numbers and boolean constants. </policy/CMP0012>
|
||||||
|
|
||||||
|
Policies Introduced by CMake 2.6
|
||||||
|
================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
CMP0011: Included scripts do automatic cmake_policy PUSH and POP. </policy/CMP0011>
|
||||||
|
CMP0010: Bad variable reference syntax is an error. </policy/CMP0010>
|
||||||
|
CMP0009: FILE GLOB_RECURSE calls should not follow symlinks by default. </policy/CMP0009>
|
||||||
|
CMP0008: Libraries linked by full-path must have a valid library file name. </policy/CMP0008>
|
||||||
|
CMP0007: list command no longer ignores empty elements. </policy/CMP0007>
|
||||||
|
CMP0006: Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION. </policy/CMP0006>
|
||||||
|
CMP0005: Preprocessor definition values are now escaped automatically. </policy/CMP0005>
|
||||||
|
CMP0004: Libraries linked may not have leading or trailing whitespace. </policy/CMP0004>
|
||||||
|
CMP0003: Libraries linked via full path no longer produce linker search paths. </policy/CMP0003>
|
||||||
|
CMP0002: Logical target names must be globally unique. </policy/CMP0002>
|
||||||
|
CMP0001: CMAKE_BACKWARDS_COMPATIBILITY should no longer be used. </policy/CMP0001>
|
||||||
|
CMP0000: A minimum required CMake version must be specified. </policy/CMP0000>
|
||||||
|
|
|
@ -76,6 +76,7 @@ Properties on Directories
|
||||||
/prop_dir/VARIABLES
|
/prop_dir/VARIABLES
|
||||||
/prop_dir/VS_GLOBAL_SECTION_POST_section
|
/prop_dir/VS_GLOBAL_SECTION_POST_section
|
||||||
/prop_dir/VS_GLOBAL_SECTION_PRE_section
|
/prop_dir/VS_GLOBAL_SECTION_PRE_section
|
||||||
|
/prop_dir/VS_STARTUP_PROJECT
|
||||||
|
|
||||||
.. _`Target Properties`:
|
.. _`Target Properties`:
|
||||||
|
|
||||||
|
@ -141,6 +142,7 @@ Properties on Targets
|
||||||
/prop_tgt/CXX_STANDARD_REQUIRED
|
/prop_tgt/CXX_STANDARD_REQUIRED
|
||||||
/prop_tgt/DEBUG_POSTFIX
|
/prop_tgt/DEBUG_POSTFIX
|
||||||
/prop_tgt/DEFINE_SYMBOL
|
/prop_tgt/DEFINE_SYMBOL
|
||||||
|
/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY
|
||||||
/prop_tgt/EchoString
|
/prop_tgt/EchoString
|
||||||
/prop_tgt/ENABLE_EXPORTS
|
/prop_tgt/ENABLE_EXPORTS
|
||||||
/prop_tgt/EXCLUDE_FROM_ALL
|
/prop_tgt/EXCLUDE_FROM_ALL
|
||||||
|
@ -195,6 +197,7 @@ Properties on Targets
|
||||||
/prop_tgt/JOB_POOL_COMPILE
|
/prop_tgt/JOB_POOL_COMPILE
|
||||||
/prop_tgt/JOB_POOL_LINK
|
/prop_tgt/JOB_POOL_LINK
|
||||||
/prop_tgt/LABELS
|
/prop_tgt/LABELS
|
||||||
|
/prop_tgt/LANG_CLANG_TIDY
|
||||||
/prop_tgt/LANG_COMPILER_LAUNCHER
|
/prop_tgt/LANG_COMPILER_LAUNCHER
|
||||||
/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
|
/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
|
||||||
/prop_tgt/LANG_VISIBILITY_PRESET
|
/prop_tgt/LANG_VISIBILITY_PRESET
|
||||||
|
@ -255,6 +258,7 @@ Properties on Targets
|
||||||
/prop_tgt/TYPE
|
/prop_tgt/TYPE
|
||||||
/prop_tgt/VERSION
|
/prop_tgt/VERSION
|
||||||
/prop_tgt/VISIBILITY_INLINES_HIDDEN
|
/prop_tgt/VISIBILITY_INLINES_HIDDEN
|
||||||
|
/prop_tgt/VS_CONFIGURATION_TYPE
|
||||||
/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION
|
/prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION
|
||||||
/prop_tgt/VS_DOTNET_REFERENCES
|
/prop_tgt/VS_DOTNET_REFERENCES
|
||||||
/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
|
/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION
|
||||||
|
@ -302,6 +306,7 @@ Properties on Tests
|
||||||
/prop_test/RUN_SERIAL
|
/prop_test/RUN_SERIAL
|
||||||
/prop_test/SKIP_RETURN_CODE
|
/prop_test/SKIP_RETURN_CODE
|
||||||
/prop_test/TIMEOUT
|
/prop_test/TIMEOUT
|
||||||
|
/prop_test/TIMEOUT_AFTER_MATCH
|
||||||
/prop_test/WILL_FAIL
|
/prop_test/WILL_FAIL
|
||||||
/prop_test/WORKING_DIRECTORY
|
/prop_test/WORKING_DIRECTORY
|
||||||
|
|
||||||
|
|
|
@ -138,9 +138,10 @@ a path on the host to install to. The :variable:`CMAKE_INSTALL_PREFIX` is always
|
||||||
the runtime installation location, even when cross-compiling.
|
the runtime installation location, even when cross-compiling.
|
||||||
|
|
||||||
The :variable:`CMAKE_<LANG>_COMPILER` variables may be set to full paths, or to
|
The :variable:`CMAKE_<LANG>_COMPILER` variables may be set to full paths, or to
|
||||||
names of compilers to search for in standard locations. In cases where CMake does
|
names of compilers to search for in standard locations. For toolchains that
|
||||||
not have enough information to extract information from the compiler, the
|
do not support linking binaries without custom flags or scripts one may set
|
||||||
:module:`CMakeForceCompiler` module can be used to bypass some of the checks.
|
the :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable to ``STATIC_LIBRARY``
|
||||||
|
to tell CMake not to try to link executables during its checks.
|
||||||
|
|
||||||
CMake ``find_*`` commands will look in the sysroot, and the :variable:`CMAKE_FIND_ROOT_PATH`
|
CMake ``find_*`` commands will look in the sysroot, and the :variable:`CMAKE_FIND_ROOT_PATH`
|
||||||
entries by default in all cases, as well as looking in the host system root prefix.
|
entries by default in all cases, as well as looking in the host system root prefix.
|
||||||
|
|
|
@ -68,7 +68,6 @@ Variables that Provide Information
|
||||||
/variable/CMAKE_SKIP_INSTALL_RULES
|
/variable/CMAKE_SKIP_INSTALL_RULES
|
||||||
/variable/CMAKE_SKIP_RPATH
|
/variable/CMAKE_SKIP_RPATH
|
||||||
/variable/CMAKE_SOURCE_DIR
|
/variable/CMAKE_SOURCE_DIR
|
||||||
/variable/CMAKE_STANDARD_LIBRARIES
|
|
||||||
/variable/CMAKE_STATIC_LIBRARY_PREFIX
|
/variable/CMAKE_STATIC_LIBRARY_PREFIX
|
||||||
/variable/CMAKE_STATIC_LIBRARY_SUFFIX
|
/variable/CMAKE_STATIC_LIBRARY_SUFFIX
|
||||||
/variable/CMAKE_TOOLCHAIN_FILE
|
/variable/CMAKE_TOOLCHAIN_FILE
|
||||||
|
@ -78,7 +77,6 @@ Variables that Provide Information
|
||||||
/variable/CMAKE_VS_DEVENV_COMMAND
|
/variable/CMAKE_VS_DEVENV_COMMAND
|
||||||
/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
|
/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
|
||||||
/variable/CMAKE_VS_MSBUILD_COMMAND
|
/variable/CMAKE_VS_MSBUILD_COMMAND
|
||||||
/variable/CMAKE_VS_MSDEV_COMMAND
|
|
||||||
/variable/CMAKE_VS_NsightTegra_VERSION
|
/variable/CMAKE_VS_NsightTegra_VERSION
|
||||||
/variable/CMAKE_VS_PLATFORM_NAME
|
/variable/CMAKE_VS_PLATFORM_NAME
|
||||||
/variable/CMAKE_VS_PLATFORM_TOOLSET
|
/variable/CMAKE_VS_PLATFORM_TOOLSET
|
||||||
|
@ -115,7 +113,12 @@ Variables that Change Behavior
|
||||||
/variable/CMAKE_COLOR_MAKEFILE
|
/variable/CMAKE_COLOR_MAKEFILE
|
||||||
/variable/CMAKE_CONFIGURATION_TYPES
|
/variable/CMAKE_CONFIGURATION_TYPES
|
||||||
/variable/CMAKE_DEBUG_TARGET_PROPERTIES
|
/variable/CMAKE_DEBUG_TARGET_PROPERTIES
|
||||||
|
/variable/CMAKE_DEPENDS_IN_PROJECT_ONLY
|
||||||
/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName
|
/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName
|
||||||
|
/variable/CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
|
||||||
|
/variable/CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
|
||||||
|
/variable/CMAKE_ECLIPSE_MAKE_ARGUMENTS
|
||||||
|
/variable/CMAKE_ECLIPSE_VERSION
|
||||||
/variable/CMAKE_ERROR_DEPRECATED
|
/variable/CMAKE_ERROR_DEPRECATED
|
||||||
/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
|
/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
|
||||||
/variable/CMAKE_EXPORT_COMPILE_COMMANDS
|
/variable/CMAKE_EXPORT_COMPILE_COMMANDS
|
||||||
|
@ -175,6 +178,7 @@ Variables that Describe the System
|
||||||
/variable/CMAKE_CL_64
|
/variable/CMAKE_CL_64
|
||||||
/variable/CMAKE_COMPILER_2005
|
/variable/CMAKE_COMPILER_2005
|
||||||
/variable/CMAKE_HOST_APPLE
|
/variable/CMAKE_HOST_APPLE
|
||||||
|
/variable/CMAKE_HOST_SOLARIS
|
||||||
/variable/CMAKE_HOST_SYSTEM_NAME
|
/variable/CMAKE_HOST_SYSTEM_NAME
|
||||||
/variable/CMAKE_HOST_SYSTEM_PROCESSOR
|
/variable/CMAKE_HOST_SYSTEM_PROCESSOR
|
||||||
/variable/CMAKE_HOST_SYSTEM
|
/variable/CMAKE_HOST_SYSTEM
|
||||||
|
@ -259,6 +263,7 @@ Variables that Control the Build
|
||||||
/variable/CMAKE_INSTALL_RPATH
|
/variable/CMAKE_INSTALL_RPATH
|
||||||
/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH
|
/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH
|
||||||
/variable/CMAKE_IOS_INSTALL_COMBINED
|
/variable/CMAKE_IOS_INSTALL_COMBINED
|
||||||
|
/variable/CMAKE_LANG_CLANG_TIDY
|
||||||
/variable/CMAKE_LANG_COMPILER_LAUNCHER
|
/variable/CMAKE_LANG_COMPILER_LAUNCHER
|
||||||
/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
|
/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
|
||||||
/variable/CMAKE_LANG_VISIBILITY_PRESET
|
/variable/CMAKE_LANG_VISIBILITY_PRESET
|
||||||
|
@ -275,6 +280,7 @@ Variables that Control the Build
|
||||||
/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
|
/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
|
||||||
/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
|
/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
|
||||||
/variable/CMAKE_MODULE_LINKER_FLAGS
|
/variable/CMAKE_MODULE_LINKER_FLAGS
|
||||||
|
/variable/CMAKE_NINJA_OUTPUT_PATH_PREFIX
|
||||||
/variable/CMAKE_NO_BUILTIN_CHRPATH
|
/variable/CMAKE_NO_BUILTIN_CHRPATH
|
||||||
/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
|
/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED
|
||||||
/variable/CMAKE_OSX_ARCHITECTURES
|
/variable/CMAKE_OSX_ARCHITECTURES
|
||||||
|
@ -292,6 +298,8 @@ Variables that Control the Build
|
||||||
/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG
|
/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG
|
||||||
/variable/CMAKE_STATIC_LINKER_FLAGS
|
/variable/CMAKE_STATIC_LINKER_FLAGS
|
||||||
/variable/CMAKE_TRY_COMPILE_CONFIGURATION
|
/variable/CMAKE_TRY_COMPILE_CONFIGURATION
|
||||||
|
/variable/CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
||||||
|
/variable/CMAKE_TRY_COMPILE_TARGET_TYPE
|
||||||
/variable/CMAKE_USE_RELATIVE_PATHS
|
/variable/CMAKE_USE_RELATIVE_PATHS
|
||||||
/variable/CMAKE_VISIBILITY_INLINES_HIDDEN
|
/variable/CMAKE_VISIBILITY_INLINES_HIDDEN
|
||||||
/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
|
/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
|
||||||
|
@ -358,6 +366,8 @@ Variables for Languages
|
||||||
/variable/CMAKE_LANG_SIMULATE_VERSION
|
/variable/CMAKE_LANG_SIMULATE_VERSION
|
||||||
/variable/CMAKE_LANG_SIZEOF_DATA_PTR
|
/variable/CMAKE_LANG_SIZEOF_DATA_PTR
|
||||||
/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS
|
/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS
|
||||||
|
/variable/CMAKE_LANG_STANDARD_INCLUDE_DIRECTORIES
|
||||||
|
/variable/CMAKE_LANG_STANDARD_LIBRARIES
|
||||||
/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG
|
/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG
|
||||||
|
|
||||||
Variables for CTest
|
Variables for CTest
|
||||||
|
@ -406,6 +416,7 @@ Variables for CTest
|
||||||
/variable/CTEST_DROP_SITE_USER
|
/variable/CTEST_DROP_SITE_USER
|
||||||
/variable/CTEST_EXTRA_COVERAGE_GLOB
|
/variable/CTEST_EXTRA_COVERAGE_GLOB
|
||||||
/variable/CTEST_GIT_COMMAND
|
/variable/CTEST_GIT_COMMAND
|
||||||
|
/variable/CTEST_GIT_INIT_SUBMODULES
|
||||||
/variable/CTEST_GIT_UPDATE_CUSTOM
|
/variable/CTEST_GIT_UPDATE_CUSTOM
|
||||||
/variable/CTEST_GIT_UPDATE_OPTIONS
|
/variable/CTEST_GIT_UPDATE_OPTIONS
|
||||||
/variable/CTEST_HG_COMMAND
|
/variable/CTEST_HG_COMMAND
|
||||||
|
|
|
@ -10,7 +10,7 @@ Synopsis
|
||||||
|
|
||||||
cmake [<options>] (<path-to-source> | <path-to-existing-build>)
|
cmake [<options>] (<path-to-source> | <path-to-existing-build>)
|
||||||
cmake [(-D <var>=<value>)...] -P <cmake-script-file>
|
cmake [(-D <var>=<value>)...] -P <cmake-script-file>
|
||||||
cmake --build <dir> [<options>] [-- <build-tool-options>...]
|
cmake --build <dir> [<options>...] [-- <build-tool-options>...]
|
||||||
cmake -E <command> [<options>...]
|
cmake -E <command> [<options>...]
|
||||||
cmake --find-package <options>...
|
cmake --find-package <options>...
|
||||||
|
|
||||||
|
@ -49,22 +49,7 @@ Options
|
||||||
display help for each variable.
|
display help for each variable.
|
||||||
|
|
||||||
``--build <dir>``
|
``--build <dir>``
|
||||||
Build a CMake-generated project binary tree.
|
See `Build Tool Mode`_.
|
||||||
|
|
||||||
This abstracts a native build tool's command-line interface with the
|
|
||||||
following options:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
<dir> = Project binary directory to be built.
|
|
||||||
--target <tgt> = Build <tgt> instead of default targets.
|
|
||||||
--config <cfg> = For multi-configuration tools, choose <cfg>.
|
|
||||||
--clean-first = Build target 'clean' first, then build.
|
|
||||||
(To clean only, use --target 'clean'.)
|
|
||||||
--use-stderr = Ignored. Behavior is default in CMake >= 3.0.
|
|
||||||
-- = Pass remaining options to the native tool.
|
|
||||||
|
|
||||||
Run cmake --build with no options for quick help.
|
|
||||||
|
|
||||||
``-N``
|
``-N``
|
||||||
View mode only.
|
View mode only.
|
||||||
|
@ -81,12 +66,7 @@ Options
|
||||||
done before the -P argument.
|
done before the -P argument.
|
||||||
|
|
||||||
``--find-package``
|
``--find-package``
|
||||||
Run in pkg-config like mode.
|
See `Find-Package Tool Mode`_.
|
||||||
|
|
||||||
Search a package using find_package() and print the resulting flags
|
|
||||||
to stdout. This can be used to use cmake instead of pkg-config to
|
|
||||||
find installed libraries in plain Makefile-based projects or in
|
|
||||||
autoconf-based projects (via share/aclocal/cmake.m4).
|
|
||||||
|
|
||||||
``--graphviz=[file]``
|
``--graphviz=[file]``
|
||||||
Generate graphviz of dependencies, see CMakeGraphVizOptions.cmake for more.
|
Generate graphviz of dependencies, see CMakeGraphVizOptions.cmake for more.
|
||||||
|
@ -153,6 +133,38 @@ Options
|
||||||
|
|
||||||
.. include:: OPTIONS_HELP.txt
|
.. include:: OPTIONS_HELP.txt
|
||||||
|
|
||||||
|
Build Tool Mode
|
||||||
|
===============
|
||||||
|
|
||||||
|
CMake provides a command-line signature to build an already-generated
|
||||||
|
project binary tree::
|
||||||
|
|
||||||
|
cmake --build <dir> [<options>...] [-- <build-tool-options>...]
|
||||||
|
|
||||||
|
This abstracts a native build tool's command-line interface with the
|
||||||
|
following options:
|
||||||
|
|
||||||
|
``--build <dir>``
|
||||||
|
Project binary directory to be built. This is required and must be first.
|
||||||
|
|
||||||
|
``--target <tgt>``
|
||||||
|
Build ``<tgt>`` instead of default targets. May only be specified once.
|
||||||
|
|
||||||
|
``--config <cfg>``
|
||||||
|
For multi-configuration tools, choose configuration ``<cfg>``.
|
||||||
|
|
||||||
|
``--clean-first``
|
||||||
|
Build target ``clean`` first, then build.
|
||||||
|
(To clean only, use ``--target clean``.)
|
||||||
|
|
||||||
|
``--use-stderr``
|
||||||
|
Ignored. Behavior is default in CMake >= 3.0.
|
||||||
|
|
||||||
|
``--``
|
||||||
|
Pass remaining options to the native tool.
|
||||||
|
|
||||||
|
Run ``cmake --build`` with no options for quick help.
|
||||||
|
|
||||||
Command-Line Tool Mode
|
Command-Line Tool Mode
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
@ -168,7 +180,7 @@ Available commands are:
|
||||||
|
|
||||||
``compare_files <file1> <file2>``
|
``compare_files <file1> <file2>``
|
||||||
Check if ``<file1>`` is same as ``<file2>``. If files are the same,
|
Check if ``<file1>`` is same as ``<file2>``. If files are the same,
|
||||||
then returns 0, if not itreturns 1.
|
then returns 0, if not it returns 1.
|
||||||
|
|
||||||
``copy <file>... <destination>``
|
``copy <file>... <destination>``
|
||||||
Copy files to ``<destination>`` (either file or directory).
|
Copy files to ``<destination>`` (either file or directory).
|
||||||
|
@ -203,7 +215,10 @@ Available commands are:
|
||||||
silently ignored.
|
silently ignored.
|
||||||
|
|
||||||
``md5sum <file>...``
|
``md5sum <file>...``
|
||||||
Compute md5sum of files.
|
Create MD5 checksum of files in ``md5sum`` compatible format::
|
||||||
|
|
||||||
|
351abe79cd3800b38cdfb25d45015a15 file1.txt
|
||||||
|
052f86c15bbde68af55c7f7b340ab639 file2.txt
|
||||||
|
|
||||||
``remove [-f] <file>...``
|
``remove [-f] <file>...``
|
||||||
Remove the file(s), use ``-f`` to force it. If a file does
|
Remove the file(s), use ``-f`` to force it. If a file does
|
||||||
|
@ -274,6 +289,24 @@ The following ``cmake -E`` commands are available only on Windows:
|
||||||
``write_regv <key> <value>``
|
``write_regv <key> <value>``
|
||||||
Write Windows registry value.
|
Write Windows registry value.
|
||||||
|
|
||||||
|
Find-Package Tool Mode
|
||||||
|
======================
|
||||||
|
|
||||||
|
CMake provides a helper for Makefile-based projects with the signature::
|
||||||
|
|
||||||
|
cmake --find-package <options>...
|
||||||
|
|
||||||
|
This runs in a pkg-config like mode.
|
||||||
|
|
||||||
|
Search a package using :command:`find_package()` and print the resulting flags
|
||||||
|
to stdout. This can be used to use cmake instead of pkg-config to find
|
||||||
|
installed libraries in plain Makefile-based projects or in autoconf-based
|
||||||
|
projects (via ``share/aclocal/cmake.m4``).
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
This mode is not well-supported due to some technical limitations.
|
||||||
|
It is kept for compatibility but should not be used in new projects.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
========
|
========
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ Options
|
||||||
``-P <package name>``
|
``-P <package name>``
|
||||||
override/define CPACK_PACKAGE_NAME
|
override/define CPACK_PACKAGE_NAME
|
||||||
|
|
||||||
If the package name is not specified on cpack commmand line
|
If the package name is not specified on cpack command line
|
||||||
thenCPack.cmake defines it as CMAKE_PROJECT_NAME
|
thenCPack.cmake defines it as CMAKE_PROJECT_NAME
|
||||||
|
|
||||||
``-R <package version>``
|
``-R <package version>``
|
||||||
|
|
|
@ -589,6 +589,17 @@ Configuration settings to specify the version control tool include:
|
||||||
* `CTest Script`_ variable: :variable:`CTEST_GIT_COMMAND`
|
* `CTest Script`_ variable: :variable:`CTEST_GIT_COMMAND`
|
||||||
* :module:`CTest` module variable: ``GITCOMMAND``
|
* :module:`CTest` module variable: ``GITCOMMAND``
|
||||||
|
|
||||||
|
The source tree is updated by ``git fetch`` followed by
|
||||||
|
``git reset --hard`` to the ``FETCH_HEAD``. The result is the same
|
||||||
|
as ``git pull`` except that any local moficiations are overwritten.
|
||||||
|
Use ``GITUpdateCustom`` to specify a different approach.
|
||||||
|
|
||||||
|
``GITInitSubmodules``
|
||||||
|
If set, CTest will update the repository's submodules before updating.
|
||||||
|
|
||||||
|
* `CTest Script`_ variable: :variable:`CTEST_GIT_INIT_SUBMODULES`
|
||||||
|
* :module:`CTest` module variable: ``CTEST_GIT_INIT_SUBMODULES``
|
||||||
|
|
||||||
``GITUpdateCustom``
|
``GITUpdateCustom``
|
||||||
Specify a custom command line (as a semicolon-separated list) to run
|
Specify a custom command line (as a semicolon-separated list) to run
|
||||||
in the source tree (Git work tree) to update it instead of running
|
in the source tree (Git work tree) to update it instead of running
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
.. cmake-module:: ../../Modules/FindLTTngUST.cmake
|
|
@ -1,7 +1,7 @@
|
||||||
CMP0059
|
CMP0059
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Don't treat ``DEFINITIONS`` as a built-in directory property.
|
Do not treat ``DEFINITIONS`` as a built-in directory property.
|
||||||
|
|
||||||
CMake 3.3 and above no longer make a list of definitions available through
|
CMake 3.3 and above no longer make a list of definitions available through
|
||||||
the :prop_dir:`DEFINITIONS` directory property. The
|
the :prop_dir:`DEFINITIONS` directory property. The
|
||||||
|
|
|
@ -17,8 +17,7 @@ This property will be initialized in each directory by its value in the
|
||||||
directory's parent.
|
directory's parent.
|
||||||
|
|
||||||
CMake will automatically drop some definitions that are not supported
|
CMake will automatically drop some definitions that are not supported
|
||||||
by the native build tool. The VS6 IDE does not support definition
|
by the native build tool.
|
||||||
values with spaces (but NMake does).
|
|
||||||
|
|
||||||
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
|
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ directories for the compiler.
|
||||||
In addition to accepting values from that command, values may be set
|
In addition to accepting values from that command, values may be set
|
||||||
directly on any directory using the :command:`set_property` command. A
|
directly on any directory using the :command:`set_property` command. A
|
||||||
directory gets its initial value from its parent directory if it has one.
|
directory gets its initial value from its parent directory if it has one.
|
||||||
The intial value of the :prop_tgt:`INCLUDE_DIRECTORIES` target property
|
The initial value of the :prop_tgt:`INCLUDE_DIRECTORIES` target property
|
||||||
comes from the value of this property. Both directory and target property
|
comes from the value of this property. Both directory and target property
|
||||||
values are adjusted by calls to the :command:`include_directories` command.
|
values are adjusted by calls to the :command:`include_directories` command.
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,6 @@ The current stack of listfiles being processed.
|
||||||
|
|
||||||
This property is mainly useful when trying to debug errors in your
|
This property is mainly useful when trying to debug errors in your
|
||||||
CMake scripts. It returns a list of what list files are currently
|
CMake scripts. It returns a list of what list files are currently
|
||||||
being processed, in order. So if one listfile does an INCLUDE command
|
being processed, in order. So if one listfile does an
|
||||||
then that is effectively pushing the included listfile onto the stack.
|
:command:`include` command then that is effectively pushing the
|
||||||
|
included listfile onto the stack.
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
VS_STARTUP_PROJECT
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Specify the default startup project in a Visual Studio solution.
|
||||||
|
|
||||||
|
The :ref:`Visual Studio Generators` create a ``.sln`` file for each directory
|
||||||
|
whose ``CMakeLists.txt`` file calls the :command:`project` command. Set this
|
||||||
|
property in the same directory as a :command:`project` command call (e.g. in
|
||||||
|
the top-level ``CMakeLists.txt`` file) to specify the default startup project
|
||||||
|
for the correpsonding solution file.
|
||||||
|
|
||||||
|
The property must be set to the name of an existing target. This
|
||||||
|
will cause that project to be listed first in the generated solution
|
||||||
|
file causing Visual Studio to make it the startup project if the
|
||||||
|
solution has never been opened before.
|
||||||
|
|
||||||
|
If this property is not specified, then the ``ALL_BUILD`` project
|
||||||
|
will be the default.
|
|
@ -270,7 +270,7 @@ The features known to this version of CMake are:
|
||||||
.. _N2442: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
|
.. _N2442: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
|
||||||
|
|
||||||
``cxx_uniform_initialization``
|
``cxx_uniform_initialization``
|
||||||
Uniform intialization, as defined in N2640_.
|
Uniform initialization, as defined in N2640_.
|
||||||
|
|
||||||
.. _N2640: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf
|
.. _N2640: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
FIND_LIBRARY_USE_LIB64_PATHS
|
FIND_LIBRARY_USE_LIB64_PATHS
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
Whether FIND_LIBRARY should automatically search lib64 directories.
|
Whether :command:`find_library` should automatically search lib64
|
||||||
|
directories.
|
||||||
|
|
||||||
FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the
|
FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the
|
||||||
FIND_LIBRARY command should automatically search the lib64 variant of
|
:command:`find_library` command should automatically search the lib64
|
||||||
directories called lib in the search path when building 64-bit
|
variant of directories called lib in the search path when building
|
||||||
binaries.
|
64-bit binaries.
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
FIND_LIBRARY_USE_OPENBSD_VERSIONING
|
FIND_LIBRARY_USE_OPENBSD_VERSIONING
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
Whether FIND_LIBRARY should find OpenBSD-style shared libraries.
|
Whether :command:`find_library` should find OpenBSD-style shared
|
||||||
|
libraries.
|
||||||
|
|
||||||
This property is a boolean specifying whether the FIND_LIBRARY command
|
This property is a boolean specifying whether the
|
||||||
should find shared libraries with OpenBSD-style versioned extension:
|
:command:`find_library` command should find shared libraries with
|
||||||
".so.<major>.<minor>". The property is set to true on OpenBSD and
|
OpenBSD-style versioned extension: ".so.<major>.<minor>". The
|
||||||
false on other platforms.
|
property is set to true on OpenBSD and false on other platforms.
|
||||||
|
|
|
@ -3,4 +3,5 @@ IN_TRY_COMPILE
|
||||||
|
|
||||||
Read-only property that is true during a try-compile configuration.
|
Read-only property that is true during a try-compile configuration.
|
||||||
|
|
||||||
True when building a project inside a TRY_COMPILE or TRY_RUN command.
|
True when building a project inside a :command:`try_compile` or
|
||||||
|
:command:`try_run` command.
|
||||||
|
|
|
@ -5,5 +5,5 @@ Name of FOLDER for targets that are added automatically by CMake.
|
||||||
|
|
||||||
If not set, CMake uses "CMakePredefinedTargets" as a default value for
|
If not set, CMake uses "CMakePredefinedTargets" as a default value for
|
||||||
this property. Targets such as INSTALL, PACKAGE and RUN_TESTS will be
|
this property. Targets such as INSTALL, PACKAGE and RUN_TESTS will be
|
||||||
organized into this FOLDER. See also the documentation for the FOLDER
|
organized into this FOLDER. See also the documentation for the
|
||||||
target property.
|
:prop_tgt:`FOLDER` target property.
|
||||||
|
|
|
@ -8,6 +8,6 @@ progress message describing what each build rule does. If the
|
||||||
property is not set the default is ON. Set the property to OFF to
|
property is not set the default is ON. Set the property to OFF to
|
||||||
disable granular messages and report only as each target completes.
|
disable granular messages and report only as each target completes.
|
||||||
This is intended to allow scripted builds to avoid the build time cost
|
This is intended to allow scripted builds to avoid the build time cost
|
||||||
of detailed reports. If a CMAKE_RULE_MESSAGES cache entry exists its
|
of detailed reports. If a ``CMAKE_RULE_MESSAGES`` cache entry exists
|
||||||
value initializes the value of this property. Non-Makefile generators
|
its value initializes the value of this property. Non-Makefile
|
||||||
currently ignore this property.
|
generators currently ignore this property.
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
USE_FOLDERS
|
USE_FOLDERS
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Use the FOLDER target property to organize targets into folders.
|
Use the :prop_tgt:`FOLDER` target property to organize targets into
|
||||||
|
folders.
|
||||||
|
|
||||||
If not set, CMake treats this property as OFF by default. CMake
|
If not set, CMake treats this property as OFF by default. CMake
|
||||||
generators that are capable of organizing into a hierarchy of folders
|
generators that are capable of organizing into a hierarchy of folders
|
||||||
use the values of the FOLDER target property to name those folders.
|
use the values of the :prop_tgt:`FOLDER` target property to name those
|
||||||
See also the documentation for the FOLDER target property.
|
folders. See also the documentation for the FOLDER target property.
|
||||||
|
|
|
@ -13,8 +13,7 @@ the name COMPILE_DEFINITIONS_<CONFIG> where <CONFIG> is an upper-case
|
||||||
name (ex. "COMPILE_DEFINITIONS_DEBUG").
|
name (ex. "COMPILE_DEFINITIONS_DEBUG").
|
||||||
|
|
||||||
CMake will automatically drop some definitions that are not supported
|
CMake will automatically drop some definitions that are not supported
|
||||||
by the native build tool. The VS6 IDE does not support definition
|
by the native build tool. Xcode does not support per-configuration
|
||||||
values with spaces (but NMake does). Xcode does not support
|
definitions on source files.
|
||||||
per-configuration definitions on source files.
|
|
||||||
|
|
||||||
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
|
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
|
||||||
|
|
|
@ -4,5 +4,5 @@ COMPILE_FLAGS
|
||||||
Additional flags to be added when compiling this source file.
|
Additional flags to be added when compiling this source file.
|
||||||
|
|
||||||
These flags will be added to the list of compile flags when this
|
These flags will be added to the list of compile flags when this
|
||||||
source file builds. Use COMPILE_DEFINITIONS to pass additional
|
source file builds. Use :prop_sf:`COMPILE_DEFINITIONS` to pass
|
||||||
preprocessor definitions.
|
additional preprocessor definitions.
|
||||||
|
|
|
@ -3,5 +3,5 @@ ATTACHED_FILES_ON_FAIL
|
||||||
|
|
||||||
Attach a list of files to a dashboard submission if the test fails.
|
Attach a list of files to a dashboard submission if the test fails.
|
||||||
|
|
||||||
Same as ATTACHED_FILES, but these files will only be included if the
|
Same as :prop_test:`ATTACHED_FILES`, but these files will only be
|
||||||
test does not pass.
|
included if the test does not pass.
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
TIMEOUT_AFTER_MATCH
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Change a test's timeout duration after a matching line is encountered
|
||||||
|
in its output.
|
||||||
|
|
||||||
|
Usage
|
||||||
|
^^^^^
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
add_test(mytest ...)
|
||||||
|
set_property(TEST mytest PROPERTY TIMEOUT_AFTER_MATCH "${seconds}" "${regex}")
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
Allow a test ``seconds`` to complete after ``regex`` is encountered in
|
||||||
|
its output.
|
||||||
|
|
||||||
|
When the test outputs a line that matches ``regex`` its start time is
|
||||||
|
reset to the current time and its timeout duration is changed to
|
||||||
|
``seconds``. Prior to this, the timeout duration is determined by the
|
||||||
|
:prop_test:`TIMEOUT` property or the :variable:`CTEST_TEST_TIMEOUT`
|
||||||
|
variable if either of these are set.
|
||||||
|
|
||||||
|
:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
|
||||||
|
timeouts when your test must wait for some system resource to become
|
||||||
|
available before it can execute. Set :prop_test:`TIMEOUT` to a longer
|
||||||
|
duration that accounts for resource acquisition and use
|
||||||
|
:prop_test:`TIMEOUT_AFTER_MATCH` to control how long the actual test
|
||||||
|
is allowed to run.
|
||||||
|
|
||||||
|
If the required resource can be controlled by CTest you should use
|
||||||
|
:prop_test:`RESOURCE_LOCK` instead of :prop_test:`TIMEOUT_AFTER_MATCH`.
|
||||||
|
This property should be used when only the test itself can determine
|
||||||
|
when its required resources are available.
|
|
@ -6,22 +6,35 @@ Should the target be processed with automoc (for Qt projects).
|
||||||
AUTOMOC is a boolean specifying whether CMake will handle the Qt ``moc``
|
AUTOMOC is a boolean specifying whether CMake will handle the Qt ``moc``
|
||||||
preprocessor automatically, i.e. without having to use the
|
preprocessor automatically, i.e. without having to use the
|
||||||
:module:`QT4_WRAP_CPP() <FindQt4>` or QT5_WRAP_CPP() macro. Currently Qt4 and Qt5 are
|
:module:`QT4_WRAP_CPP() <FindQt4>` or QT5_WRAP_CPP() macro. Currently Qt4 and Qt5 are
|
||||||
supported. When this property is set ``ON``, CMake will scan the
|
supported.
|
||||||
source files at build time and invoke moc accordingly. If an ``#include``
|
|
||||||
statement like ``#include "moc_foo.cpp"`` is found, the ``Q_OBJECT`` class
|
When this property is set ``ON``, CMake will scan the
|
||||||
declaration is expected in the header, and ``moc`` is run on the header
|
source files at build time and invoke moc accordingly.
|
||||||
file. If an ``#include`` statement like ``#include "foo.moc"`` is found, then
|
|
||||||
a ``Q_OBJECT`` is expected in the current source file and ``moc`` is run on
|
* If an ``#include`` statement like ``#include "moc_foo.cpp"`` is found,
|
||||||
the file itself. Additionally, header files with the same base name (like
|
the ``Q_OBJECT`` class declaration is expected in the header, and
|
||||||
``foo.h``) or ``_p`` appended to the base name (like ``foo_p.h``) are parsed
|
``moc`` is run on the header file. A ``moc_foo.cpp`` file will be
|
||||||
for ``Q_OBJECT`` macros, and if found, ``moc`` is also executed on those files.
|
generated from the source's header into the
|
||||||
``AUTOMOC`` checks multiple header alternative extensions, such as
|
:variable:`CMAKE_CURRENT_BINARY_DIR` directory. This allows the
|
||||||
``hpp``, ``hxx`` etc when searching for headers.
|
compiler to find the included ``moc_foo.cpp`` file regardless of the
|
||||||
The resulting moc files, which are not included as shown above in any
|
location the original source. However, if multiple source files
|
||||||
of the source files are included in a generated
|
in different directories do this then their generated moc files would
|
||||||
``<targetname>_automoc.cpp`` file, which is compiled as part of the
|
collide. In this case a diagnostic will be issued.
|
||||||
target. This property is initialized by the value of the
|
|
||||||
:variable:`CMAKE_AUTOMOC` variable if it is set when a target is created.
|
* If an ``#include`` statement like ``#include "foo.moc"`` is found,
|
||||||
|
then a ``Q_OBJECT`` is expected in the current source file and ``moc``
|
||||||
|
is run on the file itself. Additionally, header files with the same
|
||||||
|
base name (like ``foo.h``) or ``_p`` appended to the base name (like
|
||||||
|
``foo_p.h``) are parsed for ``Q_OBJECT`` macros, and if found, ``moc``
|
||||||
|
is also executed on those files. ``AUTOMOC`` checks multiple header
|
||||||
|
alternative extensions, such as ``hpp``, ``hxx`` etc when searching
|
||||||
|
for headers. The resulting moc files, which are not included as shown
|
||||||
|
above in any of the source files are included in a generated
|
||||||
|
``<targetname>_automoc.cpp`` file, which is compiled as part of the
|
||||||
|
target.
|
||||||
|
|
||||||
|
This property is initialized by the value of the :variable:`CMAKE_AUTOMOC`
|
||||||
|
variable if it is set when a target is created.
|
||||||
|
|
||||||
Additional command line options for moc can be set via the
|
Additional command line options for moc can be set via the
|
||||||
:prop_tgt:`AUTOMOC_MOC_OPTIONS` property.
|
:prop_tgt:`AUTOMOC_MOC_OPTIONS` property.
|
||||||
|
|
|
@ -11,8 +11,7 @@ automatically escape the value correctly for the native build system
|
||||||
values).
|
values).
|
||||||
|
|
||||||
CMake will automatically drop some definitions that are not supported
|
CMake will automatically drop some definitions that are not supported
|
||||||
by the native build tool. The VS6 IDE does not support definition
|
by the native build tool.
|
||||||
values with spaces (but NMake does).
|
|
||||||
|
|
||||||
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
|
.. include:: /include/COMPILE_DEFINITIONS_DISCLAIMER.txt
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@ COMPILE_FLAGS
|
||||||
|
|
||||||
Additional flags to use when compiling this target's sources.
|
Additional flags to use when compiling this target's sources.
|
||||||
|
|
||||||
The COMPILE_FLAGS property sets additional compiler flags used to
|
The ``COMPILE_FLAGS`` property sets additional compiler flags used to
|
||||||
build sources within the target. Use COMPILE_DEFINITIONS to pass
|
build sources within the target. Use :prop_tgt:`COMPILE_DEFINITIONS`
|
||||||
additional preprocessor definitions.
|
to pass additional preprocessor definitions.
|
||||||
|
|
||||||
This property is deprecated. Use the COMPILE_OPTIONS property or the
|
This property is deprecated. Use the :prop_tgt:`COMPILE_OPTIONS`
|
||||||
target_compile_options command instead.
|
property or the command:`target_compile_options` command instead.
|
||||||
|
|
|
@ -7,7 +7,7 @@ This property holds a :ref:`;-list <CMake Language Lists>` of options
|
||||||
specified so far for its target. Use the :command:`target_compile_options`
|
specified so far for its target. Use the :command:`target_compile_options`
|
||||||
command to append more options.
|
command to append more options.
|
||||||
|
|
||||||
This property is intialized by the :prop_dir:`COMPILE_OPTIONS` directory
|
This property is initialized by the :prop_dir:`COMPILE_OPTIONS` directory
|
||||||
property when a target is created, and is used by the generators to set
|
property when a target is created, and is used by the generators to set
|
||||||
the options for the compiler.
|
the options for the compiler.
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,3 @@
|
||||||
``/Fd`` compiler flag and are not the same as linker-generated
|
``/Fd`` compiler flag and are not the same as linker-generated
|
||||||
program database files specified by the ``/pdb`` linker flag.
|
program database files specified by the ``/pdb`` linker flag.
|
||||||
Use the |PDB_XXX| property to specify the latter.
|
Use the |PDB_XXX| property to specify the latter.
|
||||||
|
|
||||||
This property is not implemented by the :generator:`Visual Studio 6`
|
|
||||||
generator.
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
CROSSCOMPILING_EMULATOR
|
CROSSCOMPILING_EMULATOR
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
Use the given emulator to run executables created when crosscompiling. This
|
Use the given emulator to run executables created when crosscompiling.
|
||||||
command will be added as a prefix to :command:`add_test` test commands for
|
This command will be added as a prefix to :command:`add_test`,
|
||||||
built target system executables.
|
:command:`add_custom_command`, and :command:`add_custom_target` commands
|
||||||
|
for built target system executables.
|
||||||
|
|
|
@ -6,7 +6,8 @@ Boolean specifying whether compiler specific extensions are requested.
|
||||||
This property specifies whether compiler specific extensions should be
|
This property specifies whether compiler specific extensions should be
|
||||||
used. For some compilers, this results in adding a flag such
|
used. For some compilers, this results in adding a flag such
|
||||||
as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line. This
|
as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line. This
|
||||||
property is ``ON`` by default.
|
property is ``ON`` by default. The basic C++ standard level is
|
||||||
|
controlled by the :prop_tgt:`CXX_STANDARD` target property.
|
||||||
|
|
||||||
See the :manual:`cmake-compile-features(7)` manual for information on
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
compile features and a list of supported compilers.
|
compile features and a list of supported compilers.
|
||||||
|
|
|
@ -22,6 +22,8 @@ with a compiler which does not support ``-std=gnu++11`` or an equivalent
|
||||||
flag will not result in an error or warning, but will instead add the
|
flag will not result in an error or warning, but will instead add the
|
||||||
``-std=gnu++98`` flag if supported. This "decay" behavior may be controlled
|
``-std=gnu++98`` flag if supported. This "decay" behavior may be controlled
|
||||||
with the :prop_tgt:`CXX_STANDARD_REQUIRED` target property.
|
with the :prop_tgt:`CXX_STANDARD_REQUIRED` target property.
|
||||||
|
Additionally, the :prop_tgt:`CXX_EXTENSIONS` target property may be used to
|
||||||
|
control whether compiler-specific extensions are enabled on a per-target basis.
|
||||||
|
|
||||||
See the :manual:`cmake-compile-features(7)` manual for information on
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
compile features and a list of supported compilers.
|
compile features and a list of supported compilers.
|
||||||
|
|
|
@ -6,7 +6,8 @@ Boolean specifying whether compiler specific extensions are requested.
|
||||||
This property specifies whether compiler specific extensions should be
|
This property specifies whether compiler specific extensions should be
|
||||||
used. For some compilers, this results in adding a flag such
|
used. For some compilers, this results in adding a flag such
|
||||||
as ``-std=gnu11`` instead of ``-std=c11`` to the compile line. This
|
as ``-std=gnu11`` instead of ``-std=c11`` to the compile line. This
|
||||||
property is ``ON`` by default.
|
property is ``ON`` by default. The basic C standard level is
|
||||||
|
controlled by the :prop_tgt:`C_STANDARD` target property.
|
||||||
|
|
||||||
See the :manual:`cmake-compile-features(7)` manual for information on
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
compile features and a list of supported compilers.
|
compile features and a list of supported compilers.
|
||||||
|
|
|
@ -22,6 +22,8 @@ with a compiler which does not support ``-std=gnu11`` or an equivalent
|
||||||
flag will not result in an error or warning, but will instead add the
|
flag will not result in an error or warning, but will instead add the
|
||||||
``-std=gnu99`` or ``-std=gnu90`` flag if supported. This "decay" behavior may
|
``-std=gnu99`` or ``-std=gnu90`` flag if supported. This "decay" behavior may
|
||||||
be controlled with the :prop_tgt:`C_STANDARD_REQUIRED` target property.
|
be controlled with the :prop_tgt:`C_STANDARD_REQUIRED` target property.
|
||||||
|
Additionally, the :prop_tgt:`C_EXTENSIONS` target property may be used to
|
||||||
|
control whether compiler-specific extensions are enabled on a per-target basis.
|
||||||
|
|
||||||
See the :manual:`cmake-compile-features(7)` manual for information on
|
See the :manual:`cmake-compile-features(7)` manual for information on
|
||||||
compile features and a list of supported compilers.
|
compile features and a list of supported compilers.
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
DEPLOYMENT_REMOTE_DIRECTORY
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Set the WinCE project ``RemoteDirectory`` in ``DeploymentTool`` and
|
||||||
|
``RemoteExecutable`` in ``DebuggerTool`` in ``.vcproj`` files generated
|
||||||
|
by the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005`
|
||||||
|
generators. This is useful when you want to debug on remote WinCE device.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set_property(TARGET ${TARGET} PROPERTY
|
||||||
|
DEPLOYMENT_REMOTE_DIRECTORY "\\FlashStorage")
|
||||||
|
|
||||||
|
produces::
|
||||||
|
|
||||||
|
<DeploymentTool RemoteDirectory="\FlashStorage" ... />
|
||||||
|
<DebuggerTool RemoteExecutable="\FlashStorage\target_file" ... />
|
|
@ -26,6 +26,10 @@ Example of creation ``dynamicFramework``:
|
||||||
FRAMEWORK_VERSION C
|
FRAMEWORK_VERSION C
|
||||||
MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
|
MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
|
||||||
MACOSX_FRAMEWORK_INFO_PLIST Info.plist
|
MACOSX_FRAMEWORK_INFO_PLIST Info.plist
|
||||||
|
# "current version" in semantic format in Mach-O binary file
|
||||||
|
VERSION 16.4.0
|
||||||
|
# "compatibility version" in semantic format in Mach-O binary file
|
||||||
|
SOVERSION 1.0.0
|
||||||
PUBLIC_HEADER dynamicFramework.h
|
PUBLIC_HEADER dynamicFramework.h
|
||||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
|
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,7 +5,7 @@ Ninja only: Pool used for linking.
|
||||||
|
|
||||||
The number of parallel link processes could be limited by defining
|
The number of parallel link processes could be limited by defining
|
||||||
pools with the global :prop_gbl:`JOB_POOLS`
|
pools with the global :prop_gbl:`JOB_POOLS`
|
||||||
property and then specifing here the pool name.
|
property and then specifying here the pool name.
|
||||||
|
|
||||||
For instance:
|
For instance:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<LANG>_CLANG_TIDY
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
This property is implemented only when ``<LANG>`` is ``C`` or ``CXX``.
|
||||||
|
|
||||||
|
Specify a :ref:`;-list <CMake Language Lists>` containing a command
|
||||||
|
line for the ``clang-tidy`` tool. The :ref:`Makefile Generators`
|
||||||
|
and the :generator:`Ninja` generator will run this tool along with the
|
||||||
|
compiler and report a warning if the tool reports any problems.
|
||||||
|
|
||||||
|
This property is initialized by the value of
|
||||||
|
the :variable:`CMAKE_<LANG>_CLANG_TIDY` variable if it is set
|
||||||
|
when a target is created.
|
|
@ -7,6 +7,3 @@
|
||||||
``/pdb`` linker flag and are not the same as compiler-generated
|
``/pdb`` linker flag and are not the same as compiler-generated
|
||||||
program database files specified by the ``/Fd`` compiler flag.
|
program database files specified by the ``/Fd`` compiler flag.
|
||||||
Use the |COMPILE_PDB_XXX| property to specify the latter.
|
Use the |COMPILE_PDB_XXX| property to specify the latter.
|
||||||
|
|
||||||
This property is not implemented by the :generator:`Visual Studio 6`
|
|
||||||
generator.
|
|
||||||
|
|
|
@ -3,12 +3,25 @@ SOVERSION
|
||||||
|
|
||||||
What version number is this target.
|
What version number is this target.
|
||||||
|
|
||||||
For shared libraries VERSION and SOVERSION can be used to specify the
|
For shared libraries :prop_tgt:`VERSION` and ``SOVERSION`` can be used to
|
||||||
build version and API version respectively. When building or
|
specify the build version and API version respectively. When building or
|
||||||
installing appropriate symlinks are created if the platform supports
|
installing appropriate symlinks are created if the platform supports
|
||||||
symlinks and the linker supports so-names. If only one of both is
|
symlinks and the linker supports so-names. If only one of both is
|
||||||
specified the missing is assumed to have the same version number.
|
specified the missing is assumed to have the same version number.
|
||||||
SOVERSION is ignored if NO_SONAME property is set. For shared
|
``SOVERSION`` is ignored if :prop_tgt:`NO_SONAME` property is set.
|
||||||
libraries and executables on Windows the VERSION attribute is parsed
|
|
||||||
to extract a "major.minor" version number. These numbers are used as
|
Windows Versions
|
||||||
the image version of the binary.
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
For shared libraries and executables on Windows the :prop_tgt:`VERSION`
|
||||||
|
attribute is parsed to extract a ``<major>.<minor>`` version number.
|
||||||
|
These numbers are used as the image version of the binary.
|
||||||
|
|
||||||
|
Mach-O Versions
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
For shared libraries and executables on Mach-O systems (e.g. OS X, iOS),
|
||||||
|
the ``SOVERSION`` property corresponds to *compatibility version* and
|
||||||
|
:prop_tgt:`VERSION` to *current version*. See the :prop_tgt:`FRAMEWORK` target
|
||||||
|
property for an example. Versions of Mach-O binaries may be checked with the
|
||||||
|
``otool -L <binary>`` command.
|
||||||
|
|
|
@ -3,14 +3,27 @@ VERSION
|
||||||
|
|
||||||
What version number is this target.
|
What version number is this target.
|
||||||
|
|
||||||
For shared libraries VERSION and SOVERSION can be used to specify the
|
For shared libraries ``VERSION`` and :prop_tgt:`SOVERSION` can be used
|
||||||
build version and API version respectively. When building or
|
to specify the build version and API version respectively. When building or
|
||||||
installing appropriate symlinks are created if the platform supports
|
installing appropriate symlinks are created if the platform supports
|
||||||
symlinks and the linker supports so-names. If only one of both is
|
symlinks and the linker supports so-names. If only one of both is
|
||||||
specified the missing is assumed to have the same version number. For
|
specified the missing is assumed to have the same version number. For
|
||||||
executables VERSION can be used to specify the build version. When
|
executables ``VERSION`` can be used to specify the build version. When
|
||||||
building or installing appropriate symlinks are created if the
|
building or installing appropriate symlinks are created if the
|
||||||
platform supports symlinks. For shared libraries and executables on
|
platform supports symlinks.
|
||||||
Windows the VERSION attribute is parsed to extract a "major.minor"
|
|
||||||
version number. These numbers are used as the image version of the
|
Windows Versions
|
||||||
binary.
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
For shared libraries and executables on Windows the ``VERSION``
|
||||||
|
attribute is parsed to extract a ``<major>.<minor>`` version number.
|
||||||
|
These numbers are used as the image version of the binary.
|
||||||
|
|
||||||
|
Mach-O Versions
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
For shared libraries and executables on Mach-O systems (e.g. OS X, iOS),
|
||||||
|
the :prop_tgt:`SOVERSION` property correspond to *compatibility version* and
|
||||||
|
``VERSION`` to *current version*. See the :prop_tgt:`FRAMEWORK` target
|
||||||
|
property for an example. Versions of Mach-O binaries may be checked with the
|
||||||
|
``otool -L <binary>`` command.
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
VS_CONFIGURATION_TYPE
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Visual Studio project configuration type.
|
||||||
|
|
||||||
|
Sets the ``ConfigurationType`` attribute for a generated Visual Studio project.
|
||||||
|
If this property is set, it overrides the default setting that is based on the
|
||||||
|
target type (e.g. ``StaticLibrary``, ``Application``, ...).
|
||||||
|
|
||||||
|
Supported on :ref:`Visual Studio Generators` for VS 2010 and higher.
|
|
@ -0,0 +1,316 @@
|
||||||
|
CMake 3.6 Release Notes
|
||||||
|
***********************
|
||||||
|
|
||||||
|
.. only:: html
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
Changes made since CMake 3.5 include the following.
|
||||||
|
|
||||||
|
New Features
|
||||||
|
============
|
||||||
|
|
||||||
|
Generators
|
||||||
|
----------
|
||||||
|
|
||||||
|
* The :generator:`Ninja` generator learned to produce phony targets
|
||||||
|
of the form ``sub/dir/all`` to drive the build of a subdirectory.
|
||||||
|
This is equivalent to ``cd sub/dir; make all`` with
|
||||||
|
:ref:`Makefile Generators`.
|
||||||
|
|
||||||
|
* The :generator:`Ninja` generator now includes system header files in build
|
||||||
|
dependencies to ensure correct re-builds when system packages are updated.
|
||||||
|
|
||||||
|
* The :generator:`Visual Studio 14 2015` generator learned to support the
|
||||||
|
Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option.
|
||||||
|
This feature is experimental.
|
||||||
|
|
||||||
|
Commands
|
||||||
|
--------
|
||||||
|
|
||||||
|
* The :command:`add_custom_command` and :command:`add_custom_target` commands
|
||||||
|
learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable
|
||||||
|
target property.
|
||||||
|
|
||||||
|
* The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option
|
||||||
|
to leave installation rules out of the default installation.
|
||||||
|
|
||||||
|
* The :command:`list` command gained a ``FILTER`` sub-command to filter
|
||||||
|
list elements by regular expression.
|
||||||
|
|
||||||
|
* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)`
|
||||||
|
commands gained support for the ``%s`` placeholder. This is
|
||||||
|
the number of seconds since the UNIX Epoch.
|
||||||
|
|
||||||
|
Variables
|
||||||
|
---------
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced
|
||||||
|
to tell :ref:`Makefile Generators` to limit dependency scanning only
|
||||||
|
to files in the project source and build trees.
|
||||||
|
|
||||||
|
* A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to
|
||||||
|
indicate when CMake is running on an Oracle Solaris host.
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was
|
||||||
|
added for use by toolchain files to specify system include directories
|
||||||
|
to be appended to all compiler command lines.
|
||||||
|
|
||||||
|
* The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented.
|
||||||
|
It is intended for use by toolchain files to specify system libraries to be
|
||||||
|
added to all linker command lines.
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced
|
||||||
|
to tell the :generator:`Ninja` generator to configure the generated
|
||||||
|
``build.ninja`` file for use as a ``subninja``.
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was
|
||||||
|
added for use by toolchain files to specify platform-specific
|
||||||
|
variables that must be propagated by the :command:`try_compile`
|
||||||
|
command into test projects.
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added
|
||||||
|
to optionally tell the :command:`try_compile` command to build
|
||||||
|
a static library instead of an executable. This is useful for
|
||||||
|
cross-compiling toolchains that cannot link binaries without
|
||||||
|
custom flags or scripts.
|
||||||
|
|
||||||
|
Properties
|
||||||
|
----------
|
||||||
|
|
||||||
|
* A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced
|
||||||
|
to tell the :generator:`Visual Studio 9 2008` and
|
||||||
|
:generator:`Visual Studio 8 2005` generators to generate the "remote
|
||||||
|
directory" for WinCE project deployment and debugger settings.
|
||||||
|
|
||||||
|
* A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting
|
||||||
|
:variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the
|
||||||
|
:ref:`Makefile Generators` and the :generator:`Ninja` generator to run
|
||||||
|
``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages.
|
||||||
|
|
||||||
|
* A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to
|
||||||
|
optionally tell CTest to enforce a secondary timeout after matching
|
||||||
|
certain output from a test.
|
||||||
|
|
||||||
|
* A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced
|
||||||
|
to specify a custom project file type for :ref:`Visual Studio Generators`
|
||||||
|
supporting VS 2010 and above.
|
||||||
|
|
||||||
|
* A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced
|
||||||
|
to specify for :ref:`Visual Studio Generators` the default startup
|
||||||
|
project for generated solutions (``.sln`` files).
|
||||||
|
|
||||||
|
Modules
|
||||||
|
-------
|
||||||
|
|
||||||
|
* The :module:`CMakePushCheckState` module now pushes/pops/resets the variable
|
||||||
|
``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`.
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1``
|
||||||
|
option to perform a shallow clone of a Git repository.
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module learned to initialize Git submodules
|
||||||
|
recursively and also to initialize new submodules on updates. Use the
|
||||||
|
``GIT_SUBMODULES`` option to restrict which submodules are initalized and
|
||||||
|
updated.
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1``
|
||||||
|
argument to skip extracting the file that is downloaded (e.g., for
|
||||||
|
self-extracting shell installers or ``.msi`` files).
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching
|
||||||
|
from git repositories.
|
||||||
|
|
||||||
|
* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to
|
||||||
|
support `OpenBLAS <http://www.openblas.net>`__.
|
||||||
|
|
||||||
|
* The :module:`FindCUDA` module learned to find the ``cublas_device`` library.
|
||||||
|
|
||||||
|
* The :module:`FindGTest` module ``gtest_add_tests`` function now causes
|
||||||
|
CMake to automatically re-run when test sources change so that they
|
||||||
|
can be re-scanned.
|
||||||
|
|
||||||
|
* The :module:`FindLTTngUST` module was introduced to find the LTTng-UST
|
||||||
|
library.
|
||||||
|
|
||||||
|
* The :module:`FindPkgConfig` module learned to optionally create imported
|
||||||
|
targets for the libraries it has found.
|
||||||
|
|
||||||
|
* The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION``
|
||||||
|
variable and check the version number requested in a :command:`find_package`
|
||||||
|
call.
|
||||||
|
|
||||||
|
* The :module:`InstallRequiredSystemLibraries` module learned a new
|
||||||
|
``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment
|
||||||
|
of the Windows Universal CRT libraries with Visual Studio 2015.
|
||||||
|
|
||||||
|
Platforms
|
||||||
|
---------
|
||||||
|
|
||||||
|
* The Clang compiler is now supported on CYGWIN.
|
||||||
|
|
||||||
|
* Support was added for the Bruce C Compiler with compiler id ``Bruce``.
|
||||||
|
|
||||||
|
CTest
|
||||||
|
-----
|
||||||
|
|
||||||
|
* The :command:`ctest_update` command now looks at the
|
||||||
|
:variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether
|
||||||
|
submodules should be updated or not before updating.
|
||||||
|
|
||||||
|
* The :command:`ctest_update` command will now synchronize submodules on an
|
||||||
|
update. Updates which add submodules or change a submodule's URL will now be
|
||||||
|
pulled properly.
|
||||||
|
|
||||||
|
CPack
|
||||||
|
-----
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to handle ``$ORIGIN``
|
||||||
|
in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
|
||||||
|
is used for dependency auto detection.
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs``
|
||||||
|
contorl file when package contains shared libraries.
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and
|
||||||
|
``DEBIAN/postrm`` files if the package installs libraries in
|
||||||
|
ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``).
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to generate dependencies between
|
||||||
|
Debian packages if multi-component setup is used and
|
||||||
|
:variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set.
|
||||||
|
For backward compatibility this feature is disabled by default.
|
||||||
|
See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`.
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to set custom package file names
|
||||||
|
including how to generate properly-named Debian packages::
|
||||||
|
|
||||||
|
<PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
|
||||||
|
|
||||||
|
For backward compatibility this feature is disabled by default. See
|
||||||
|
:variable:`CPACK_DEBIAN_FILE_NAME` and
|
||||||
|
:variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`.
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to set the package release number
|
||||||
|
(``DebianRevisionNumber`` in package file name when used in combination with
|
||||||
|
``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See
|
||||||
|
:variable:`CPACK_DEBIAN_PACKAGE_RELEASE`.
|
||||||
|
|
||||||
|
* The :module:`CPackDeb` module learned how to set the package architecture
|
||||||
|
per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`.
|
||||||
|
|
||||||
|
* The :module:`CPackDMG` module learned a new option to tell the CPack
|
||||||
|
``DragNDrop`` generaor to skip the ``/Applications`` symlink.
|
||||||
|
See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable.
|
||||||
|
|
||||||
|
* The :module:`CPackIFW` module gained a new
|
||||||
|
:command:`cpack_ifw_update_repository` command to update a QtIFW-specific
|
||||||
|
repository from a remote repository.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of
|
||||||
|
RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for
|
||||||
|
e.g. on Fedora).
|
||||||
|
See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned how to set default values for owning
|
||||||
|
user/group and file/directory permissions of package content.
|
||||||
|
See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`,
|
||||||
|
:variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`,
|
||||||
|
:variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component
|
||||||
|
counterparts.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned how to set user defined package file
|
||||||
|
names, how to specify that rpmbuild should decide on file name format as
|
||||||
|
well as handling of multiple rpm packages generated by a single user defined
|
||||||
|
spec file.
|
||||||
|
See :variable:`CPACK_RPM_PACKAGE_NAME` and
|
||||||
|
:variable:`CPACK_RPM_<component>_PACKAGE_NAME`.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module learned how to correctly handle symlinks
|
||||||
|
that are pointing outside generated packages.
|
||||||
|
|
||||||
|
Other
|
||||||
|
-----
|
||||||
|
|
||||||
|
* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
|
||||||
|
is now aware of features supported by Intel C++ compilers versions 12.1
|
||||||
|
through 16.0 on UNIX platforms.
|
||||||
|
|
||||||
|
Deprecated and Removed Features
|
||||||
|
===============================
|
||||||
|
|
||||||
|
* The :module:`CMakeForceCompiler` module and its macros are now deprecated.
|
||||||
|
See module documentation for an explanation.
|
||||||
|
|
||||||
|
* The :command:`find_library`, :command:`find_path`, and :command:`find_file`
|
||||||
|
commands no longer search in installation prefixes derived from the ``PATH``
|
||||||
|
environment variable on non-Windows platforms. This behavior was added in
|
||||||
|
CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts.
|
||||||
|
Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for
|
||||||
|
their tools do not necessarily want any supporting ``<prefix>/lib``
|
||||||
|
directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment
|
||||||
|
variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are
|
||||||
|
to be searched.
|
||||||
|
|
||||||
|
* The :generator:`Visual Studio 7 .NET 2003` generator is now
|
||||||
|
deprecated and will be removed in a future version of CMake.
|
||||||
|
|
||||||
|
* The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been
|
||||||
|
removed. It had been deprecated since CMake 3.3.
|
||||||
|
|
||||||
|
* The :generator:`Visual Studio 6` generator has been removed.
|
||||||
|
It had been deprecated since CMake 3.3.
|
||||||
|
|
||||||
|
Other Changes
|
||||||
|
=============
|
||||||
|
|
||||||
|
* The precompiled OS X binary provided on ``cmake.org`` now requires
|
||||||
|
OS X 10.7 or newer.
|
||||||
|
|
||||||
|
* On Linux and FreeBSD platforms, when building CMake itself from source and
|
||||||
|
not using a system-provided libcurl, OpenSSL is now used by default if it is
|
||||||
|
found on the system. This enables SSL/TLS support for commands supporting
|
||||||
|
network communication via ``https``, such as :command:`file(DOWNLOAD)`,
|
||||||
|
:command:`file(UPLOAD)`, and :command:`ctest_submit`.
|
||||||
|
|
||||||
|
* The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple
|
||||||
|
``--target`` options with an error instead of silently ignoring all but the
|
||||||
|
last one.
|
||||||
|
|
||||||
|
* :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source
|
||||||
|
files in different directories use ``#include <moc_foo.cpp>`` with the
|
||||||
|
same name (because the generated ``moc_foo.cpp`` files would collide).
|
||||||
|
|
||||||
|
* The :module:`FindBISON` module ``BISON_TARGET`` macro now supports
|
||||||
|
special characters by passing the ``VERBATIM`` option to internal
|
||||||
|
:command:`add_custom_command` calls. This may break clients that
|
||||||
|
added escaping manually to work around the bug.
|
||||||
|
|
||||||
|
* The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports
|
||||||
|
special characters by passing the ``VERBATIM`` option to internal
|
||||||
|
:command:`add_custom_command` calls. This may break clients that
|
||||||
|
added escaping manually to work around the bug.
|
||||||
|
|
||||||
|
* The :module:`FindProtobuf` module input and output variables were all renamed
|
||||||
|
from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules.
|
||||||
|
Input variables of the old case will be honored if provided, and output
|
||||||
|
variables of the old case are always provided.
|
||||||
|
|
||||||
|
* The :module:`CPackRPM` module now supports upper cased component
|
||||||
|
names in per component CPackRPM specific variables.
|
||||||
|
E.g. component named ``foo`` now expects component specific
|
||||||
|
variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before
|
||||||
|
it expected ``CPACK_RPM_foo_PACKAGE_NAME``.
|
||||||
|
Upper cased component name part in variables is compatible
|
||||||
|
with convention used for other CPack variables.
|
||||||
|
For back compatibility old format of variables is still valid
|
||||||
|
and preferred if both versions of variable are set, but the
|
||||||
|
preferred future use is upper cased component names in variables.
|
||||||
|
New variables that will be added to CPackRPM in later versions
|
||||||
|
will only support upper cased component variable format.
|
||||||
|
|
||||||
|
* The CPack NSIS generator's configuration file template was fixed to
|
||||||
|
quote the path to the uninstaller tool used by the
|
||||||
|
:variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option.
|
||||||
|
This avoids depending on an insecure Windows feature to run an
|
||||||
|
uninstaller tool with a space in the path.
|
|
@ -11,6 +11,7 @@ Releases
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
3.6 <3.6>
|
||||||
3.5 <3.5>
|
3.5 <3.5>
|
||||||
3.4 <3.4>
|
3.4 <3.4>
|
||||||
3.3 <3.3>
|
3.3 <3.3>
|
||||||
|
|
|
@ -12,7 +12,6 @@ Example values:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
$(IntDir) = Visual Studio 6
|
|
||||||
$(ConfigurationName) = Visual Studio 7, 8, 9
|
$(ConfigurationName) = Visual Studio 7, 8, 9
|
||||||
$(Configuration) = Visual Studio 10
|
$(Configuration) = Visual Studio 10
|
||||||
$(CONFIGURATION) = Xcode
|
$(CONFIGURATION) = Xcode
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_DEPENDS_IN_PROJECT_ONLY
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
When set to ``TRUE`` in a directory, the build system produced by the
|
||||||
|
:ref:`Makefile Generators` is set up to only consider dependencies on source
|
||||||
|
files that appear either in the source or in the binary directories. Changes
|
||||||
|
to source files outside of these directories will not cause rebuilds.
|
||||||
|
|
||||||
|
This should be used carefully in cases where some source files are picked up
|
||||||
|
through external headers during the build.
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
This cache variable is used by the Eclipse project generator. See
|
||||||
|
:manual:`cmake-generators(7)`.
|
||||||
|
|
||||||
|
The Eclipse project generator generates so-called linked resources
|
||||||
|
e.g. to the subproject root dirs in the source tree or to the source files
|
||||||
|
of targets.
|
||||||
|
This can be disabled by setting this variable to FALSE.
|
|
@ -0,0 +1,11 @@
|
||||||
|
CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
This cache variable is used by the Eclipse project generator. See
|
||||||
|
:manual:`cmake-generators(7)`.
|
||||||
|
|
||||||
|
If this variable is set to TRUE, the Eclipse project generator will generate
|
||||||
|
an Eclipse project in :variable:`CMAKE_SOURCE_DIR` . This project can then
|
||||||
|
be used in Eclipse e.g. for the version control functionality.
|
||||||
|
:variable:`CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT` defaults to FALSE; so
|
||||||
|
nothing is written into the source directory.
|
|
@ -0,0 +1,9 @@
|
||||||
|
CMAKE_ECLIPSE_MAKE_ARGUMENTS
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
This cache variable is used by the Eclipse project generator. See
|
||||||
|
:manual:`cmake-generators(7)`.
|
||||||
|
|
||||||
|
This variable holds arguments which are used when Eclipse invokes the make
|
||||||
|
tool. By default it is initialized to hold flags to enable parallel builds
|
||||||
|
(using -j typically).
|
|
@ -0,0 +1,10 @@
|
||||||
|
CMAKE_ECLIPSE_VERSION
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
This cache variable is used by the Eclipse project generator. See
|
||||||
|
:manual:`cmake-generators(7)`.
|
||||||
|
|
||||||
|
When using the Eclipse project generator, CMake tries to find the Eclipse
|
||||||
|
executable and detect the version of it. Depending on the version it finds,
|
||||||
|
some features are enabled or disabled. If CMake doesn't find
|
||||||
|
Eclipse, it assumes the oldest supported version, Eclipse Callisto (3.2).
|
|
@ -4,4 +4,4 @@ CMAKE_GENERATOR
|
||||||
The generator used to build the project. See :manual:`cmake-generators(7)`.
|
The generator used to build the project. See :manual:`cmake-generators(7)`.
|
||||||
|
|
||||||
The name of the generator that is being used to generate the build
|
The name of the generator that is being used to generate the build
|
||||||
files. (e.g. ``Unix Makefiles``, ``Visual Studio 6``, etc.)
|
files. (e.g. ``Unix Makefiles``, ``Ninja``, etc.)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
CMAKE_HOST_SOLARIS
|
||||||
|
------------------
|
||||||
|
|
||||||
|
``True`` for Oracle Solaris operating systems.
|
||||||
|
|
||||||
|
Set to ``true`` when the host system is Oracle Solaris.
|
|
@ -0,0 +1,6 @@
|
||||||
|
CMAKE_<LANG>_CLANG_TIDY
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`<LANG>_CLANG_TIDY` target property.
|
||||||
|
This variable is used to initialize the property on each target as it is
|
||||||
|
created. This is done only when ``<LANG>`` is ``C`` or ``CXX``.
|
|
@ -3,7 +3,7 @@ CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN
|
||||||
|
|
||||||
The external toolchain for cross-compiling, if supported.
|
The external toolchain for cross-compiling, if supported.
|
||||||
|
|
||||||
Some compiler toolchains do not ship their own auxilliary utilities such as
|
Some compiler toolchains do not ship their own auxiliary utilities such as
|
||||||
archivers and linkers. The compiler driver may support a command-line argument
|
archivers and linkers. The compiler driver may support a command-line argument
|
||||||
to specify the location of such tools.
|
to specify the location of such tools.
|
||||||
``CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN`` may be set to a path to a path to
|
``CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN`` may be set to a path to a path to
|
||||||
|
|
|
@ -12,6 +12,7 @@ include:
|
||||||
ADSP = Analog VisualDSP++ (analog.com)
|
ADSP = Analog VisualDSP++ (analog.com)
|
||||||
AppleClang = Apple Clang (apple.com)
|
AppleClang = Apple Clang (apple.com)
|
||||||
ARMCC = ARM Compiler (arm.com)
|
ARMCC = ARM Compiler (arm.com)
|
||||||
|
Bruce = Bruce C Compiler
|
||||||
CCur = Concurrent Fortran (ccur.com)
|
CCur = Concurrent Fortran (ccur.com)
|
||||||
Clang = LLVM Clang (clang.llvm.org)
|
Clang = LLVM Clang (clang.llvm.org)
|
||||||
Cray = Cray Compiler (cray.com)
|
Cray = Cray Compiler (cray.com)
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Include directories to be used for every source file compiled with
|
||||||
|
the ``<LANG>`` compiler. This is meant for specification of system
|
||||||
|
include directories needed by the language for the current platform.
|
||||||
|
The directories always appear at the end of the include path passed
|
||||||
|
to the compiler.
|
||||||
|
|
||||||
|
This variable should not be set by project code. It is meant to be set by
|
||||||
|
CMake's platform information modules for the current toolchain, or by a
|
||||||
|
toolchain file when used with :variable:`CMAKE_TOOLCHAIN_FILE`.
|
||||||
|
|
||||||
|
See also :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES`.
|
|
@ -0,0 +1,12 @@
|
||||||
|
CMAKE_<LANG>_STANDARD_LIBRARIES
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
Libraries linked into every executable and shared library linked
|
||||||
|
for language ``<LANG>``. This is meant for specification of system
|
||||||
|
libraries needed by the language for the current platform.
|
||||||
|
|
||||||
|
This variable should not be set by project code. It is meant to be set by
|
||||||
|
CMake's platform information modules for the current toolchain, or by a
|
||||||
|
toolchain file when used with :variable:`CMAKE_TOOLCHAIN_FILE`.
|
||||||
|
|
||||||
|
See also :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`.
|
|
@ -34,12 +34,11 @@ to configure the project:
|
||||||
the CMake cache then CMake will use the specified value.
|
the CMake cache then CMake will use the specified value.
|
||||||
|
|
||||||
* The :ref:`Visual Studio Generators` set this to the full path to
|
* The :ref:`Visual Studio Generators` set this to the full path to
|
||||||
``MSBuild.exe`` (VS >= 10), ``devenv.com`` (VS 7,8,9),
|
``MSBuild.exe`` (VS >= 10), ``devenv.com`` (VS 7,8,9), or
|
||||||
``VCExpress.exe`` (VS Express 8,9), or ``msdev.exe`` (VS 6).
|
``VCExpress.exe`` (VS Express 8,9).
|
||||||
(See also variables
|
(See also variables
|
||||||
:variable:`CMAKE_VS_MSBUILD_COMMAND`,
|
:variable:`CMAKE_VS_MSBUILD_COMMAND` and
|
||||||
:variable:`CMAKE_VS_DEVENV_COMMAND`, and
|
:variable:`CMAKE_VS_DEVENV_COMMAND`.
|
||||||
:variable:`CMAKE_VS_MSDEV_COMMAND`.)
|
|
||||||
|
|
||||||
These generators prefer to lookup the build tool at build time
|
These generators prefer to lookup the build tool at build time
|
||||||
rather than to store ``CMAKE_MAKE_PROGRAM`` in the CMake cache
|
rather than to store ``CMAKE_MAKE_PROGRAM`` in the CMake cache
|
||||||
|
|
|
@ -5,7 +5,7 @@ Tell cmake to use MFC for an executable or dll.
|
||||||
|
|
||||||
This can be set in a ``CMakeLists.txt`` file and will enable MFC in the
|
This can be set in a ``CMakeLists.txt`` file and will enable MFC in the
|
||||||
application. It should be set to ``1`` for the static MFC library, and ``2``
|
application. It should be set to ``1`` for the static MFC library, and ``2``
|
||||||
for the shared MFC library. This is used in Visual Studio 6 and 7
|
for the shared MFC library. This is used in Visual Studio 7
|
||||||
project files. The CMakeSetup dialog used MFC and the ``CMakeLists.txt``
|
project files. The CMakeSetup dialog used MFC and the ``CMakeLists.txt``
|
||||||
looks like this:
|
looks like this:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
CMAKE_NINJA_OUTPUT_PATH_PREFIX
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Set output files path prefix for the :generator:`Ninja` generator.
|
||||||
|
|
||||||
|
Every output files listed in the generated ``build.ninja`` will be
|
||||||
|
prefixed by the contents of this variable (a trailing slash is
|
||||||
|
appended if missing). This is useful when the generated ninja file is
|
||||||
|
meant to be embedded as a ``subninja`` file into a *super* ninja
|
||||||
|
project. For example, a ninja build file generated with a command
|
||||||
|
like::
|
||||||
|
|
||||||
|
cd top-build-dir/sub &&
|
||||||
|
cmake -G Ninja -DCMAKE_NINJA_OUTPUT_PATH_PREFIX=sub/ path/to/source
|
||||||
|
|
||||||
|
can be embedded in ``top-build-dir/build.ninja`` with a directive like
|
||||||
|
this::
|
||||||
|
|
||||||
|
subninja sub/build.ninja
|
||||||
|
|
||||||
|
The ``auto-regeneration`` rule in ``top-build-dir/build.ninja`` must have an
|
||||||
|
order-only dependency on ``sub/build.ninja``.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When ``CMAKE_NINJA_OUTPUT_PATH_PREFIX`` is set, the project generated
|
||||||
|
by CMake cannot be used as a standalone project. No default targets
|
||||||
|
are specified.
|
|
@ -1,7 +0,0 @@
|
||||||
CMAKE_STANDARD_LIBRARIES
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
Libraries linked into every executable and shared library.
|
|
||||||
|
|
||||||
This is the list of libraries that are linked into all executables and
|
|
||||||
libraries.
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
List of variables that the :command:`try_compile` command source file signature
|
||||||
|
must propagate into the test project in order to target the same platform as
|
||||||
|
the host project.
|
||||||
|
|
||||||
|
This variable should not be set by project code. It is meant to be set by
|
||||||
|
CMake's platform information modules for the current toolchain, or by a
|
||||||
|
toolchain file when used with :variable:`CMAKE_TOOLCHAIN_FILE`.
|
||||||
|
|
||||||
|
Variables meaningful to CMake, such as :variable:`CMAKE_<LANG>_FLAGS`, are
|
||||||
|
propagated automatically. The ``CMAKE_TRY_COMPILE_PLATFORM_VARIABLES``
|
||||||
|
variable may be set to pass custom variables meaningful to a toolchain file.
|
||||||
|
For example, a toolchain file may contain:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME ...)
|
||||||
|
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES MY_CUSTOM_VARIABLE)
|
||||||
|
# ... use MY_CUSTOM_VARIABLE ...
|
||||||
|
|
||||||
|
If a user passes ``-DMY_CUSTOM_VARIABLE=SomeValue`` to CMake then this
|
||||||
|
setting will be made visible to the toolchain file both for the main
|
||||||
|
project and for test projects generated by the :command:`try_compile`
|
||||||
|
command source file signature.
|
|
@ -0,0 +1,15 @@
|
||||||
|
CMAKE_TRY_COMPILE_TARGET_TYPE
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
Type of target generated for :command:`try_compile` calls using the
|
||||||
|
source file signature. Valid values are:
|
||||||
|
|
||||||
|
``EXECUTABLE``
|
||||||
|
Use :command:`add_executable` to name the source file in the
|
||||||
|
generated project. This is the default if no value is given.
|
||||||
|
|
||||||
|
``STATIC_LIBRARY``
|
||||||
|
Use :command:`add_library` with the ``STATIC`` option to name the
|
||||||
|
source file in the generated project. This avoids running the
|
||||||
|
linker and is intended for use with cross-compiling toolchains
|
||||||
|
that cannot link without custom flags or linker scripts.
|
|
@ -1,10 +0,0 @@
|
||||||
CMAKE_VS_MSDEV_COMMAND
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
The :generator:`Visual Studio 6` generator sets this variable to the
|
|
||||||
``msdev.exe`` command installed with Visual Studio 6.
|
|
||||||
|
|
||||||
This variable is not defined by other generators even if ``msdev.exe``
|
|
||||||
is installed on the computer.
|
|
||||||
|
|
||||||
See also the :variable:`CMAKE_MAKE_PROGRAM` variable.
|
|
|
@ -54,7 +54,7 @@ program requires some named arguments.
|
||||||
file format to write output in: xml or html
|
file format to write output in: xml or html
|
||||||
|
|
||||||
The rest of the supplied arguments consist of the full paths to the
|
The rest of the supplied arguments consist of the full paths to the
|
||||||
``/src/main/java`` directories of each module within the souce tree. These
|
``/src/main/java`` directories of each module within the source tree. These
|
||||||
directories are needed and should not be forgotten.
|
directories are needed and should not be forgotten.
|
||||||
|
|
||||||
.. _`Cobertura`: http://cobertura.github.io/cobertura/
|
.. _`Cobertura`: http://cobertura.github.io/cobertura/
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
CTEST_GIT_INIT_SUBMODULES
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Specify the CTest ``GITInitSubmodules`` setting
|
||||||
|
in a :manual:`ctest(1)` dashboard client script.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue