diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-10-08 09:20:29 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-10-08 09:20:29 +0900 |
commit | e2f5ee91b89a80c7801baf3870845d7fe54b3dd7 (patch) | |
tree | cc05a38068e6be9a648de142c12aea86066a97fd /Help | |
parent | f7fbee1ce7e4f73a5a46681cf010a9ac85c3ad87 (diff) | |
download | cmake-e2f5ee91b89a80c7801baf3870845d7fe54b3dd7.tar.gz cmake-e2f5ee91b89a80c7801baf3870845d7fe54b3dd7.tar.bz2 cmake-e2f5ee91b89a80c7801baf3870845d7fe54b3dd7.zip |
Imported Upstream version 3.19.2upstream/3.19.2
Diffstat (limited to 'Help')
-rw-r--r-- | Help/command/cmake_language.rst | 17 | ||||
-rw-r--r-- | Help/command/cmake_minimum_required.rst | 3 | ||||
-rw-r--r-- | Help/envvar/CMAKE_APPLE_SILICON_PROCESSOR.rst | 13 | ||||
-rw-r--r-- | Help/manual/cmake-env-variables.7.rst | 1 | ||||
-rw-r--r-- | Help/manual/cmake-generator-expressions.7.rst | 3 | ||||
-rw-r--r-- | Help/manual/cmake-modules.7.rst | 34 | ||||
-rw-r--r-- | Help/manual/cmake-presets.7.rst | 2 | ||||
-rw-r--r-- | Help/manual/cmake-properties.7.rst | 79 | ||||
-rw-r--r-- | Help/manual/cmake-variables.7.rst | 10 | ||||
-rw-r--r-- | Help/policy/CMP0112.rst | 1 | ||||
-rw-r--r-- | Help/prop_tgt/ISPC_HEADER_SUFFIX.rst | 14 | ||||
-rw-r--r-- | Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst | 3 | ||||
-rw-r--r-- | Help/release/3.19.rst | 37 | ||||
-rw-r--r-- | Help/variable/CMAKE_APPLE_SILICON_PROCESSOR.rst | 15 | ||||
-rw-r--r-- | Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst | 33 | ||||
-rw-r--r-- | Help/variable/CMAKE_ISPC_HEADER_SUFFIX.rst | 10 | ||||
-rw-r--r-- | Help/variable/CMAKE_LANG_COMPILER_ID.rst | 2 |
17 files changed, 206 insertions, 71 deletions
diff --git a/Help/command/cmake_language.rst b/Help/command/cmake_language.rst index 40a45e3be..99f874b19 100644 --- a/Help/command/cmake_language.rst +++ b/Help/command/cmake_language.rst @@ -150,7 +150,12 @@ The currently scheduled list of deferred calls may be retrieved: cmake_language(DEFER [DIRECTORY <dir>] GET_CALL_IDS <var>) This will store in ``<var>`` a :ref:`semicolon-separated list <CMake Language -Lists>` of deferred call ids. +Lists>` of deferred call ids. The ids are for the directory scope in which +the calls have been deferred to (i.e. where they will be executed), which can +be different to the scope in which they were created. The ``DIRECTORY`` +option can be used to specify the scope for which to retrieve the call ids. +If that option is not given, the call ids for the current directory scope will +be returned. Details of a specific call may be retrieved from its id: @@ -163,8 +168,9 @@ Lists>` in which the first element is the name of the command to be called, and the remaining elements are its unevaluated arguments (any contained ``;`` characters are included literally and cannot be distinguished from multiple arguments). If multiple calls are scheduled with the same id, -this retrieves the first one. If no call is scheduled with the given id, -this stores an empty string in the variable. +this retrieves the first one. If no call is scheduled with the given id in +the specified ``DIRECTORY`` scope (or the current directory scope if no +``DIRECTORY`` option is given), this stores an empty string in the variable. Deferred calls may be canceled by their id: @@ -172,8 +178,9 @@ Deferred calls may be canceled by their id: cmake_language(DEFER [DIRECTORY <dir>] CANCEL_CALL <id>...) -This cancels all deferred calls matching any of the given ids. -Unknown ids are silently ignored. +This cancels all deferred calls matching any of the given ids in the specified +``DIRECTORY`` scope (or the current directory scope if no ``DIRECTORY`` option +is given). Unknown ids are silently ignored. Deferred Call Examples """""""""""""""""""""" diff --git a/Help/command/cmake_minimum_required.rst b/Help/command/cmake_minimum_required.rst index e6ebcf0db..f3326b832 100644 --- a/Help/command/cmake_minimum_required.rst +++ b/Help/command/cmake_minimum_required.rst @@ -22,6 +22,9 @@ dots will be seen as version component separators, resulting in the ``...<max>`` part being ignored and preserving the pre-3.12 behavior of basing policies on ``<min>``. +This command will set the value of the +:variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable to ``<min>``. + 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 with an error instead of just a warning. diff --git a/Help/envvar/CMAKE_APPLE_SILICON_PROCESSOR.rst b/Help/envvar/CMAKE_APPLE_SILICON_PROCESSOR.rst new file mode 100644 index 000000000..adecb721d --- /dev/null +++ b/Help/envvar/CMAKE_APPLE_SILICON_PROCESSOR.rst @@ -0,0 +1,13 @@ +CMAKE_APPLE_SILICON_PROCESSOR +----------------------------- + +.. versionadded:: 3.19.2 + +.. include:: ENV_VAR.txt + +On Apple Silicon hosts running macOS, set this environment variable to tell +CMake what architecture to use for :variable:`CMAKE_HOST_SYSTEM_PROCESSOR`. +The value must be either ``arm64`` or ``x86_64``. + +The :variable:`CMAKE_APPLE_SILICON_PROCESSOR` normal variable, if set, +overrides this environment variable. diff --git a/Help/manual/cmake-env-variables.7.rst b/Help/manual/cmake-env-variables.7.rst index 13e0d390b..d9cfa7ae8 100644 --- a/Help/manual/cmake-env-variables.7.rst +++ b/Help/manual/cmake-env-variables.7.rst @@ -28,6 +28,7 @@ Environment Variables that Control the Build .. toctree:: :maxdepth: 1 + /envvar/CMAKE_APPLE_SILICON_PROCESSOR /envvar/CMAKE_BUILD_PARALLEL_LEVEL /envvar/CMAKE_CONFIG_TYPE /envvar/CMAKE_EXPORT_COMPILE_COMMANDS diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst index ff9d1bf00..482b14e31 100644 --- a/Help/manual/cmake-generator-expressions.7.rst +++ b/Help/manual/cmake-generator-expressions.7.rst @@ -648,6 +648,9 @@ which is just the string ``tgt``. expression is evaluated on. ``$<TARGET_FILE_NAME:tgt>`` The ``tgt`` filename. + + Note that ``tgt`` is not added as a dependency of the target this + expression is evaluated on (see policy :policy:`CMP0112`). ``$<TARGET_FILE_DIR:tgt>`` Directory of the ``tgt`` binary file. diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst index 14af14996..431797fb9 100644 --- a/Help/manual/cmake-modules.7.rst +++ b/Help/manual/cmake-modules.7.rst @@ -19,6 +19,7 @@ These modules are loaded using the :command:`include` command. /module/AndroidTestUtilities /module/BundleUtilities /module/CheckCCompilerFlag + /module/CheckCompilerFlag /module/CheckCSourceCompiles /module/CheckCSourceRuns /module/CheckCXXCompilerFlag @@ -30,10 +31,10 @@ These modules are loaded using the :command:`include` command. /module/CheckFortranSourceCompiles /module/CheckFortranSourceRuns /module/CheckFunctionExists - /module/CheckIPOSupported /module/CheckIncludeFileCXX /module/CheckIncludeFile /module/CheckIncludeFiles + /module/CheckIPOSupported /module/CheckLanguage /module/CheckLibraryExists /module/CheckLinkerFlag @@ -45,7 +46,6 @@ These modules are loaded using the :command:`include` command. /module/CheckOBJCXXSourceRuns /module/CheckPIESupported /module/CheckPrototypeDefinition - /module/CheckCompilerFlag /module/CheckSourceCompiles /module/CheckSourceRuns /module/CheckStructHasMember @@ -64,10 +64,10 @@ These modules are loaded using the :command:`include` command. /module/CMakePrintSystemInformation /module/CMakePushCheckState /module/CMakeVerifyManifest + /module/CPack /module/CPackComponent /module/CPackIFW /module/CPackIFWConfigureFile - /module/CPack /module/CSharpUtilities /module/CTest /module/CTestCoverageCollectGCOV @@ -97,8 +97,8 @@ These modules are loaded using the :command:`include` command. /module/TestForSSTREAM /module/TestForSTDNamespace /module/UseEcos - /module/UseJavaClassFilelist /module/UseJava + /module/UseJavaClassFilelist /module/UseJavaSymlinks /module/UseSWIG /module/UsewxWidgets @@ -117,16 +117,16 @@ They are normally called through the :command:`find_package` command. /module/FindArmadillo /module/FindASPELL /module/FindAVIFile + /module/FindBacktrace /module/FindBISON /module/FindBLAS - /module/FindBacktrace /module/FindBoost /module/FindBullet /module/FindBZip2 /module/FindCABLE /module/FindCoin3D - /module/FindCups /module/FindCUDAToolkit + /module/FindCups /module/FindCURL /module/FindCurses /module/FindCVS @@ -139,8 +139,8 @@ They are normally called through the :command:`find_package` command. /module/FindEnvModules /module/FindEXPAT /module/FindFLEX - /module/FindFLTK2 /module/FindFLTK + /module/FindFLTK2 /module/FindFontconfig /module/FindFreetype /module/FindGCCXML @@ -154,17 +154,17 @@ They are normally called through the :command:`find_package` command. /module/FindGnuTLS /module/FindGSL /module/FindGTest - /module/FindGTK2 /module/FindGTK + /module/FindGTK2 /module/FindHDF5 /module/FindHg /module/FindHSPELL /module/FindHTMLHelp /module/FindIce + /module/FindIconv /module/FindIcotool /module/FindICU /module/FindImageMagick - /module/FindIconv /module/FindIntl /module/FindITK /module/FindJasper @@ -181,14 +181,14 @@ They are normally called through the :command:`find_package` command. /module/FindLibXml2 /module/FindLibXslt /module/FindLTTngUST + /module/FindLua /module/FindLua50 /module/FindLua51 - /module/FindLua /module/FindMatlab /module/FindMFC /module/FindMotif - /module/FindMPEG2 /module/FindMPEG + /module/FindMPEG2 /module/FindMPI /module/FindODBC /module/FindOpenACC @@ -199,9 +199,10 @@ They are normally called through the :command:`find_package` command. /module/FindOpenSceneGraph /module/FindOpenSSL /module/FindOpenThreads + /module/Findosg + /module/Findosg_functions /module/FindosgAnimation /module/FindosgDB - /module/Findosg_functions /module/FindosgFX /module/FindosgGA /module/FindosgIntrospection @@ -210,7 +211,6 @@ They are normally called through the :command:`find_package` command. /module/FindosgPresentation /module/FindosgProducer /module/FindosgQt - /module/Findosg /module/FindosgShadow /module/FindosgSim /module/FindosgTerrain @@ -220,8 +220,8 @@ They are normally called through the :command:`find_package` command. /module/FindosgVolume /module/FindosgWidget /module/FindPatch - /module/FindPerlLibs /module/FindPerl + /module/FindPerlLibs /module/FindPHP4 /module/FindPhysFS /module/FindPike @@ -238,10 +238,10 @@ They are normally called through the :command:`find_package` command. /module/FindQuickTime /module/FindRTI /module/FindRuby + /module/FindSDL /module/FindSDL_image /module/FindSDL_mixer /module/FindSDL_net - /module/FindSDL /module/FindSDL_sound /module/FindSDL_ttf /module/FindSelfPackers @@ -260,10 +260,10 @@ They are normally called through the :command:`find_package` command. /module/FindWget /module/FindWish /module/FindwxWidgets - /module/FindXCTest + /module/FindX11 /module/FindXalanC + /module/FindXCTest /module/FindXercesC - /module/FindX11 /module/FindXMLRPC /module/FindZLIB diff --git a/Help/manual/cmake-presets.7.rst b/Help/manual/cmake-presets.7.rst index 62c4b7c04..6f137c459 100644 --- a/Help/manual/cmake-presets.7.rst +++ b/Help/manual/cmake-presets.7.rst @@ -93,7 +93,7 @@ Format An optional array of strings representing the names of presets to inherit from. The preset will inherit all of the fields from the ``inherits`` presets by default (except ``name``, ``hidden``, ``inherits``, - ``description``, and ``longDescription``), but can override them as + ``description``, and ``displayName``), but can override them as desired. If multiple ``inherits`` presets provide conflicting values for the same field, the earlier preset in the ``inherits`` list will be preferred. Presets in ``CMakePresets.json`` may not inherit from presets diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst index cb9579e54..5c8a05a0e 100644 --- a/Help/manual/cmake-properties.7.rst +++ b/Help/manual/cmake-properties.7.rst @@ -75,8 +75,8 @@ Properties on Directories /prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM /prop_dir/INCLUDE_DIRECTORIES /prop_dir/INCLUDE_REGULAR_EXPRESSION - /prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG /prop_dir/INTERPROCEDURAL_OPTIMIZATION + /prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG /prop_dir/LABELS /prop_dir/LINK_DIRECTORIES /prop_dir/LINK_OPTIONS @@ -124,10 +124,10 @@ Properties on Targets /prop_tgt/ANDROID_SECURE_PROPS_PATH /prop_tgt/ANDROID_SKIP_ANT_STEP /prop_tgt/ANDROID_STL_TYPE - /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY - /prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG + /prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG /prop_tgt/ARCHIVE_OUTPUT_NAME + /prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG /prop_tgt/AUTOGEN_BUILD_DIR /prop_tgt/AUTOGEN_ORIGIN_DEPENDS /prop_tgt/AUTOGEN_PARALLEL @@ -151,8 +151,8 @@ Properties on Targets /prop_tgt/BUILD_RPATH_USE_ORIGIN /prop_tgt/BUILD_WITH_INSTALL_NAME_DIR /prop_tgt/BUILD_WITH_INSTALL_RPATH - /prop_tgt/BUNDLE_EXTENSION /prop_tgt/BUNDLE + /prop_tgt/BUNDLE_EXTENSION /prop_tgt/C_EXTENSIONS /prop_tgt/C_STANDARD /prop_tgt/C_STANDARD_REQUIRED @@ -173,11 +173,11 @@ Properties on Targets /prop_tgt/CONFIG_POSTFIX /prop_tgt/CROSSCOMPILING_EMULATOR /prop_tgt/CUDA_ARCHITECTURES + /prop_tgt/CUDA_EXTENSIONS /prop_tgt/CUDA_PTX_COMPILATION - /prop_tgt/CUDA_SEPARABLE_COMPILATION /prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS /prop_tgt/CUDA_RUNTIME_LIBRARY - /prop_tgt/CUDA_EXTENSIONS + /prop_tgt/CUDA_SEPARABLE_COMPILATION /prop_tgt/CUDA_STANDARD /prop_tgt/CUDA_STANDARD_REQUIRED /prop_tgt/CXX_EXTENSIONS @@ -185,8 +185,8 @@ Properties on Targets /prop_tgt/CXX_STANDARD_REQUIRED /prop_tgt/DEBUG_POSTFIX /prop_tgt/DEFINE_SYMBOL - /prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY /prop_tgt/DEPLOYMENT_ADDITIONAL_FILES + /prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY /prop_tgt/DEPRECATION /prop_tgt/DISABLE_PRECOMPILE_HEADERS /prop_tgt/DOTNET_TARGET_FRAMEWORK @@ -194,8 +194,8 @@ Properties on Targets /prop_tgt/EchoString /prop_tgt/ENABLE_EXPORTS /prop_tgt/EXCLUDE_FROM_ALL - /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD + /prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG /prop_tgt/EXPORT_NAME /prop_tgt/EXPORT_PROPERTIES /prop_tgt/FOLDER @@ -211,30 +211,30 @@ Properties on Targets /prop_tgt/GNUtoMS /prop_tgt/HAS_CXX /prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM + /prop_tgt/IMPORTED /prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME /prop_tgt/IMPORTED_CONFIGURATIONS /prop_tgt/IMPORTED_GLOBAL - /prop_tgt/IMPORTED_IMPLIB_CONFIG /prop_tgt/IMPORTED_IMPLIB - /prop_tgt/IMPORTED_LIBNAME_CONFIG + /prop_tgt/IMPORTED_IMPLIB_CONFIG /prop_tgt/IMPORTED_LIBNAME - /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG + /prop_tgt/IMPORTED_LIBNAME_CONFIG /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES - /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG + /prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES - /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG + /prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES - /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG + /prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY - /prop_tgt/IMPORTED_LOCATION_CONFIG + /prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG /prop_tgt/IMPORTED_LOCATION - /prop_tgt/IMPORTED_NO_SONAME_CONFIG + /prop_tgt/IMPORTED_LOCATION_CONFIG /prop_tgt/IMPORTED_NO_SONAME - /prop_tgt/IMPORTED_OBJECTS_CONFIG + /prop_tgt/IMPORTED_NO_SONAME_CONFIG /prop_tgt/IMPORTED_OBJECTS - /prop_tgt/IMPORTED - /prop_tgt/IMPORTED_SONAME_CONFIG + /prop_tgt/IMPORTED_OBJECTS_CONFIG /prop_tgt/IMPORTED_SONAME + /prop_tgt/IMPORTED_SONAME_CONFIG /prop_tgt/IMPORT_PREFIX /prop_tgt/IMPORT_SUFFIX /prop_tgt/INCLUDE_DIRECTORIES @@ -251,14 +251,15 @@ Properties on Targets /prop_tgt/INTERFACE_LINK_DIRECTORIES /prop_tgt/INTERFACE_LINK_LIBRARIES /prop_tgt/INTERFACE_LINK_OPTIONS - /prop_tgt/INTERFACE_PRECOMPILE_HEADERS /prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE + /prop_tgt/INTERFACE_PRECOMPILE_HEADERS /prop_tgt/INTERFACE_SOURCES /prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES - /prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG /prop_tgt/INTERPROCEDURAL_OPTIMIZATION + /prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG /prop_tgt/IOS_INSTALL_COMBINED /prop_tgt/ISPC_HEADER_DIRECTORY + /prop_tgt/ISPC_HEADER_SUFFIX /prop_tgt/ISPC_INSTRUCTION_SETS /prop_tgt/JOB_POOL_COMPILE /prop_tgt/JOB_POOL_LINK @@ -270,31 +271,31 @@ Properties on Targets /prop_tgt/LANG_CPPLINT /prop_tgt/LANG_INCLUDE_WHAT_YOU_USE /prop_tgt/LANG_VISIBILITY_PRESET - /prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG /prop_tgt/LIBRARY_OUTPUT_DIRECTORY - /prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG + /prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG /prop_tgt/LIBRARY_OUTPUT_NAME - /prop_tgt/LINK_DEPENDS_NO_SHARED + /prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG /prop_tgt/LINK_DEPENDS - /prop_tgt/LINKER_LANGUAGE + /prop_tgt/LINK_DEPENDS_NO_SHARED /prop_tgt/LINK_DIRECTORIES - /prop_tgt/LINK_FLAGS_CONFIG /prop_tgt/LINK_FLAGS - /prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG + /prop_tgt/LINK_FLAGS_CONFIG /prop_tgt/LINK_INTERFACE_LIBRARIES - /prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG + /prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG /prop_tgt/LINK_INTERFACE_MULTIPLICITY + /prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG /prop_tgt/LINK_LIBRARIES /prop_tgt/LINK_OPTIONS /prop_tgt/LINK_SEARCH_END_STATIC /prop_tgt/LINK_SEARCH_START_STATIC /prop_tgt/LINK_WHAT_YOU_USE - /prop_tgt/LOCATION_CONFIG + /prop_tgt/LINKER_LANGUAGE /prop_tgt/LOCATION + /prop_tgt/LOCATION_CONFIG /prop_tgt/MACHO_COMPATIBILITY_VERSION /prop_tgt/MACHO_CURRENT_VERSION - /prop_tgt/MACOSX_BUNDLE_INFO_PLIST /prop_tgt/MACOSX_BUNDLE + /prop_tgt/MACOSX_BUNDLE_INFO_PLIST /prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST /prop_tgt/MACOSX_RPATH /prop_tgt/MANUALLY_ADDED_DEPENDENCIES @@ -310,16 +311,16 @@ Properties on Targets /prop_tgt/OBJCXX_STANDARD /prop_tgt/OBJCXX_STANDARD_REQUIRED /prop_tgt/OPTIMIZE_DEPENDENCIES - /prop_tgt/OSX_ARCHITECTURES_CONFIG /prop_tgt/OSX_ARCHITECTURES - /prop_tgt/OUTPUT_NAME_CONFIG + /prop_tgt/OSX_ARCHITECTURES_CONFIG /prop_tgt/OUTPUT_NAME + /prop_tgt/OUTPUT_NAME_CONFIG /prop_tgt/PCH_WARN_INVALID /prop_tgt/PCH_INSTANTIATE_TEMPLATES - /prop_tgt/PDB_NAME_CONFIG /prop_tgt/PDB_NAME - /prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG + /prop_tgt/PDB_NAME_CONFIG /prop_tgt/PDB_OUTPUT_DIRECTORY + /prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG /prop_tgt/POSITION_INDEPENDENT_CODE /prop_tgt/PRECOMPILE_HEADERS /prop_tgt/PRECOMPILE_HEADERS_REUSE_FROM @@ -331,16 +332,16 @@ Properties on Targets /prop_tgt/RULE_LAUNCH_COMPILE /prop_tgt/RULE_LAUNCH_CUSTOM /prop_tgt/RULE_LAUNCH_LINK - /prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG /prop_tgt/RUNTIME_OUTPUT_DIRECTORY - /prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG + /prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG /prop_tgt/RUNTIME_OUTPUT_NAME + /prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG /prop_tgt/SKIP_BUILD_RPATH /prop_tgt/SOURCE_DIR /prop_tgt/SOURCES /prop_tgt/SOVERSION - /prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG /prop_tgt/STATIC_LIBRARY_FLAGS + /prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG /prop_tgt/STATIC_LIBRARY_OPTIONS /prop_tgt/SUFFIX /prop_tgt/Swift_DEPENDENCIES_FILE @@ -361,12 +362,12 @@ Properties on Targets /prop_tgt/VS_DEBUGGER_ENVIRONMENT /prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY /prop_tgt/VS_DESKTOP_EXTENSIONS_VERSION + /prop_tgt/VS_DOTNET_DOCUMENTATION_FILE /prop_tgt/VS_DOTNET_REFERENCE_refname /prop_tgt/VS_DOTNET_REFERENCEPROP_refname_TAG_tagname /prop_tgt/VS_DOTNET_REFERENCES /prop_tgt/VS_DOTNET_REFERENCES_COPY_LOCAL /prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION - /prop_tgt/VS_DOTNET_DOCUMENTATION_FILE /prop_tgt/VS_DPI_AWARE /prop_tgt/VS_GLOBAL_KEYWORD /prop_tgt/VS_GLOBAL_PROJECT_TYPES @@ -431,8 +432,8 @@ Properties on Tests .. toctree:: :maxdepth: 1 - /prop_test/ATTACHED_FILES_ON_FAIL /prop_test/ATTACHED_FILES + /prop_test/ATTACHED_FILES_ON_FAIL /prop_test/COST /prop_test/DEPENDS /prop_test/DISABLED diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 17d088253..56239ac73 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -27,10 +27,10 @@ Variables that Provide Information /variable/CMAKE_ARGV0 /variable/CMAKE_BINARY_DIR /variable/CMAKE_BUILD_TOOL - /variable/CMAKE_CACHEFILE_DIR /variable/CMAKE_CACHE_MAJOR_VERSION /variable/CMAKE_CACHE_MINOR_VERSION /variable/CMAKE_CACHE_PATCH_VERSION + /variable/CMAKE_CACHEFILE_DIR /variable/CMAKE_CFG_INTDIR /variable/CMAKE_COMMAND /variable/CMAKE_CPACK_COMMAND @@ -353,6 +353,7 @@ Variables that Control the Build /variable/CMAKE_ANDROID_SKIP_ANT_STEP /variable/CMAKE_ANDROID_STANDALONE_TOOLCHAIN /variable/CMAKE_ANDROID_STL_TYPE + /variable/CMAKE_APPLE_SILICON_PROCESSOR /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY /variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG /variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS @@ -378,9 +379,9 @@ Variables that Control the Build /variable/CMAKE_CONFIG_POSTFIX /variable/CMAKE_CROSS_CONFIGS /variable/CMAKE_CTEST_ARGUMENTS - /variable/CMAKE_CUDA_SEPARABLE_COMPILATION /variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS /variable/CMAKE_CUDA_RUNTIME_LIBRARY + /variable/CMAKE_CUDA_SEPARABLE_COMPILATION /variable/CMAKE_DEBUG_POSTFIX /variable/CMAKE_DEFAULT_BUILD_TYPE /variable/CMAKE_DEFAULT_CONFIGS @@ -497,8 +498,8 @@ Variables for Languages /variable/CMAKE_COMPILER_IS_GNUG77 /variable/CMAKE_CUDA_ARCHITECTURES /variable/CMAKE_CUDA_COMPILE_FEATURES - /variable/CMAKE_CUDA_HOST_COMPILER /variable/CMAKE_CUDA_EXTENSIONS + /variable/CMAKE_CUDA_HOST_COMPILER /variable/CMAKE_CUDA_STANDARD /variable/CMAKE_CUDA_STANDARD_REQUIRED /variable/CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES @@ -514,6 +515,7 @@ Variables for Languages /variable/CMAKE_Fortran_MODDIR_FLAG /variable/CMAKE_Fortran_MODOUT_FLAG /variable/CMAKE_ISPC_HEADER_DIRECTORY + /variable/CMAKE_ISPC_HEADER_SUFFIX /variable/CMAKE_ISPC_INSTRUCTION_SETS /variable/CMAKE_LANG_ANDROID_TOOLCHAIN_MACHINE /variable/CMAKE_LANG_ANDROID_TOOLCHAIN_PREFIX @@ -550,11 +552,11 @@ Variables for Languages /variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES /variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES /variable/CMAKE_LANG_LIBRARY_ARCHITECTURE + /variable/CMAKE_LANG_LINK_EXECUTABLE /variable/CMAKE_LANG_LINKER_PREFERENCE /variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES /variable/CMAKE_LANG_LINKER_WRAPPER_FLAG /variable/CMAKE_LANG_LINKER_WRAPPER_FLAG_SEP - /variable/CMAKE_LANG_LINK_EXECUTABLE /variable/CMAKE_LANG_OUTPUT_EXTENSION /variable/CMAKE_LANG_SIMULATE_ID /variable/CMAKE_LANG_SIMULATE_VERSION diff --git a/Help/policy/CMP0112.rst b/Help/policy/CMP0112.rst index 78a90552b..313a51e82 100644 --- a/Help/policy/CMP0112.rst +++ b/Help/policy/CMP0112.rst @@ -8,6 +8,7 @@ Target file component generator expressions do not add target dependencies. The following target-based generator expressions that query for directory or file name components no longer add a dependency on the evaluated target. + - ``TARGET_FILE_NAME`` - ``TARGET_FILE_DIR`` - ``TARGET_LINKER_FILE_BASE_NAME`` - ``TARGET_LINKER_FILE_NAME`` diff --git a/Help/prop_tgt/ISPC_HEADER_SUFFIX.rst b/Help/prop_tgt/ISPC_HEADER_SUFFIX.rst new file mode 100644 index 000000000..6397e554f --- /dev/null +++ b/Help/prop_tgt/ISPC_HEADER_SUFFIX.rst @@ -0,0 +1,14 @@ +ISPC_HEADER_SUFFIX +------------------ + +.. versionadded:: 3.19.2 + +Specify output suffix to be used for ISPC generated headers provided by the target. + +This property is initialized by the value of the :variable:`CMAKE_ISPC_HEADER_SUFFIX` +variable if it is set when a target is created. + +If the target contains ISPC source files, this specifies the header suffix to +be used for the generated headers. + +The default value is ``_ispc.h``. diff --git a/Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst b/Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst index 2fdf1a912..d17251f57 100644 --- a/Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst +++ b/Help/prop_tgt/OPTIMIZE_DEPENDENCIES.rst @@ -38,3 +38,6 @@ side effects that are relevant for the Fortran library. However, if you build the middle C library, the bottom Fortran library will also build, even though it does not have any side effects that are relevant to the C library, since the C library does not have optimization enabled. + +This property is initialized by the value of the +:variable:`CMAKE_OPTIMIZE_DEPENDENCIES` variable when the target is created. diff --git a/Help/release/3.19.rst b/Help/release/3.19.rst index a29dc076e..60a8eccdf 100644 --- a/Help/release/3.19.rst +++ b/Help/release/3.19.rst @@ -53,6 +53,22 @@ Languages * ``CUDA`` language support now works on QNX. +Platforms +--------- + +* Apple Silicon is now supported (since CMake 3.19.2): + + * The :variable:`CMAKE_HOST_SYSTEM_PROCESSOR` is selected using ``uname -m``. + Since this may vary based on CMake's own architecture and that of + the invoking process tree, the :variable:`CMAKE_APPLE_SILICON_PROCESSOR` + variable or :envvar:`CMAKE_APPLE_SILICON_PROCESSOR` environment + variable may be set to specify a host architecture explicitly. + + * If :variable:`CMAKE_OSX_ARCHITECTURES` is not set, CMake adds explicit + flags to tell the compiler to build for the + :variable:`CMAKE_HOST_SYSTEM_PROCESSOR` so the toolchain does not + have to guess based on the process tree's architecture. + File-Based API -------------- @@ -348,3 +364,24 @@ Changes made since CMake 3.19.0 include the following. been reverted to restore behavior from CMake 3.18 and below. * CUDA 11.1 support for Clang. + +3.19.2 +------ + +* The precompiled macOS binary provided on ``cmake.org`` is now a + universal binary with ``x86_64`` and ``arm64`` architectures. + It requires macOS 10.10 or newer. + The package file naming pattern has been changed from + ``cmake-$ver-Darwin-x86_64`` to ``cmake-$ver-macos-universal``. + +* Apple Silicon host architecture selection support was updated. + CMake 3.19.0 and 3.19.1 always chose ``arm64`` as the host architecture. + CMake 3.19.2 returns to using ``uname -m`` as CMake 3.18 and below did. + Since this may vary based on CMake's own architecture and that of + the invoking process tree, the :variable:`CMAKE_APPLE_SILICON_PROCESSOR` + variable or :envvar:`CMAKE_APPLE_SILICON_PROCESSOR` environment + variable may be set to specify a host architecture explicitly. + +* The :variable:`CMAKE_ISPC_HEADER_SUFFIX` variable and corresponding + :prop_tgt:`ISPC_HEADER_SUFFIX` target property were added to control + the header suffix used by ``ISPC`` compiler generated headers. diff --git a/Help/variable/CMAKE_APPLE_SILICON_PROCESSOR.rst b/Help/variable/CMAKE_APPLE_SILICON_PROCESSOR.rst new file mode 100644 index 000000000..ad297c3d5 --- /dev/null +++ b/Help/variable/CMAKE_APPLE_SILICON_PROCESSOR.rst @@ -0,0 +1,15 @@ +CMAKE_APPLE_SILICON_PROCESSOR +----------------------------- + +.. versionadded:: 3.19.2 + +On Apple Silicon hosts running macOS, set this variable to tell +CMake what architecture to use for :variable:`CMAKE_HOST_SYSTEM_PROCESSOR`. +The value must be either ``arm64`` or ``x86_64``. + +The value of this variable should never be modified by project code. +It is meant to be set by a toolchain file specified by the +:variable:`CMAKE_TOOLCHAIN_FILE` variable, or as a cache entry +provided by the user, e.g. via ``-DCMAKE_APPLE_SILICON_PROCESSOR=...``. + +See also the :envvar:`CMAKE_APPLE_SILICON_PROCESSOR` environment variable. diff --git a/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst b/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst index 5f08728ee..c30577967 100644 --- a/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst +++ b/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst @@ -3,13 +3,40 @@ CMAKE_HOST_SYSTEM_PROCESSOR The name of the CPU CMake is running on. +Windows Platforms +^^^^^^^^^^^^^^^^^ + On Windows, this variable is set to the value of the environment variable -``PROCESSOR_ARCHITECTURE``. On systems that support ``uname``, this variable is -set to the output of: +``PROCESSOR_ARCHITECTURE``. + +Unix Platforms +^^^^^^^^^^^^^^ + +On systems that support ``uname``, this variable is set to the output of: -- ``uname -m`` on GNU, Linux, Cygwin, Darwin, Android, or +- ``uname -m`` on GNU, Linux, Cygwin, Android, or - ``arch`` on OpenBSD, or - on other systems, * ``uname -p`` if its exit code is nonzero, or * ``uname -m`` otherwise. + +macOS Platforms +^^^^^^^^^^^^^^^ + +The value of ``uname -m`` is used by default. + +On Apple Silicon hosts, the architecture printed by ``uname -m`` may vary +based on CMake's own architecture and that of the invoking process tree. + +.. versionadded:: 3.19.2 + + On Apple Silicon hosts: + + * The :variable:`CMAKE_APPLE_SILICON_PROCESSOR` variable or + the :envvar:`CMAKE_APPLE_SILICON_PROCESSOR` environment variable + may be set to specify the host architecture explicitly. + + * If :variable:`CMAKE_OSX_ARCHITECTURES` is not set, CMake adds explicit + flags to tell the compiler to build for the host architecture so the + toolchain does not have to guess based on the process tree's architecture. diff --git a/Help/variable/CMAKE_ISPC_HEADER_SUFFIX.rst b/Help/variable/CMAKE_ISPC_HEADER_SUFFIX.rst new file mode 100644 index 000000000..c9fb70969 --- /dev/null +++ b/Help/variable/CMAKE_ISPC_HEADER_SUFFIX.rst @@ -0,0 +1,10 @@ +CMAKE_ISPC_HEADER_SUFFIX +------------------------ + +.. versionadded:: 3.19.2 + +Output suffix to be used for ISPC generated headers. + +This variable is used to initialize the :prop_tgt:`ISPC_HEADER_SUFFIX` +property on all the targets. See the target property for additional +information. diff --git a/Help/variable/CMAKE_LANG_COMPILER_ID.rst b/Help/variable/CMAKE_LANG_COMPILER_ID.rst index 99ff01500..8eb4fb612 100644 --- a/Help/variable/CMAKE_LANG_COMPILER_ID.rst +++ b/Help/variable/CMAKE_LANG_COMPILER_ID.rst @@ -25,8 +25,6 @@ include: HP = Hewlett-Packard Compiler (hp.com) IAR = IAR Systems (iar.com) Intel = Intel Compiler (intel.com) - IntelDPCPP = Intel DPCPP Compiler (intel.com) - IntelClang = Intel Clang Compiler (intel.com) MSVC = Microsoft Visual Studio (microsoft.com) NVIDIA = NVIDIA CUDA Compiler (nvidia.com) OpenWatcom = Open Watcom (openwatcom.org) |