parent
48e3d230b8
commit
31de23a867
File diff suppressed because one or more lines are too long
@ -1,25 +0,0 @@
|
||||
KDevelop3
|
||||
---------
|
||||
|
||||
Generates KDevelop 3 project files.
|
||||
|
||||
Project files for KDevelop 3 will be created in the top directory and
|
||||
in every subdirectory which features a CMakeLists.txt file containing
|
||||
a PROJECT() call. If you change the settings using KDevelop cmake
|
||||
will try its best to keep your changes when regenerating the project
|
||||
files. Additionally a hierarchy of UNIX makefiles is generated into
|
||||
the build tree. Any standard UNIX-style make program can build the
|
||||
project through the default make target. A "make install" target is
|
||||
also provided.
|
||||
|
||||
This "extra" generator may be specified as:
|
||||
|
||||
``KDevelop3 - Unix Makefiles``
|
||||
Generate with :generator:`Unix Makefiles`.
|
||||
|
||||
``KDevelop3``
|
||||
Generate with :generator:`Unix Makefiles`.
|
||||
|
||||
For historical reasons this extra generator may be specified
|
||||
directly as the main generator and it will be used as the
|
||||
extra generator with :generator:`Unix Makefiles` automatically.
|
@ -0,0 +1 @@
|
||||
.. cmake-module:: ../../Modules/FetchContent.cmake
|
@ -0,0 +1 @@
|
||||
.. cmake-module:: ../../Modules/FindIconv.cmake
|
@ -0,0 +1,26 @@
|
||||
CMP0072
|
||||
-------
|
||||
|
||||
:module:`FindOpenGL` prefers GLVND by default when available.
|
||||
|
||||
The :module:`FindOpenGL` module provides an ``OpenGL::GL`` target and an
|
||||
``OPENGL_LIBRARIES`` variable for projects to use for legacy GL interfaces.
|
||||
When both a legacy GL library (e.g. ``libGL.so``) and GLVND libraries
|
||||
for OpenGL and GLX (e.g. ``libOpenGL.so`` and ``libGLX.so``) are available,
|
||||
the module must choose between them. It documents an ``OpenGL_GL_PREFERENCE``
|
||||
variable that can be used to specify an explicit preference. When no such
|
||||
preference is set, the module must choose a default preference.
|
||||
|
||||
CMake 3.11 and above prefer to choose GLVND libraries. This policy provides
|
||||
compatibility with projects that expect the legacy GL library to be used.
|
||||
|
||||
The ``OLD`` behavior for this policy is to set ``OpenGL_GL_PREFERENCE`` to
|
||||
``LEGACY``. The ``NEW`` behavior for this policy is to set
|
||||
``OpenGL_GL_PREFERENCE`` to ``GLVND``.
|
||||
|
||||
This policy was introduced in CMake version 3.11. CMake version
|
||||
|release| warns when the policy is not set and uses ``OLD`` behavior.
|
||||
Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
|
||||
explicitly.
|
||||
|
||||
.. include:: DEPRECATED.txt
|
@ -0,0 +1,17 @@
|
||||
COMPILE_OPTIONS
|
||||
---------------
|
||||
|
||||
List of additional options to pass to the compiler.
|
||||
|
||||
This property holds a :ref:`;-list <CMake Language Lists>` of options
|
||||
and will be added to the list of compile flags when this
|
||||
source file builds. Use :prop_sf:`COMPILE_DEFINITIONS` to pass
|
||||
additional preprocessor definitions and :prop_sf:`INCLUDE_DIRECTORIES` to pass
|
||||
additional include directories.
|
||||
|
||||
Contents of ``COMPILE_OPTIONS`` may use "generator expressions" with the
|
||||
syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual
|
||||
for available expressions. However, :generator:`Xcode`
|
||||
does not support per-config per-source settings, so expressions
|
||||
that depend on the build configuration are not allowed with that
|
||||
generator.
|
@ -1,8 +1,23 @@
|
||||
GENERATED
|
||||
---------
|
||||
|
||||
Is this source file generated as part of the build process.
|
||||
Is this source file generated as part of the build or CMake process.
|
||||
|
||||
If a source file is generated by the build process CMake will handle
|
||||
it differently in terms of dependency checking etc. Otherwise having
|
||||
a non-existent source file could create problems.
|
||||
Tells the internal CMake engine that a source file is generated by an outside
|
||||
process such as another build step, or the execution of CMake itself. This
|
||||
information is then used to exempt the file from any existence or validity
|
||||
checks. Generated files are created by the execution of commands such as
|
||||
:command:`add_custom_command` and :command:`file(GENERATE)`.
|
||||
|
||||
When a generated file created by an :command:`add_custom_command` command
|
||||
is explicitly listed as a source file for any target in the same
|
||||
directory scope (which usually means the same ``CMakeLists.txt`` file),
|
||||
CMake will automatically create a dependency to make sure the file is
|
||||
generated before building that target.
|
||||
|
||||
Generated sources may be hidden in some IDE tools, while in others they might
|
||||
be shown. For the special case of sources generated by CMake's :prop_tgt:`AUTOMOC`
|
||||
or :prop_tgt:`AUTORCC` functionality, the :prop_gbl:`AUTOGEN_SOURCE_GROUP`,
|
||||
:prop_gbl:`AUTOMOC_SOURCE_GROUP` and :prop_gbl:`AUTORCC_SOURCE_GROUP` target
|
||||
properties may influence where the generated sources are grouped in the project's
|
||||
file lists.
|
||||
|
@ -0,0 +1,18 @@
|
||||
INCLUDE_DIRECTORIES
|
||||
-------------------
|
||||
|
||||
List of preprocessor include file search directories.
|
||||
|
||||
This property holds a :ref:`;-list <CMake Language Lists>` of paths
|
||||
and will be added to the list of include directories when this
|
||||
source file builds. These directories will take precedence over directories
|
||||
defined at target level except for :generator:`Xcode` generator due to technical
|
||||
limitations.
|
||||
|
||||
Relative paths should not be added to this property directly.
|
||||
|
||||
Contents of ``INCLUDE_DIRECTORIES`` may use "generator expressions" with
|
||||
the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual
|
||||
for available expressions. However, :generator:`Xcode` does not support
|
||||
per-config per-source settings, so expressions that depend on the build
|
||||
configuration are not allowed with that generator.
|
@ -0,0 +1,6 @@
|
||||
VS_SHADER_DISABLE_OPTIMIZATIONS
|
||||
-------------------------------
|
||||
|
||||
Disable compiler optimizations for an ``.hlsl`` source file. This adds the
|
||||
``-Od`` flag to the command line for the FxCompiler tool. Specify the value
|
||||
``true`` for this property to disable compiler optimizations.
|
@ -0,0 +1,6 @@
|
||||
VS_SHADER_ENABLE_DEBUG
|
||||
----------------------
|
||||
|
||||
Enable debugging information for an ``.hlsl`` source file. This adds the
|
||||
``-Zi`` flag to the command line for the FxCompiler tool. Specify the value
|
||||
``true`` to generate debugging information for the compiled shader.
|
@ -0,0 +1,21 @@
|
||||
AUTOGEN_PARALLEL
|
||||
----------------
|
||||
|
||||
Number of parallel ``moc`` or ``uic`` processes to start when using
|
||||
:prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
|
||||
|
||||
The custom `<origin>_autogen` target starts a number of threads of which
|
||||
each one parses a source file and on demand starts a ``moc`` or ``uic``
|
||||
process. :prop_tgt:`AUTOGEN_PARALLEL` controls how many parallel threads
|
||||
(and therefore ``moc`` or ``uic`` processes) are started.
|
||||
|
||||
- An empty (or unset) value or the string ``AUTO`` sets the number of
|
||||
threads/processes to the number of physical CPUs on the host system.
|
||||
- A positive non zero integer value sets the exact thread/process count.
|
||||
- Otherwise a single thread/process is started.
|
||||
|
||||
By default :prop_tgt:`AUTOGEN_PARALLEL` is initialized from
|
||||
:variable:`CMAKE_AUTOGEN_PARALLEL`.
|
||||
|
||||
See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
||||
with Qt.
|
@ -0,0 +1,22 @@
|
||||
IMPORTED_GLOBAL
|
||||
---------------
|
||||
|
||||
Indication of whether an :ref:`IMPORTED target <Imported Targets>` is
|
||||
globally visible.
|
||||
|
||||
The boolean value of this property is True for targets created with the
|
||||
``IMPORTED`` ``GLOBAL`` options to :command:`add_executable()` or
|
||||
:command:`add_library()`. It is always False for targets built within the
|
||||
project.
|
||||
|
||||
For targets created with the ``IMPORTED`` option to
|
||||
:command:`add_executable()` or :command:`add_library()` but without the
|
||||
additional option ``GLOBAL`` this is False, too. However, setting this
|
||||
property for such a locally ``IMPORTED`` target to True promotes that
|
||||
target to global scope. This promotion can only be done in the same
|
||||
directory where that ``IMPORTED`` target was created in the first place.
|
||||
|
||||
Once an imported target has been made global, it cannot be changed back to
|
||||
non-global. Therefore, if a project sets this property, it may only
|
||||
provide a value of True. CMake will issue an error if the project tries to
|
||||
set the property to a non-True value, even if the value was already False.
|
@ -0,0 +1,285 @@
|
||||
CMake 3.11 Release Notes
|
||||
************************
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. contents::
|
||||
|
||||
Changes made since CMake 3.10 include the following.
|
||||
|
||||
New Features
|
||||
============
|
||||
|
||||
Platforms
|
||||
---------
|
||||
|
||||
* TI C/C++ compilers are now supported by the :generator:`Ninja` generator.
|
||||
|
||||
Generators
|
||||
----------
|
||||
|
||||
* The :generator:`CodeBlocks` extra generator learned to check a
|
||||
:variable:`CMAKE_CODEBLOCKS_COMPILER_ID` variable for a custom
|
||||
compiler identification value to place in the project file.
|
||||
|
||||
* The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned
|
||||
to add compiler launcher tools along with the compiler for the ``Fortran``
|
||||
language (``C``, ``CXX``, and ``CUDA`` were supported previously).
|
||||
See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and
|
||||
:prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details.
|
||||
|
||||
* :ref:`Visual Studio Generators` learned to support the ``COMPILE_LANGUAGE``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` in
|
||||
target-wide :prop_tgt:`COMPILE_DEFINITIONS`,
|
||||
:prop_tgt:`INCLUDE_DIRECTORIES`, :prop_tgt:`COMPILE_OPTIONS`, and
|
||||
:command:`file(GENERATE)`. See generator expression documentation
|
||||
for caveats.
|
||||
|
||||
* The :generator:`Xcode` generator learned to support the ``COMPILE_LANGUAGE``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` in
|
||||
target-wide :prop_tgt:`COMPILE_DEFINITIONS` and
|
||||
:prop_tgt:`INCLUDE_DIRECTORIES`. It previously supported only
|
||||
:prop_tgt:`COMPILE_OPTIONS` and :command:`file(GENERATE)`.
|
||||
See generator expression documentation for caveats.
|
||||
|
||||
Commands
|
||||
--------
|
||||
|
||||
* :command:`add_library` and :command:`add_executable` commands can now be
|
||||
called without any sources and will not complain as long as sources are
|
||||
added later via the :command:`target_sources` command.
|
||||
|
||||
* The :command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands
|
||||
gained ``NETRC`` and ``NETRC_FILE`` options to specify use of a
|
||||
``.netrc`` file.
|
||||
|
||||
* The :command:`target_compile_definitions` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` property on
|
||||
:ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_compile_features` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_FEATURES` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_compile_options` command learned to set the
|
||||
:prop_tgt:`INTERFACE_COMPILE_OPTIONS` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_include_directories` command learned to set the
|
||||
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` property on
|
||||
:ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_sources` command learned to set the
|
||||
:prop_tgt:`INTERFACE_SOURCES` property on :ref:`Imported Targets`.
|
||||
|
||||
* The :command:`target_link_libraries` command learned to set the
|
||||
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property on :ref:`Imported Targets`.
|
||||
|
||||
Variables
|
||||
---------
|
||||
|
||||
* A :variable:`CMAKE_GENERATOR_INSTANCE` variable was introduced
|
||||
to hold the selected instance of the generator's corresponding
|
||||
native tools if multiple are available. This is used by the
|
||||
:generator:`Visual Studio 15 2017` generator to hold the
|
||||
selected instance of Visual Studio persistently.
|
||||
|
||||
* A :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
|
||||
to enable setting of default permissions for directories created implicitly
|
||||
during installation of files by :command:`install` and
|
||||
:command:`file(INSTALL)`, e.g. during ``make install``.
|
||||
|
||||
* A :variable:`CMAKE_JOB_POOLS` variable was added specify a value to use for
|
||||
the :prop_gbl:`JOB_POOLS` property. This enables control over build
|
||||
parallelism with command line configuration parameters when using the Ninja
|
||||
generator.
|
||||
|
||||
* The :variable:`CMAKE_NETRC` and :variable:`CMAKE_NETRC_FILE` variables
|
||||
were added to specify use of a ``.netrc`` file by the
|
||||
:command:`file(DOWNLOAD)` and :command:`file(UPLOAD)` commands and
|
||||
the :module:`ExternalProject` module.
|
||||
|
||||
* A :variable:`CMAKE_CUDA_SEPARABLE_COMPILATION` variable was added to
|
||||
initialize the :prop_tgt:`CUDA_SEPARABLE_COMPILATION` target property
|
||||
on targets when they are created.
|
||||
|
||||
Properties
|
||||
----------
|
||||
|
||||
* The :prop_sf:`COMPILE_DEFINITIONS` source file property learned to support
|
||||
:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
||||
|
||||
* A :prop_sf:`COMPILE_OPTIONS` source file property was added to manage list
|
||||
of options to pass to the compiler.
|
||||
|
||||
* An :prop_tgt:`IMPORTED_GLOBAL` target property was added to indicate
|
||||
whether an :ref:`IMPORTED target <Imported Targets>` is globally visible.
|
||||
It is automatically set to a true value for targets created with the
|
||||
``GLOBAL`` option to :command:`add_library` or :command:`add_executable`.
|
||||
Additionally, project code may now *promote* a local imported target
|
||||
to be globally visible by setting this property to ``TRUE``.
|
||||
|
||||
* An :prop_sf:`INCLUDE_DIRECTORIES` source file property was added to specify
|
||||
list of preprocessor include file search directories.
|
||||
|
||||
* Source file properties :prop_sf:`VS_SHADER_DISABLE_OPTIMIZATIONS` and
|
||||
:prop_sf:`VS_SHADER_ENABLE_DEBUG` have been added to specify more
|
||||
details of ``.hlsl`` sources with :ref:`Visual Studio Generators`.
|
||||
|
||||
Modules
|
||||
-------
|
||||
|
||||
* The :module:`CheckIncludeFiles` module :command:`CHECK_INCLUDE_FILES`
|
||||
command gained a ``LANGUAGE`` option to specify whether to check using the
|
||||
``C`` or ``CXX`` compiler.
|
||||
|
||||
* The :module:`CMakePackageConfigHelpers` module
|
||||
:command:`write_basic_package_version_file` command learned a new
|
||||
``SameMinorVersion`` mode for the ``COMPATIBILITY`` argument.
|
||||
|
||||
* The :module:`ExternalProject` module learned to substitute ``<DOWNLOAD_DIR>``
|
||||
in comments, commands, working directory and byproducts.
|
||||
|
||||
* The :module:`ExternalProject` module gained ``NETRC`` and ``NETRC_FILE``
|
||||
options to specify use of a ``.netrc`` file.
|
||||
|
||||
* A new :module:`FetchContent` module was added which supports populating
|
||||
content at configure time using any of the download/update methods
|
||||
supported by :command:`ExternalProject_Add`. This allows the content
|
||||
to be used immediately during the configure stage, such as with
|
||||
:command:`add_subdirectory`, etc. Hierarchical project structures are
|
||||
well supported, allowing parent projects to override the content details
|
||||
of child projects and ensuring content is not populated multiple times
|
||||
throughout the whole project tree.
|
||||
|
||||
* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support
|
||||
`FLAME`_ ``blis`` and ``libflame``.
|
||||
|
||||
* The :module:`FindDoxygen` module :command:`doxygen_add_docs` function
|
||||
now supports a new ``DOXYGEN_VERBATIM_VARS`` list variable. Any
|
||||
``DOXYGEN_...`` variable contained in that list will bypass the automatic
|
||||
quoting logic, leaving its contents untouched when transferring them to the
|
||||
output ``Doxyfile``.
|
||||
|
||||
* A :module:`FindIconv` module was added to locate iconv support.
|
||||
|
||||
* The :module:`GenerateExportHeader` module ``GENERATE_EXPORT_HEADER`` command
|
||||
gained an ``INCLUDE_GUARD_NAME`` option to change the name of the include
|
||||
guard symbol written to the generated export header.
|
||||
Additionally, it now adds a comment after the closing ``#endif`` on the
|
||||
generated export header's include guard.
|
||||
|
||||
* The :module:`UseJava` module ``add_jar`` command gained a
|
||||
``GENERATE_NATIVE_HEADERS`` option to generate native header files
|
||||
using ``javac -h`` for ``javac`` 1.8 or above. This supersedes
|
||||
``create_javah``, which no longer works with JDK 1.10 and above due
|
||||
to removal of the ``javah`` tool by `JEP 313`_.
|
||||
|
||||
.. _`FLAME`: https://github.com/flame
|
||||
.. _`JEP 313`: http://openjdk.java.net/jeps/313
|
||||
|
||||
Autogen
|
||||
-------
|
||||
|
||||
* When using :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC`, CMake now starts
|
||||
multiple parallel ``moc`` or ``uic`` processes to reduce the build time.
|
||||
A new :variable:`CMAKE_AUTOGEN_PARALLEL` variable and
|
||||
:prop_tgt:`AUTOGEN_PARALLEL` target property may be set to specify the
|
||||
number of parallel ``moc`` or ``uic`` processes to start. The default
|
||||
is derived from the number of CPUs on the host.
|
||||
|
||||
CTest
|
||||
-----
|
||||
|
||||
* The :command:`ctest_start` command no longer sets
|
||||
:variable:`CTEST_RUN_CURRENT_SCRIPT` due to issues with scoping if it is
|
||||
called from inside a function. Instead, it sets an internal variable in
|
||||
CTest. However, setting :variable:`CTEST_RUN_CURRENT_SCRIPT` to 0 at the
|
||||
global scope still prevents the script from being re-run at the end.
|
||||
|
||||
CPack
|
||||
-----
|
||||
|
||||
* :manual:`cpack(1)` gained ``--trace`` and ``--trace-expand`` options.
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
:variable:`CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR` variable to control
|
||||
if the target directory should not be deleted when uninstalling.
|
||||
|
||||
* The :module:`CPackRPM` module learned to enable enforcing of execute
|
||||
privileges on programs and shared libraries.
|
||||
See :variable:`CPACK_RPM_INSTALL_WITH_EXEC` variable.
|
||||
|
||||
* A :variable:`CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable was added
|
||||
which serves the same purpose during packaging (e.g. ``make package``) as the
|
||||
:variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS` variable serves during
|
||||
installation (e.g. ``make install``).
|
||||
|
||||
Other
|
||||
-----
|
||||
|
||||
* :ref:`Alias Targets` may now alias :ref:`Imported Targets` that are
|
||||
created with the ``GLOBAL`` option to :command:`add_library`.
|
||||
|
||||
* :ref:`Interface Libraries` may now have custom properties set on them if
|
||||
they start with either an underscore (``_``) or a lowercase ASCII character.
|
||||
The original intention was to only allow properties which made sense for
|
||||
``INTERFACE`` libraries, but it also blocked usage of custom properties.
|
||||
|
||||
* The :manual:`cmake(1)` ``--open <dir>`` command-line option was added
|
||||
to open generated IDE projects like Visual Studio solutions or Xcode
|
||||
projects.
|
||||
|
||||
Deprecated and Removed Features
|
||||
===============================
|
||||
|
||||
* An explicit deprecation diagnostic was added for policies ``CMP0037``
|
||||
through ``CMP0054`` (``CMP0036`` and below were already deprecated).
|
||||
The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
|
||||
of all policies are deprecated and that projects should port to the
|
||||
NEW behaviors.
|
||||
|
||||
* The ``KDevelop3`` generator has been removed.
|
||||
|
||||
Other Changes
|
||||
=============
|
||||
|
||||
* Policy :policy:`CMP0037` no longer reserves target names associated
|
||||
with optional features, such as ``test`` and ``package``, unless
|
||||
the corresponding feature is enabled.
|
||||
|
||||
* The :module:`FindOpenGL` module now prefers GLVND libraries if available.
|
||||
See policy :policy:`CMP0072`.
|
||||
|
||||
* The minimum deployment target set in the
|
||||
:variable:`CMAKE_OSX_DEPLOYMENT_TARGET` variable used to be only
|
||||
applied for macOS regardless of the selected SDK. It is now properly
|
||||
set for the target platform selected by :variable:`CMAKE_OSX_SYSROOT`.
|
||||
For example, if the sysroot variable specifies an iOS SDK then the
|
||||
value in ``CMAKE_OSX_DEPLOYMENT_TARGET`` is interpreted as minimum
|
||||
iOS version.
|
||||
|
||||
* The :generator:`Xcode` generator behavior of generating one project
|
||||
file per :command:`project()` command may now be controlled with the
|
||||
:variable:`CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY` variable.
|
||||
This could be useful to speed up the CMake generation step for
|
||||
large projects and to work-around a bug in the ``ZERO_CHECK`` logic.
|
||||
|
||||
* Since the ``CMakeCache.txt`` format does not support newlines in values,
|
||||
values containing newlines are now truncated before writing to the file.
|
||||
In addition, a warning comment is written to the cache file, and a warning
|
||||
message is displayed to the user on the console.
|
||||
|
||||
Updates
|
||||
=======
|
||||
|
||||
Changes made since CMake 3.11.0 include the following.
|
||||
|
||||
3.11.1
|
||||
------
|
||||
|
||||
* The :module:`CheckIncludeFile` module ``check_include_file`` macro,
|
||||
:module:`CheckIncludeFileCXX` module ``check_include_file_cxx`` macro,
|
||||
and :module:`CheckIncludeFiles` module ``check_include_files`` macro
|
||||
were taught to honor the ``CMAKE_REQUIRED_LIBRARIES`` variable in
|
||||
CMake 3.11.0. This has been reverted due to changing behavior of
|
||||
checks for existing projects. It may be restored in the future
|
||||
with a policy for compatibility.
|
@ -0,0 +1,10 @@
|
||||
CMAKE_AUTOGEN_PARALLEL
|
||||
----------------------
|
||||
|
||||
Number of parallel ``moc`` or ``uic`` processes to start when using
|
||||
:prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC`.
|
||||
|
||||
This variable is used to initialize the :prop_tgt:`AUTOGEN_PARALLEL` property
|
||||
on all the targets. See that target property for additional information.
|
||||
|
||||
By default :variable:`CMAKE_AUTOGEN_PARALLEL` is unset.
|
@ -0,0 +1,13 @@
|
||||
CMAKE_CODEBLOCKS_COMPILER_ID
|
||||
----------------------------
|
||||
|
||||
Change the compiler id in the generated CodeBlocks project files.
|
||||
|
||||
CodeBlocks uses its own compiler id string which differs from
|
||||
:variable:`CMAKE_<LANG>_COMPILER_ID`. If this variable is left empty,
|
||||
CMake tries to recognize the CodeBlocks compiler id automatically.
|
||||
Otherwise the specified string is used in the CodeBlocks project file.
|
||||
See the CodeBlocks documentation for valid compiler id strings.
|
||||
|
||||
Other IDEs like QtCreator that also use the CodeBlocks generator may ignore
|
||||
this setting.
|
@ -1,8 +1,26 @@
|
||||
CMAKE_CROSSCOMPILING
|
||||
--------------------
|
||||
|
||||
Is CMake currently cross compiling.
|
||||
Intended to indicate whether CMake is cross compiling, but note limitations
|
||||
discussed below.
|
||||
|
||||
This variable will be set to true by CMake if CMake is cross
|
||||
compiling. Specifically if the build platform is different from the
|
||||
target platform.
|
||||
This variable will be set to true by CMake if the :variable:`CMAKE_SYSTEM_NAME`
|
||||
variable has been set manually (i.e. in a toolchain file or as a cache entry
|
||||
from the :manual:`cmake <cmake(1)>` command line). In most cases, manually
|
||||
setting :variable:`CMAKE_SYSTEM_NAME` will only be done when cross compiling,
|
||||
since it will otherwise be given the same value as
|
||||
:variable:`CMAKE_HOST_SYSTEM_NAME` if not manually set, which is correct for
|
||||
the non-cross-compiling case. In the event that :variable:`CMAKE_SYSTEM_NAME`
|
||||
is manually set to the same value as :variable:`CMAKE_HOST_SYSTEM_NAME`, then
|
||||
``CMAKE_CROSSCOMPILING`` will still be set to true.
|
||||
|
||||
Another case to be aware of is that builds targeting Apple platforms other than
|
||||
macOS are handled differently to other cross compiling scenarios. Rather than
|
||||
relying on :variable:`CMAKE_SYSTEM_NAME` to select the target platform, Apple
|
||||
device builds use :variable:`CMAKE_OSX_SYSROOT` to select the appropriate SDK,
|
||||
which indirectly determines the target platform. Furthermore, when using the
|
||||
Xcode generator, developers can switch between device and simulator builds at
|
||||
build time rather than having a single choice at configure time, so the concept
|
||||
of whether the build is cross compiling or not is more complex. Therefore, the
|
||||
use of ``CMAKE_CROSSCOMPILING`` is not recommended for projects targeting Apple
|
||||
devices.
|
||||
|
@ -0,0 +1,6 @@
|
||||
CMAKE_CUDA_SEPARABLE_COMPILATION
|
||||
--------------------------------
|
||||
|
||||
Default value for :prop_tgt:`CUDA_SEPARABLE_COMPILATION` target property.
|
||||
This variable is used to initialize the property on each target as it is
|
||||
created.
|
@ -0,0 +1,24 @@
|
||||
CMAKE_GENERATOR_INSTANCE
|
||||
------------------------
|
||||
|
||||
Generator-specific instance specification provided by user.
|
||||
|
||||
Some CMake generators support selection of an instance of the native build
|
||||
system when multiple instances are available. If the user specifies an
|
||||
instance (e.g. by setting this cache entry), or after a default instance is
|
||||
chosen when a build tree is first configured, the value will be available in
|
||||
this variable.
|
||||
|
||||
The value of this variable should never be modified by project code.
|
||||
A toolchain file specified by the :variable:`CMAKE_TOOLCHAIN_FILE`
|
||||
variable may initialize ``CMAKE_GENERATOR_INSTANCE`` as a cache entry.
|
||||
Once a given build tree has been initialized with a particular value
|
||||
for this variable, changing the value has undefined behavior.
|
||||
|
||||
Instance specification is supported only on specific generators:
|
||||
|
||||
* For the :generator:`Visual Studio 15 2017` generator (and above)
|
||||
this specifies the absolute path to the VS installation directory
|
||||
of the selected VS instance.
|
||||
|
||||
See native build system documentation for allowed instance values.
|
@ -0,0 +1,29 @@
|
||||
CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
||||
-------------------------------------------
|
||||
|
||||
Default permissions for directories created implicitly during installation
|
||||
of files by :command:`install` and :command:`file(INSTALL)`.
|
||||
|
||||
If ``make install`` is invoked and directories are implicitly created they
|
||||
get permissions set by :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS`
|
||||
variable or platform specific default permissions if the variable is not set.
|
||||
|
||||
Implicitly created directories are created if they are not explicitly installed
|
||||
by :command:`install` command but are needed to install a file on a certain
|
||||
path. Example of such locations are directories created due to the setting of
|
||||
:variable:`CMAKE_INSTALL_PREFIX`.
|
||||
|
||||
Expected content of the :variable:`CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS`
|
||||
variable is a list of permissions that can be used by :command:`install` command
|
||||
`PERMISSIONS` section.
|
||||
|
||||
Example usage:
|
||||
|
||||
::
|
||||
|
||||
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
||||
OWNER_READ
|
||||
OWNER_WRITE
|
||||
OWNER_EXECUTE
|
||||
GROUP_READ
|
||||
)
|
@ -0,0 +1,6 @@
|
||||
CMAKE_JOB_POOLS
|
||||
---------------
|
||||
|
||||
If the :prop_gbl:`JOB_POOLS` global property is not set, the value
|
||||
of this variable is used in its place. See :prop_gbl:`JOB_POOLS`
|
||||
for additional information.
|
@ -0,0 +1,4 @@
|
||||
CMAKE_<LANG>_FLAGS_<CONFIG>
|
||||
---------------------------
|
||||
|
||||
Flags for language ``<LANG>`` when building for the ``<CONFIG>`` configuration.
|
@ -0,0 +1,10 @@
|
||||
CMAKE_<LANG>_FLAGS_<CONFIG>_INIT
|
||||
--------------------------------
|
||||
|
||||
Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_<CONFIG>` cache
|
||||
entry the first time a build tree is configured for language ``<LANG>``.
|
||||
This variable is meant to be set by a :variable:`toolchain file
|
||||
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||
the value based on the environment and target platform.
|
||||
|
||||
See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
|
@ -1,6 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_DEBUG
|
||||
------------------------
|
||||
|
||||
Flags for ``Debug`` build type or configuration.
|
||||
|
||||
``<LANG>`` flags used when :variable:`CMAKE_BUILD_TYPE` is ``Debug``.
|
||||
This variable is the ``Debug`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>` variable.
|
||||
|
@ -1,10 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_DEBUG_INIT
|
||||
-----------------------------
|
||||
|
||||
Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_DEBUG` cache
|
||||
entry the first time a build tree is configured for language ``<LANG>``.
|
||||
This variable is meant to be set by a :variable:`toolchain file
|
||||
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||
the value based on the environment and target platform.
|
||||
|
||||
See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
|
||||
This variable is the ``Debug`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>_INIT` variable.
|
||||
|
@ -1,7 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_MINSIZEREL
|
||||
-----------------------------
|
||||
|
||||
Flags for ``MinSizeRel`` build type or configuration.
|
||||
|
||||
``<LANG>`` flags used when :variable:`CMAKE_BUILD_TYPE` is ``MinSizeRel``
|
||||
(short for minimum size release).
|
||||
This variable is the ``MinSizeRel`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>` variable.
|
||||
|
@ -1,10 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT
|
||||
----------------------------------
|
||||
|
||||
Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_MINSIZEREL`
|
||||
cache entry the first time a build tree is configured for language ``<LANG>``.
|
||||
This variable is meant to be set by a :variable:`toolchain file
|
||||
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||
the value based on the environment and target platform.
|
||||
|
||||
See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
|
||||
This variable is the ``MinSizeRel`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>_INIT` variable.
|
||||
|
@ -1,6 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_RELEASE
|
||||
--------------------------
|
||||
|
||||
Flags for ``Release`` build type or configuration.
|
||||
|
||||
``<LANG>`` flags used when :variable:`CMAKE_BUILD_TYPE` is ``Release``.
|
||||
This variable is the ``Release`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>` variable.
|
||||
|
@ -1,10 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_RELEASE_INIT
|
||||
-------------------------------
|
||||
|
||||
Value used to initialize the :variable:`CMAKE_<LANG>_FLAGS_RELEASE`
|
||||
cache entry the first time a build tree is configured for language ``<LANG>``.
|
||||
This variable is meant to be set by a :variable:`toolchain file
|
||||
<CMAKE_TOOLCHAIN_FILE>`. CMake may prepend or append content to
|
||||
the value based on the environment and target platform.
|
||||
|
||||
See also :variable:`CMAKE_<LANG>_FLAGS_INIT`.
|
||||
This variable is the ``Release`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>_INIT` variable.
|
||||
|
@ -1,7 +1,5 @@
|
||||
CMAKE_<LANG>_FLAGS_RELWITHDEBINFO
|
||||
---------------------------------
|
||||
|
||||
Flags for ``RelWithDebInfo`` type or configuration.
|
||||
|
||||
``<LANG>`` flags used when :variable:`CMAKE_BUILD_TYPE` is ``RelWithDebInfo``
|
||||
(short for Release With Debug Information).
|
||||
This variable is the ``RelWithDebInfo`` variant of the
|
||||
:variable:`CMAKE_<LANG>_FLAGS_<CONFIG>` variable.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue