summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab/ci/configure_fedora38_ninja_clang.cmake2
-rw-r--r--.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake2
-rw-r--r--.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake2
-rw-r--r--.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake2
-rw-r--r--.gitlab/ci/configure_windows_clang_ninja.cmake2
-rw-r--r--.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake2
-rw-r--r--Auxiliary/vim/cmake.vim.in6
-rwxr-xr-xAuxiliary/vim/extract-upper-case.pl6
-rw-r--r--Auxiliary/vim/syntax/cmake.vim944
-rw-r--r--Help/dev/experimental.rst2
-rw-r--r--Help/manual/cmake-generator-expressions.7.rst172
-rw-r--r--Help/manual/cmake-toolchains.7.rst25
-rw-r--r--Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst4
-rw-r--r--Help/prop_tgt/IMPORTED_OBJECTS.rst2
-rw-r--r--Help/release/3.14.rst3
-rw-r--r--Help/release/3.27.rst6
-rw-r--r--Help/release/dev/apple-visionos.rst7
-rw-r--r--Help/variable/APPLE.rst2
-rw-r--r--Help/variable/CMAKE_MACOSX_BUNDLE.rst2
-rw-r--r--Help/variable/CMAKE_OSX_VARIABLE.txt2
-rw-r--r--Modules/CMakeDetermineCompilerId.cmake1
-rw-r--r--Modules/CMakeSwiftInformation.cmake6
-rw-r--r--Modules/CMakeSystemSpecificInitialize.cmake2
-rw-r--r--Modules/Platform/Android.cmake2
-rw-r--r--Modules/Platform/Apple-Clang.cmake4
-rw-r--r--Modules/Platform/Darwin-Initialize.cmake4
-rw-r--r--Modules/Platform/Darwin.cmake2
-rw-r--r--Modules/Platform/visionOS-Determine-CXX.cmake1
-rw-r--r--Modules/Platform/visionOS-Initialize.cmake7
-rw-r--r--Modules/Platform/visionOS.cmake1
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/cmCxxModuleMapper.cxx105
-rw-r--r--Source/cmDebuggerBreakpointManager.cxx21
-rw-r--r--Source/cmDebuggerBreakpointManager.h2
-rw-r--r--Source/cmDebuggerVariables.cxx39
-rw-r--r--Source/cmExperimental.cxx2
-rw-r--r--Source/cmGeneratorExpressionNode.cxx4
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx3
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx4
-rw-r--r--Source/cmList.h13
-rw-r--r--Source/cmLocalXCodeGenerator.cxx6
-rw-r--r--Source/cmMakefile.cxx2
-rw-r--r--Source/cmMakefile.h2
-rw-r--r--Source/cmNinjaTargetGenerator.cxx28
-rw-r--r--Source/cmWorkerPool.cxx2
-rw-r--r--Tests/CMakeLib/CMakeLists.txt2
-rw-r--r--Tests/CMakeLib/testDebugger.h12
-rw-r--r--Tests/CMakeLib/testDebuggerBreakpointManager.cxx13
-rw-r--r--Tests/CMakeLib/testDebuggerVariables.cxx29
-rw-r--r--Tests/CMakeLib/testDebuggerVariablesHelper.cxx1
-rw-r--r--Tests/RunCMake/CXXModules/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CXXModules/RunCMakeTest.cmake5
-rw-r--r--Tests/RunCMake/CXXModules/examples/cxx-modules-rules.cmake2
-rw-r--r--Tests/RunCMake/CXXModules/examples/deep-chain-stderr.txt2
-rw-r--r--Tests/RunCMake/CXXModules/examples/deep-chain/CMakeLists.txt8
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/test/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/test/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-compile-commands-check.cmake25
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-compile-commands-stderr.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-compile-commands/CMakeLists.txt20
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-compile-commands/importable.cxx6
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-compile-commands/main.cxx6
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-build/test/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-install/test/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/test/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/test/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element-check.cmake6
-rw-r--r--Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element.cmake3
-rw-r--r--Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/XcodeProject-Device/DeploymentTarget.c4
-rw-r--r--Tests/RunCMake/XcodeProject-Device/DeploymentTarget.cmake6
-rw-r--r--Tests/RunCMake/XcodeProject-Device/RunCMakeTest.cmake23
-rw-r--r--Tests/RunCMake/XcodeProject-Device/XcodeBundles.cmake2
-rw-r--r--Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake2
-rw-r--r--Tests/RunCMake/target_sources/FileSetDefaultWrongTypeExperimental.cmake2
-rw-r--r--Tests/RunCMake/target_sources/FileSetWrongTypeExperimental.cmake2
-rw-r--r--Utilities/Sphinx/cmake.py2
77 files changed, 1406 insertions, 256 deletions
diff --git a/.gitlab/ci/configure_fedora38_ninja_clang.cmake b/.gitlab/ci/configure_fedora38_ninja_clang.cmake
index 214a123..4454647 100644
--- a/.gitlab/ci/configure_fedora38_ninja_clang.cmake
+++ b/.gitlab/ci/configure_fedora38_ninja_clang.cmake
@@ -1,4 +1,4 @@
-set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common_clang.cmake")
diff --git a/.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake b/.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake
index 214a123..4454647 100644
--- a/.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake
+++ b/.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake
@@ -1,4 +1,4 @@
-set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common_clang.cmake")
diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
index 110df76..e9121ae 100644
--- a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
+++ b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
@@ -1,4 +1,4 @@
-set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_gcc.cmake" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake
index 110df76..e9121ae 100644
--- a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake
+++ b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake
@@ -1,4 +1,4 @@
-set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_gcc.cmake" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_clang_ninja.cmake b/.gitlab/ci/configure_windows_clang_ninja.cmake
index f864dde..d1f0f52 100644
--- a/.gitlab/ci/configure_windows_clang_ninja.cmake
+++ b/.gitlab/ci/configure_windows_clang_ninja.cmake
@@ -1,5 +1,5 @@
if("$ENV{CMAKE_CI_BUILD_NAME}" MATCHES "(^|_)gnu(_|$)")
- set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
+ set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
endif()
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_clang_common.cmake")
diff --git a/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake b/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake
index 38dd729..5f2a215 100644
--- a/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake
+++ b/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake
@@ -1,2 +1,2 @@
-set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,shared,export_bmi,install_bmi" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,shared,export_bmi,install_bmi" CACHE STRING "")
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_msvc.cmake" CACHE STRING "")
diff --git a/Auxiliary/vim/cmake.vim.in b/Auxiliary/vim/cmake.vim.in
index 6edc040..39d7193 100644
--- a/Auxiliary/vim/cmake.vim.in
+++ b/Auxiliary/vim/cmake.vim.in
@@ -22,20 +22,20 @@ set cpo&vim
syn region cmakeBracketArgument start="\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
syn region cmakeComment start="#" end="$" contains=cmakeTodo,@Spell
-syn region cmakeBracketComment start="#\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
+syn region cmakeBracketComment start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped
syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo
-syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped
+syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped,@Spell
syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo,cmakeVariableValue
syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo
-syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo
+syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo,@Spell
syn case match
diff --git a/Auxiliary/vim/extract-upper-case.pl b/Auxiliary/vim/extract-upper-case.pl
index 1179199..7f40b74 100755
--- a/Auxiliary/vim/extract-upper-case.pl
+++ b/Auxiliary/vim/extract-upper-case.pl
@@ -16,10 +16,10 @@ my @modules;
my %keywords; # command => keyword-list
# find cmake/Modules/ | sed -rn 's/.*CMakeDetermine(.+)Compiler.cmake/\1/p' | sort
-my @languages = qw(ASM ASM_MASM ASM_NASM C CSharp CUDA CXX Fortran Java RC Swift);
+my @languages = qw(ASM ASM_MASM ASM_NASM C CSharp CUDA CXX Fortran Java RC Swift HIP);
# unwanted upper-cases
-my %unwanted = map { $_ => 1 } qw(VS CXX IDE NOTFOUND NO_ DFOO DBAR NEW);
+my %unwanted = map { $_ => 1 } qw(VS CXX IDE NOTFOUND NO_ DFOO DBAR NEW GNU);
# cannot remove ALL - exists for add_custom_command
# control-statements
@@ -30,7 +30,7 @@ my %loop = map { $_ => 1 } qw(foreach while endforeach endwhile);
my %deprecated = map { $_ => 1 } qw(build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file);
# add some (popular) modules
-push @modules, "ExternalProject";
+push @modules, "ExternalProject", "FetchContent";
# variables
open(CMAKE, "$cmake --help-variable-list|") or die "could not run cmake";
diff --git a/Auxiliary/vim/syntax/cmake.vim b/Auxiliary/vim/syntax/cmake.vim
index bc8b06a..82dc563 100644
--- a/Auxiliary/vim/syntax/cmake.vim
+++ b/Auxiliary/vim/syntax/cmake.vim
@@ -1,13 +1,13 @@
" Vim syntax file
" Program: CMake - Cross-Platform Makefile Generator
-" Version: cmake version 3.19.20201028-gdab947f
+" Version: cmake version 3.27.20230713-gdc88dd5
" Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>,
" Nicholas Hutchinson <nshutchinson@gmail.com>,
" Patrick Boettcher <patrick.boettcher@posteo.de>
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
-" Last Change: 2020 oct. 28
+" Last Change: 2023 Jul 13
"
" License: The CMake license applies to this file. See
" https://cmake.org/licensing
@@ -22,20 +22,20 @@ set cpo&vim
syn region cmakeBracketArgument start="\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
syn region cmakeComment start="#" end="$" contains=cmakeTodo,@Spell
-syn region cmakeBracketComment start="#\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
+syn region cmakeBracketComment start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped
syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo
-syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped
+syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped,@Spell
syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo,cmakeVariableValue
syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo
-syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo
+syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo,@Spell
syn case match
@@ -76,6 +76,7 @@ syn keyword cmakeProperty contained
\ AUTOGEN_USE_SYSTEM_INCLUDE
\ AUTOGEN_TARGETS_FOLDER
\ AUTOGEN_TARGET_DEPENDS
+ \ AUTOGEN_USE_SYSTEM_INCLUDE
\ AUTOMOC
\ AUTOMOC_COMPILER_PREDEFINES
\ AUTOMOC_DEPEND_FILTERS
@@ -120,6 +121,7 @@ syn keyword cmakeProperty contained
\ COMPILE_OPTIONS
\ COMPILE_PDB_NAME
\ COMPILE_PDB_OUTPUT_DIRECTORY
+ \ COMPILE_WARNING_AS_ERROR
\ COST
\ CPACK_DESKTOP_SHORTCUTS
\ CPACK_NEVER_OVERWRITE
@@ -140,6 +142,10 @@ syn keyword cmakeProperty contained
\ CUDA_STANDARD
\ CUDA_STANDARD_REQUIRED
\ CXX_EXTENSIONS
+ \ CXX_MODULE_DIRS
+ \ CXX_MODULE_SET
+ \ CXX_MODULE_SETS
+ \ CXX_SCAN_FOR_MODULES
\ CXX_STANDARD
\ CXX_STANDARD_REQUIRED
\ C_EXTENSIONS
@@ -156,6 +162,7 @@ syn keyword cmakeProperty contained
\ DISABLED
\ DISABLED_FEATURES
\ DISABLE_PRECOMPILE_HEADERS
+ \ DLL_NAME_WITH_SOVERSION
\ DOTNET_SDK
\ DOTNET_TARGET_FRAMEWORK
\ DOTNET_TARGET_FRAMEWORK_VERSION
@@ -168,7 +175,9 @@ syn keyword cmakeProperty contained
\ ENVIRONMENT_MODIFICATION
\ EXCLUDE_FROM_ALL
\ EXCLUDE_FROM_DEFAULT_BUILD
+ \ EXPORT_COMPILE_COMMANDS
\ EXPORT_NAME
+ \ EXPORT_NO_SYSTEM
\ EXPORT_PROPERTIES
\ EXTERNAL_OBJECT
\ EchoString
@@ -183,6 +192,7 @@ syn keyword cmakeProperty contained
\ FOLDER
\ FRAMEWORK
\ FRAMEWORK_VERSION
+ \ Fortran_BUILDING_INSTRINSIC_MODULES
\ Fortran_FORMAT
\ Fortran_MODULE_DIRECTORY
\ Fortran_PREPROCESS
@@ -195,8 +205,15 @@ syn keyword cmakeProperty contained
\ GLOBAL_DEPENDS_NO_CYCLES
\ GNUtoMS
\ HAS_CXX
+ \ HEADER_DIRS
\ HEADER_FILE_ONLY
+ \ HEADER_SET
+ \ HEADER_SETS
\ HELPSTRING
+ \ HIP_ARCHITECTURES
+ \ HIP_EXTENSIONS
+ \ HIP_STANDARD
+ \ HIP_STANDARD_REQUIRED
\ IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
\ IMPORTED
\ IMPORTED_COMMON_LANGUAGE_RUNTIME
@@ -210,8 +227,10 @@ syn keyword cmakeProperty contained
\ IMPORTED_LINK_INTERFACE_MULTIPLICITY
\ IMPORTED_LOCATION
\ IMPORTED_NO_SONAME
+ \ IMPORTED_NO_SYSTEM
\ IMPORTED_OBJECTS
\ IMPORTED_SONAME
+ \ IMPORTED_TARGETS
\ IMPORT_PREFIX
\ IMPORT_SUFFIX
\ INCLUDE_DIRECTORIES
@@ -220,15 +239,21 @@ syn keyword cmakeProperty contained
\ INSTALL_REMOVE_ENVIRONMENT_RPATH
\ INSTALL_RPATH
\ INSTALL_RPATH_USE_LINK_PATH
+ \ INTERFACE_AUTOMOC_MACRO_NAMES
\ INTERFACE_AUTOUIC_OPTIONS
\ INTERFACE_AUTOMOC_MACRO_NAMES
\ INTERFACE_COMPILE_DEFINITIONS
\ INTERFACE_COMPILE_FEATURES
\ INTERFACE_COMPILE_OPTIONS
+ \ INTERFACE_CXX_MODULE_SETS
+ \ INTERFACE_HEADER_SETS
+ \ INTERFACE_HEADER_SETS_TO_VERIFY
\ INTERFACE_INCLUDE_DIRECTORIES
\ INTERFACE_LINK_DEPENDS
\ INTERFACE_LINK_DIRECTORIES
\ INTERFACE_LINK_LIBRARIES
+ \ INTERFACE_LINK_LIBRARIES_DIRECT
+ \ INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
\ INTERFACE_LINK_OPTIONS
\ INTERFACE_POSITION_INDEPENDENT_CODE
\ INTERFACE_PRECOMPILE_HEADERS
@@ -238,6 +263,7 @@ syn keyword cmakeProperty contained
\ IN_TRY_COMPILE
\ IOS_INSTALL_COMBINED
\ ISPC_HEADER_DIRECTORY
+ \ ISPC_HEADER_SUFFIX
\ ISPC_INSTRUCTION_SETS
\ JOB_POOLS
\ JOB_POOL_COMPILE
@@ -256,6 +282,8 @@ syn keyword cmakeProperty contained
\ LINK_INTERFACE_LIBRARIES
\ LINK_INTERFACE_MULTIPLICITY
\ LINK_LIBRARIES
+ \ LINK_LIBRARIES_ONLY_TARGETS
+ \ LINK_LIBRARY_OVERRIDE
\ LINK_OPTIONS
\ LINK_SEARCH_END_STATIC
\ LINK_SEARCH_START_STATIC
@@ -273,6 +301,7 @@ syn keyword cmakeProperty contained
\ MANUALLY_ADDED_DEPENDENCIES
\ MEASUREMENT
\ MODIFIED
+ \ MSVC_DEBUG_INFORMATION_FORMAT
\ MSVC_RUNTIME_LIBRARY
\ NAME
\ NO_SONAME
@@ -339,6 +368,7 @@ syn keyword cmakeProperty contained
\ SUBDIRECTORIES
\ SUFFIX
\ SYMBOLIC
+ \ SYSTEM
\ Swift_DEPENDENCIES_FILE
\ Swift_DIAGNOSTICS_FILE
\ Swift_LANGUAGE_VERSION
@@ -352,16 +382,20 @@ syn keyword cmakeProperty contained
\ TEST_INCLUDE_FILES
\ TIMEOUT
\ TIMEOUT_AFTER_MATCH
+ \ TIMEOUT_SIGNAL_GRACE_PERIOD
+ \ TIMEOUT_SIGNAL_NAME
\ TYPE
\ UNITY_BUILD
\ UNITY_BUILD_BATCH_SIZE
\ UNITY_BUILD_CODE_AFTER_INCLUDE
\ UNITY_BUILD_CODE_BEFORE_INCLUDE
\ UNITY_BUILD_MODE
+ \ UNITY_BUILD_UNIQUE_ID
\ UNITY_GROUP
\ USE_FOLDERS
\ VALUE
\ VARIABLES
+ \ VERIFY_INTERFACE_HEADER_SETS
\ VERSION
\ VISIBILITY_INLINES_HIDDEN
\ VS_CONFIGURATION_TYPE
@@ -418,11 +452,14 @@ syn keyword cmakeProperty contained
\ VS_WINRT_EXTENSIONS
\ VS_WINRT_REFERENCES
\ VS_XAML_TYPE
+ \ WATCOM_RUNTIME_LIBRARY
\ WILL_FAIL
\ WIN32_EXECUTABLE
\ WINDOWS_EXPORT_ALL_SYMBOLS
\ WORKING_DIRECTORY
\ WRAP_EXCLUDE
+ \ XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY
+ \ XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY
\ XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
\ XCODE_EXPLICIT_FILE_TYPE
\ XCODE_FILE_ATTRIBUTES
@@ -439,9 +476,13 @@ syn keyword cmakeProperty contained
\ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
\ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
\ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
+ \ XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
+ \ XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE
+ \ XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
\ XCODE_SCHEME_ENVIRONMENT
\ XCODE_SCHEME_EXECUTABLE
\ XCODE_SCHEME_GUARD_MALLOC
+ \ XCODE_SCHEME_LAUNCH_CONFIGURATION
\ XCODE_SCHEME_LAUNCH_MODE
\ XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
\ XCODE_SCHEME_MALLOC_GUARD_EDGES
@@ -456,16 +497,19 @@ syn keyword cmakeProperty contained
\ XCODE_SCHEME_LAUNCH_CONFIGURATION
\ XCODE_SCHEME_WORKING_DIRECTORY
\ XCODE_SCHEME_ZOMBIE_OBJECTS
+ \ XCODE_XCCONFIG
\ XCTEST
syn keyword cmakeVariable contained
\ ANDROID
\ APPLE
\ BORLAND
+ \ BSD
\ BUILD_SHARED_LIBS
\ CACHE
\ CMAKE_ABSOLUTE_DESTINATION_FILES
\ CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY
+ \ CMAKE_ADSP_ROOT
\ CMAKE_AIX_EXPORT_ALL_SYMBOLS
\ CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS
\ CMAKE_ANDROID_API
@@ -475,6 +519,7 @@ syn keyword cmakeVariable contained
\ CMAKE_ANDROID_ARM_MODE
\ CMAKE_ANDROID_ARM_NEON
\ CMAKE_ANDROID_ASSETS_DIRECTORIES
+ \ CMAKE_ANDROID_EXCEPTIONS
\ CMAKE_ANDROID_GUI
\ CMAKE_ANDROID_JAR_DEPENDENCIES
\ CMAKE_ANDROID_JAR_DIRECTORIES
@@ -485,14 +530,17 @@ syn keyword cmakeVariable contained
\ CMAKE_ANDROID_NDK_DEPRECATED_HEADERS
\ CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG
\ CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
+ \ CMAKE_ANDROID_NDK_VERSION
\ CMAKE_ANDROID_PROCESS_MAX
\ CMAKE_ANDROID_PROGUARD
\ CMAKE_ANDROID_PROGUARD_CONFIG_PATH
+ \ CMAKE_ANDROID_RTTI
\ CMAKE_ANDROID_SECURE_PROPS_PATH
\ CMAKE_ANDROID_SKIP_ANT_STEP
\ CMAKE_ANDROID_STANDALONE_TOOLCHAIN
\ CMAKE_ANDROID_STL_TYPE
\ CMAKE_APPBUNDLE_PATH
+ \ CMAKE_APPLE_SILICON_PROCESSOR
\ CMAKE_AR
\ CMAKE_ARCHIVE_OUTPUT_DIRECTORY
\ CMAKE_ARGC
@@ -504,12 +552,15 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_ARCHIVE_APPEND
\ CMAKE_ASM_ARCHIVE_CREATE
\ CMAKE_ASM_ARCHIVE_FINISH
+ \ CMAKE_ASM_BYTE_ORDER
\ CMAKE_ASM_CLANG_TIDY
+ \ CMAKE_ASM_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_ASM_COMPILER
\ CMAKE_ASM_COMPILER_ABI
\ CMAKE_ASM_COMPILER_AR
\ CMAKE_ASM_COMPILER_ARCHITECTURE_ID
\ CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_ASM_COMPILER_FRONTEND_VARIANT
\ CMAKE_ASM_COMPILER_ID
\ CMAKE_ASM_COMPILER_LAUNCHER
\ CMAKE_ASM_COMPILER_LOADED
@@ -524,6 +575,8 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_CREATE_SHARED_LIBRARY
\ CMAKE_ASM_CREATE_SHARED_MODULE
\ CMAKE_ASM_CREATE_STATIC_LIBRARY
+ \ CMAKE_ASM_EXTENSIONS
+ \ CMAKE_ASM_EXTENSIONS_DEFAULT
\ CMAKE_ASM_FLAGS
\ CMAKE_ASM_FLAGS_DEBUG
\ CMAKE_ASM_FLAGS_DEBUG_INIT
@@ -542,6 +595,7 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_INCLUDE_WHAT_YOU_USE
\ CMAKE_ASM_INIT
\ CMAKE_ASM_LIBRARY_ARCHITECTURE
+ \ CMAKE_ASM_LINKER_LAUNCHER
\ CMAKE_ASM_LINKER_PREFERENCE
\ CMAKE_ASM_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_ASM_LINKER_WRAPPER_FLAG
@@ -550,6 +604,7 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_LINK_LIBRARY_FILE_FLAG
\ CMAKE_ASM_LINK_LIBRARY_FLAG
\ CMAKE_ASM_LINK_LIBRARY_SUFFIX
+ \ CMAKE_ASM_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_ASM_MASM
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_PREFIX
@@ -557,12 +612,15 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_MASM_ARCHIVE_APPEND
\ CMAKE_ASM_MASM_ARCHIVE_CREATE
\ CMAKE_ASM_MASM_ARCHIVE_FINISH
+ \ CMAKE_ASM_MASM_BYTE_ORDER
\ CMAKE_ASM_MASM_CLANG_TIDY
+ \ CMAKE_ASM_MASM_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_ASM_MASM_COMPILER
\ CMAKE_ASM_MASM_COMPILER_ABI
\ CMAKE_ASM_MASM_COMPILER_AR
\ CMAKE_ASM_MASM_COMPILER_ARCHITECTURE_ID
\ CMAKE_ASM_MASM_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_ASM_MASM_COMPILER_FRONTEND_VARIANT
\ CMAKE_ASM_MASM_COMPILER_ID
\ CMAKE_ASM_MASM_COMPILER_LAUNCHER
\ CMAKE_ASM_MASM_COMPILER_LOADED
@@ -577,6 +635,8 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_MASM_CREATE_SHARED_LIBRARY
\ CMAKE_ASM_MASM_CREATE_SHARED_MODULE
\ CMAKE_ASM_MASM_CREATE_STATIC_LIBRARY
+ \ CMAKE_ASM_MASM_EXTENSIONS
+ \ CMAKE_ASM_MASM_EXTENSIONS_DEFAULT
\ CMAKE_ASM_MASM_FLAGS
\ CMAKE_ASM_MASM_FLAGS_DEBUG
\ CMAKE_ASM_MASM_FLAGS_DEBUG_INIT
@@ -595,6 +655,7 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_MASM_INCLUDE_WHAT_YOU_USE
\ CMAKE_ASM_MASM_INIT
\ CMAKE_ASM_MASM_LIBRARY_ARCHITECTURE
+ \ CMAKE_ASM_MASM_LINKER_LAUNCHER
\ CMAKE_ASM_MASM_LINKER_PREFERENCE
\ CMAKE_ASM_MASM_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG
@@ -603,14 +664,19 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_MASM_LINK_LIBRARY_FILE_FLAG
\ CMAKE_ASM_MASM_LINK_LIBRARY_FLAG
\ CMAKE_ASM_MASM_LINK_LIBRARY_SUFFIX
+ \ CMAKE_ASM_MASM_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_ASM_MASM_OUTPUT_EXTENSION
\ CMAKE_ASM_MASM_PLATFORM_ID
\ CMAKE_ASM_MASM_SIMULATE_ID
\ CMAKE_ASM_MASM_SIMULATE_VERSION
\ CMAKE_ASM_MASM_SIZEOF_DATA_PTR
\ CMAKE_ASM_MASM_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_ASM_MASM_STANDARD
+ \ CMAKE_ASM_MASM_STANDARD_DEFAULT
\ CMAKE_ASM_MASM_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_ASM_MASM_STANDARD_LIBRARIES
+ \ CMAKE_ASM_MASM_STANDARD_REQUIRED
+ \ CMAKE_ASM_MASM_SUPPORTED
\ CMAKE_ASM_MASM_VISIBILITY_PRESET
\ CMAKE_ASM_NASM
\ CMAKE_ASM_NASM_ANDROID_TOOLCHAIN_MACHINE
@@ -619,12 +685,15 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_NASM_ARCHIVE_APPEND
\ CMAKE_ASM_NASM_ARCHIVE_CREATE
\ CMAKE_ASM_NASM_ARCHIVE_FINISH
+ \ CMAKE_ASM_NASM_BYTE_ORDER
\ CMAKE_ASM_NASM_CLANG_TIDY
+ \ CMAKE_ASM_NASM_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_ASM_NASM_COMPILER
\ CMAKE_ASM_NASM_COMPILER_ABI
\ CMAKE_ASM_NASM_COMPILER_AR
\ CMAKE_ASM_NASM_COMPILER_ARCHITECTURE_ID
\ CMAKE_ASM_NASM_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_ASM_NASM_COMPILER_FRONTEND_VARIANT
\ CMAKE_ASM_NASM_COMPILER_ID
\ CMAKE_ASM_NASM_COMPILER_LAUNCHER
\ CMAKE_ASM_NASM_COMPILER_LOADED
@@ -639,6 +708,8 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_NASM_CREATE_SHARED_LIBRARY
\ CMAKE_ASM_NASM_CREATE_SHARED_MODULE
\ CMAKE_ASM_NASM_CREATE_STATIC_LIBRARY
+ \ CMAKE_ASM_NASM_EXTENSIONS
+ \ CMAKE_ASM_NASM_EXTENSIONS_DEFAULT
\ CMAKE_ASM_NASM_FLAGS
\ CMAKE_ASM_NASM_FLAGS_DEBUG
\ CMAKE_ASM_NASM_FLAGS_DEBUG_INIT
@@ -657,6 +728,7 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_NASM_INCLUDE_WHAT_YOU_USE
\ CMAKE_ASM_NASM_INIT
\ CMAKE_ASM_NASM_LIBRARY_ARCHITECTURE
+ \ CMAKE_ASM_NASM_LINKER_LAUNCHER
\ CMAKE_ASM_NASM_LINKER_PREFERENCE
\ CMAKE_ASM_NASM_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG
@@ -665,14 +737,19 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_NASM_LINK_LIBRARY_FILE_FLAG
\ CMAKE_ASM_NASM_LINK_LIBRARY_FLAG
\ CMAKE_ASM_NASM_LINK_LIBRARY_SUFFIX
+ \ CMAKE_ASM_NASM_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_ASM_NASM_OUTPUT_EXTENSION
\ CMAKE_ASM_NASM_PLATFORM_ID
\ CMAKE_ASM_NASM_SIMULATE_ID
\ CMAKE_ASM_NASM_SIMULATE_VERSION
\ CMAKE_ASM_NASM_SIZEOF_DATA_PTR
\ CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_ASM_NASM_STANDARD
+ \ CMAKE_ASM_NASM_STANDARD_DEFAULT
\ CMAKE_ASM_NASM_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_ASM_NASM_STANDARD_LIBRARIES
+ \ CMAKE_ASM_NASM_STANDARD_REQUIRED
+ \ CMAKE_ASM_NASM_SUPPORTED
\ CMAKE_ASM_NASM_VISIBILITY_PRESET
\ CMAKE_ASM_OUTPUT_EXTENSION
\ CMAKE_ASM_PLATFORM_ID
@@ -680,8 +757,12 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_SIMULATE_VERSION
\ CMAKE_ASM_SIZEOF_DATA_PTR
\ CMAKE_ASM_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_ASM_STANDARD
+ \ CMAKE_ASM_STANDARD_DEFAULT
\ CMAKE_ASM_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_ASM_STANDARD_LIBRARIES
+ \ CMAKE_ASM_STANDARD_REQUIRED
+ \ CMAKE_ASM_SUPPORTED
\ CMAKE_ASM_VISIBILITY_PRESET
\ CMAKE_AUTOGEN_ORIGIN_DEPENDS
\ CMAKE_AUTOGEN_PARALLEL
@@ -690,15 +771,18 @@ syn keyword cmakeVariable contained
\ CMAKE_AUTOMOC
\ CMAKE_AUTOMOC_COMPILER_PREDEFINES
\ CMAKE_AUTOMOC_DEPEND_FILTERS
+ \ CMAKE_AUTOMOC_EXECUTABLE
\ CMAKE_AUTOMOC_MACRO_NAMES
\ CMAKE_AUTOMOC_MOC_OPTIONS
\ CMAKE_AUTOMOC_PATH_PREFIX
\ CMAKE_AUTOMOC_RELAXED_MODE
\ CMAKE_AUTOMOC_EXECUTABLE
\ CMAKE_AUTORCC
+ \ CMAKE_AUTORCC_EXECUTABLE
\ CMAKE_AUTORCC_OPTIONS
\ CMAKE_AUTORCC_EXECUTABLE
\ CMAKE_AUTOUIC
+ \ CMAKE_AUTOUIC_EXECUTABLE
\ CMAKE_AUTOUIC_OPTIONS
\ CMAKE_AUTOUIC_SEARCH_PATHS
\ CMAKE_AUTOUIC_EXECUTABLE
@@ -729,6 +813,7 @@ syn keyword cmakeVariable contained
\ CMAKE_COMPILER_IS_GNUCXX
\ CMAKE_COMPILER_IS_GNUG77
\ CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
+ \ CMAKE_COMPILE_WARNING_AS_ERROR
\ CMAKE_CONFIGURATION_TYPES
\ CMAKE_CPACK_COMMAND
\ CMAKE_CROSSCOMPILING
@@ -741,12 +826,15 @@ syn keyword cmakeVariable contained
\ CMAKE_CSharp_ARCHIVE_APPEND
\ CMAKE_CSharp_ARCHIVE_CREATE
\ CMAKE_CSharp_ARCHIVE_FINISH
+ \ CMAKE_CSharp_BYTE_ORDER
\ CMAKE_CSharp_CLANG_TIDY
+ \ CMAKE_CSharp_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_CSharp_COMPILER
\ CMAKE_CSharp_COMPILER_ABI
\ CMAKE_CSharp_COMPILER_AR
\ CMAKE_CSharp_COMPILER_ARCHITECTURE_ID
\ CMAKE_CSharp_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_CSharp_COMPILER_FRONTEND_VARIANT
\ CMAKE_CSharp_COMPILER_ID
\ CMAKE_CSharp_COMPILER_LAUNCHER
\ CMAKE_CSharp_COMPILER_LOADED
@@ -761,6 +849,8 @@ syn keyword cmakeVariable contained
\ CMAKE_CSharp_CREATE_SHARED_LIBRARY
\ CMAKE_CSharp_CREATE_SHARED_MODULE
\ CMAKE_CSharp_CREATE_STATIC_LIBRARY
+ \ CMAKE_CSharp_EXTENSIONS
+ \ CMAKE_CSharp_EXTENSIONS_DEFAULT
\ CMAKE_CSharp_FLAGS
\ CMAKE_CSharp_FLAGS_DEBUG
\ CMAKE_CSharp_FLAGS_DEBUG_INIT
@@ -779,6 +869,7 @@ syn keyword cmakeVariable contained
\ CMAKE_CSharp_INCLUDE_WHAT_YOU_USE
\ CMAKE_CSharp_INIT
\ CMAKE_CSharp_LIBRARY_ARCHITECTURE
+ \ CMAKE_CSharp_LINKER_LAUNCHER
\ CMAKE_CSharp_LINKER_PREFERENCE
\ CMAKE_CSharp_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG
@@ -787,14 +878,19 @@ syn keyword cmakeVariable contained
\ CMAKE_CSharp_LINK_LIBRARY_FILE_FLAG
\ CMAKE_CSharp_LINK_LIBRARY_FLAG
\ CMAKE_CSharp_LINK_LIBRARY_SUFFIX
+ \ CMAKE_CSharp_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_CSharp_OUTPUT_EXTENSION
\ CMAKE_CSharp_PLATFORM_ID
\ CMAKE_CSharp_SIMULATE_ID
\ CMAKE_CSharp_SIMULATE_VERSION
\ CMAKE_CSharp_SIZEOF_DATA_PTR
\ CMAKE_CSharp_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_CSharp_STANDARD
+ \ CMAKE_CSharp_STANDARD_DEFAULT
\ CMAKE_CSharp_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_CSharp_STANDARD_LIBRARIES
+ \ CMAKE_CSharp_STANDARD_REQUIRED
+ \ CMAKE_CSharp_SUPPORTED
\ CMAKE_CSharp_VISIBILITY_PRESET
\ CMAKE_CTEST_ARGUMENTS
\ CMAKE_CTEST_COMMAND
@@ -806,12 +902,15 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_ARCHIVE_APPEND
\ CMAKE_CUDA_ARCHIVE_CREATE
\ CMAKE_CUDA_ARCHIVE_FINISH
+ \ CMAKE_CUDA_BYTE_ORDER
\ CMAKE_CUDA_CLANG_TIDY
+ \ CMAKE_CUDA_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_CUDA_COMPILER
\ CMAKE_CUDA_COMPILER_ABI
\ CMAKE_CUDA_COMPILER_AR
\ CMAKE_CUDA_COMPILER_ARCHITECTURE_ID
\ CMAKE_CUDA_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_CUDA_COMPILER_FRONTEND_VARIANT
\ CMAKE_CUDA_COMPILER_ID
\ CMAKE_CUDA_COMPILER_LAUNCHER
\ CMAKE_CUDA_COMPILER_LOADED
@@ -828,6 +927,7 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_CREATE_SHARED_MODULE
\ CMAKE_CUDA_CREATE_STATIC_LIBRARY
\ CMAKE_CUDA_EXTENSIONS
+ \ CMAKE_CUDA_EXTENSIONS_DEFAULT
\ CMAKE_CUDA_FLAGS
\ CMAKE_CUDA_FLAGS_DEBUG
\ CMAKE_CUDA_FLAGS_DEBUG_INIT
@@ -847,6 +947,7 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_INCLUDE_WHAT_YOU_USE
\ CMAKE_CUDA_INIT
\ CMAKE_CUDA_LIBRARY_ARCHITECTURE
+ \ CMAKE_CUDA_LINKER_LAUNCHER
\ CMAKE_CUDA_LINKER_PREFERENCE
\ CMAKE_CUDA_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG
@@ -855,6 +956,7 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_LINK_LIBRARY_FILE_FLAG
\ CMAKE_CUDA_LINK_LIBRARY_FLAG
\ CMAKE_CUDA_LINK_LIBRARY_SUFFIX
+ \ CMAKE_CUDA_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_CUDA_OUTPUT_EXTENSION
\ CMAKE_CUDA_PLATFORM_ID
\ CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
@@ -865,9 +967,11 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_SIZEOF_DATA_PTR
\ CMAKE_CUDA_SOURCE_FILE_EXTENSIONS
\ CMAKE_CUDA_STANDARD
+ \ CMAKE_CUDA_STANDARD_DEFAULT
\ CMAKE_CUDA_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_CUDA_STANDARD_LIBRARIES
\ CMAKE_CUDA_STANDARD_REQUIRED
+ \ CMAKE_CUDA_SUPPORTED
\ CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
\ CMAKE_CUDA_VISIBILITY_PRESET
\ CMAKE_CURRENT_BINARY_DIR
@@ -886,12 +990,15 @@ syn keyword cmakeVariable contained
\ CMAKE_CXX_ARCHIVE_APPEND
\ CMAKE_CXX_ARCHIVE_CREATE
\ CMAKE_CXX_ARCHIVE_FINISH
+ \ CMAKE_CXX_BYTE_ORDER
\ CMAKE_CXX_CLANG_TIDY
+ \ CMAKE_CXX_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_CXX_COMPILER
\ CMAKE_CXX_COMPILER_ABI
\ CMAKE_CXX_COMPILER_AR
\ CMAKE_CXX_COMPILER_ARCHITECTURE_ID
\ CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_CXX_COMPILER_FRONTEND_VARIANT
\ CMAKE_CXX_COMPILER_ID
\ CMAKE_CXX_COMPILER_LAUNCHER
\ CMAKE_CXX_COMPILER_LOADED
@@ -908,6 +1015,7 @@ syn keyword cmakeVariable contained
\ CMAKE_CXX_CREATE_SHARED_MODULE
\ CMAKE_CXX_CREATE_STATIC_LIBRARY
\ CMAKE_CXX_EXTENSIONS
+ \ CMAKE_CXX_EXTENSIONS_DEFAULT
\ CMAKE_CXX_FLAGS
\ CMAKE_CXX_FLAGS_DEBUG
\ CMAKE_CXX_FLAGS_DEBUG_INIT
@@ -935,16 +1043,20 @@ syn keyword cmakeVariable contained
\ CMAKE_CXX_LINK_LIBRARY_FILE_FLAG
\ CMAKE_CXX_LINK_LIBRARY_FLAG
\ CMAKE_CXX_LINK_LIBRARY_SUFFIX
+ \ CMAKE_CXX_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_CXX_OUTPUT_EXTENSION
\ CMAKE_CXX_PLATFORM_ID
+ \ CMAKE_CXX_SCAN_FOR_MODULES
\ CMAKE_CXX_SIMULATE_ID
\ CMAKE_CXX_SIMULATE_VERSION
\ CMAKE_CXX_SIZEOF_DATA_PTR
\ CMAKE_CXX_SOURCE_FILE_EXTENSIONS
\ CMAKE_CXX_STANDARD
+ \ CMAKE_CXX_STANDARD_DEFAULT
\ CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_CXX_STANDARD_LIBRARIES
\ CMAKE_CXX_STANDARD_REQUIRED
+ \ CMAKE_CXX_SUPPORTED
\ CMAKE_CXX_VISIBILITY_PRESET
\ CMAKE_C_ANDROID_TOOLCHAIN_MACHINE
\ CMAKE_C_ANDROID_TOOLCHAIN_PREFIX
@@ -952,12 +1064,15 @@ syn keyword cmakeVariable contained
\ CMAKE_C_ARCHIVE_APPEND
\ CMAKE_C_ARCHIVE_CREATE
\ CMAKE_C_ARCHIVE_FINISH
+ \ CMAKE_C_BYTE_ORDER
\ CMAKE_C_CLANG_TIDY
+ \ CMAKE_C_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_C_COMPILER
\ CMAKE_C_COMPILER_ABI
\ CMAKE_C_COMPILER_AR
\ CMAKE_C_COMPILER_ARCHITECTURE_ID
\ CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_C_COMPILER_FRONTEND_VARIANT
\ CMAKE_C_COMPILER_ID
\ CMAKE_C_COMPILER_LAUNCHER
\ CMAKE_C_COMPILER_LOADED
@@ -974,6 +1089,7 @@ syn keyword cmakeVariable contained
\ CMAKE_C_CREATE_SHARED_MODULE
\ CMAKE_C_CREATE_STATIC_LIBRARY
\ CMAKE_C_EXTENSIONS
+ \ CMAKE_C_EXTENSIONS_DEFAULT
\ CMAKE_C_FLAGS
\ CMAKE_C_FLAGS_DEBUG
\ CMAKE_C_FLAGS_DEBUG_INIT
@@ -1001,6 +1117,7 @@ syn keyword cmakeVariable contained
\ CMAKE_C_LINK_LIBRARY_FILE_FLAG
\ CMAKE_C_LINK_LIBRARY_FLAG
\ CMAKE_C_LINK_LIBRARY_SUFFIX
+ \ CMAKE_C_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_C_OUTPUT_EXTENSION
\ CMAKE_C_PLATFORM_ID
\ CMAKE_C_SIMULATE_ID
@@ -1008,17 +1125,21 @@ syn keyword cmakeVariable contained
\ CMAKE_C_SIZEOF_DATA_PTR
\ CMAKE_C_SOURCE_FILE_EXTENSIONS
\ CMAKE_C_STANDARD
+ \ CMAKE_C_STANDARD_DEFAULT
\ CMAKE_C_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_C_STANDARD_LIBRARIES
\ CMAKE_C_STANDARD_REQUIRED
+ \ CMAKE_C_SUPPORTED
\ CMAKE_C_VISIBILITY_PRESET
\ CMAKE_DEBUG_POSTFIX
\ CMAKE_DEBUG_TARGET_PROPERTIES
\ CMAKE_DEFAULT_BUILD_TYPE
\ CMAKE_DEFAULT_CONFIGS
\ CMAKE_DEPENDS_IN_PROJECT_ONLY
+ \ CMAKE_DEPENDS_USE_COMPILER
\ CMAKE_DIRECTORY_LABELS
\ CMAKE_DISABLE_PRECOMPILE_HEADERS
+ \ CMAKE_DLL_NAME_WITH_SOVERSION
\ CMAKE_DL_LIBS
\ CMAKE_DOTNET_SDK
\ CMAKE_DOTNET_TARGET_FRAMEWORK
@@ -1032,7 +1153,20 @@ syn keyword cmakeVariable contained
\ CMAKE_ENABLE_EXPORTS
\ CMAKE_ERROR_DEPRECATED
\ CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+ \ CMAKE_EXECUTABLE_ENABLE_EXPORTS
\ CMAKE_EXECUTABLE_SUFFIX
+ \ CMAKE_EXECUTABLE_SUFFIX_ASM
+ \ CMAKE_EXECUTABLE_SUFFIX_ASM_MASM
+ \ CMAKE_EXECUTABLE_SUFFIX_ASM_NASM
+ \ CMAKE_EXECUTABLE_SUFFIX_C
+ \ CMAKE_EXECUTABLE_SUFFIX_CSharp
+ \ CMAKE_EXECUTABLE_SUFFIX_CUDA
+ \ CMAKE_EXECUTABLE_SUFFIX_CXX
+ \ CMAKE_EXECUTABLE_SUFFIX_Fortran
+ \ CMAKE_EXECUTABLE_SUFFIX_HIP
+ \ CMAKE_EXECUTABLE_SUFFIX_Java
+ \ CMAKE_EXECUTABLE_SUFFIX_RC
+ \ CMAKE_EXECUTABLE_SUFFIX_Swift
\ CMAKE_EXECUTE_PROCESS_COMMAND_ECHO
\ CMAKE_EXE_LINKER_FLAGS
\ CMAKE_EXE_LINKER_FLAGS_INIT
@@ -1052,9 +1186,11 @@ syn keyword cmakeVariable contained
\ CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
\ CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
\ CMAKE_FIND_PACKAGE_PREFER_CONFIG
+ \ CMAKE_FIND_PACKAGE_REDIRECTS_DIR
\ CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS
\ CMAKE_FIND_PACKAGE_SORT_DIRECTION
\ CMAKE_FIND_PACKAGE_SORT_ORDER
+ \ CMAKE_FIND_PACKAGE_TARGETS_GLOBAL
\ CMAKE_FIND_PACKAGE_WARN_NO_MODULE
\ CMAKE_FIND_ROOT_PATH
\ CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
@@ -1065,6 +1201,7 @@ syn keyword cmakeVariable contained
\ CMAKE_FIND_USE_INSTALL_PREFIX
\ CMAKE_FIND_USE_CMAKE_PATH
\ CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
+ \ CMAKE_FIND_USE_INSTALL_PREFIX
\ CMAKE_FIND_USE_PACKAGE_REGISTRY
\ CMAKE_FIND_USE_PACKAGE_ROOT_PATH
\ CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
@@ -1079,12 +1216,15 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_ARCHIVE_APPEND
\ CMAKE_Fortran_ARCHIVE_CREATE
\ CMAKE_Fortran_ARCHIVE_FINISH
+ \ CMAKE_Fortran_BYTE_ORDER
\ CMAKE_Fortran_CLANG_TIDY
+ \ CMAKE_Fortran_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_Fortran_COMPILER
\ CMAKE_Fortran_COMPILER_ABI
\ CMAKE_Fortran_COMPILER_AR
\ CMAKE_Fortran_COMPILER_ARCHITECTURE_ID
\ CMAKE_Fortran_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_Fortran_COMPILER_FRONTEND_VARIANT
\ CMAKE_Fortran_COMPILER_ID
\ CMAKE_Fortran_COMPILER_LAUNCHER
\ CMAKE_Fortran_COMPILER_LOADED
@@ -1099,6 +1239,8 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_CREATE_SHARED_LIBRARY
\ CMAKE_Fortran_CREATE_SHARED_MODULE
\ CMAKE_Fortran_CREATE_STATIC_LIBRARY
+ \ CMAKE_Fortran_EXTENSIONS
+ \ CMAKE_Fortran_EXTENSIONS_DEFAULT
\ CMAKE_Fortran_FLAGS
\ CMAKE_Fortran_FLAGS_DEBUG
\ CMAKE_Fortran_FLAGS_DEBUG_INIT
@@ -1118,6 +1260,7 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_INCLUDE_WHAT_YOU_USE
\ CMAKE_Fortran_INIT
\ CMAKE_Fortran_LIBRARY_ARCHITECTURE
+ \ CMAKE_Fortran_LINKER_LAUNCHER
\ CMAKE_Fortran_LINKER_PREFERENCE
\ CMAKE_Fortran_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG
@@ -1126,6 +1269,7 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_LINK_LIBRARY_FILE_FLAG
\ CMAKE_Fortran_LINK_LIBRARY_FLAG
\ CMAKE_Fortran_LINK_LIBRARY_SUFFIX
+ \ CMAKE_Fortran_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_Fortran_MODDIR_DEFAULT
\ CMAKE_Fortran_MODDIR_FLAG
\ CMAKE_Fortran_MODOUT_FLAG
@@ -1137,8 +1281,12 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_SIMULATE_VERSION
\ CMAKE_Fortran_SIZEOF_DATA_PTR
\ CMAKE_Fortran_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_Fortran_STANDARD
+ \ CMAKE_Fortran_STANDARD_DEFAULT
\ CMAKE_Fortran_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_Fortran_STANDARD_LIBRARIES
+ \ CMAKE_Fortran_STANDARD_REQUIRED
+ \ CMAKE_Fortran_SUPPORTED
\ CMAKE_Fortran_VISIBILITY_PRESET
\ CMAKE_GENERATOR
\ CMAKE_GENERATOR_INSTANCE
@@ -1150,8 +1298,85 @@ syn keyword cmakeVariable contained
\ CMAKE_GLOBAL_AUTORCC_TARGET
\ CMAKE_GLOBAL_AUTORCC_TARGET_NAME
\ CMAKE_GNUtoMS
+ \ CMAKE_HIP
+ \ CMAKE_HIP_ANDROID_TOOLCHAIN_MACHINE
+ \ CMAKE_HIP_ANDROID_TOOLCHAIN_PREFIX
+ \ CMAKE_HIP_ANDROID_TOOLCHAIN_SUFFIX
+ \ CMAKE_HIP_ARCHITECTURES
+ \ CMAKE_HIP_ARCHIVE_APPEND
+ \ CMAKE_HIP_ARCHIVE_CREATE
+ \ CMAKE_HIP_ARCHIVE_FINISH
+ \ CMAKE_HIP_BYTE_ORDER
+ \ CMAKE_HIP_CLANG_TIDY
+ \ CMAKE_HIP_CLANG_TIDY_EXPORT_FIXES_DIR
+ \ CMAKE_HIP_COMPILER
+ \ CMAKE_HIP_COMPILER_ABI
+ \ CMAKE_HIP_COMPILER_AR
+ \ CMAKE_HIP_COMPILER_ARCHITECTURE_ID
+ \ CMAKE_HIP_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_HIP_COMPILER_FRONTEND_VARIANT
+ \ CMAKE_HIP_COMPILER_ID
+ \ CMAKE_HIP_COMPILER_LAUNCHER
+ \ CMAKE_HIP_COMPILER_LOADED
+ \ CMAKE_HIP_COMPILER_PREDEFINES_COMMAND
+ \ CMAKE_HIP_COMPILER_RANLIB
+ \ CMAKE_HIP_COMPILER_TARGET
+ \ CMAKE_HIP_COMPILER_VERSION
+ \ CMAKE_HIP_COMPILER_VERSION_INTERNAL
+ \ CMAKE_HIP_COMPILE_FEATURES
+ \ CMAKE_HIP_COMPILE_OBJECT
+ \ CMAKE_HIP_CPPCHECK
+ \ CMAKE_HIP_CPPLINT
+ \ CMAKE_HIP_CREATE_SHARED_LIBRARY
+ \ CMAKE_HIP_CREATE_SHARED_MODULE
+ \ CMAKE_HIP_CREATE_STATIC_LIBRARY
+ \ CMAKE_HIP_EXTENSIONS
+ \ CMAKE_HIP_EXTENSIONS_DEFAULT
+ \ CMAKE_HIP_FLAGS
+ \ CMAKE_HIP_FLAGS_DEBUG
+ \ CMAKE_HIP_FLAGS_DEBUG_INIT
+ \ CMAKE_HIP_FLAGS_INIT
+ \ CMAKE_HIP_FLAGS_MINSIZEREL
+ \ CMAKE_HIP_FLAGS_MINSIZEREL_INIT
+ \ CMAKE_HIP_FLAGS_RELEASE
+ \ CMAKE_HIP_FLAGS_RELEASE_INIT
+ \ CMAKE_HIP_FLAGS_RELWITHDEBINFO
+ \ CMAKE_HIP_FLAGS_RELWITHDEBINFO_INIT
+ \ CMAKE_HIP_IGNORE_EXTENSIONS
+ \ CMAKE_HIP_IMPLICIT_INCLUDE_DIRECTORIES
+ \ CMAKE_HIP_IMPLICIT_LINK_DIRECTORIES
+ \ CMAKE_HIP_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+ \ CMAKE_HIP_IMPLICIT_LINK_LIBRARIES
+ \ CMAKE_HIP_INCLUDE_WHAT_YOU_USE
+ \ CMAKE_HIP_INIT
+ \ CMAKE_HIP_LIBRARY_ARCHITECTURE
+ \ CMAKE_HIP_LINKER_LAUNCHER
+ \ CMAKE_HIP_LINKER_PREFERENCE
+ \ CMAKE_HIP_LINKER_PREFERENCE_PROPAGATES
+ \ CMAKE_HIP_LINKER_WRAPPER_FLAG
+ \ CMAKE_HIP_LINKER_WRAPPER_FLAG_SEP
+ \ CMAKE_HIP_LINK_EXECUTABLE
+ \ CMAKE_HIP_LINK_LIBRARY_FILE_FLAG
+ \ CMAKE_HIP_LINK_LIBRARY_FLAG
+ \ CMAKE_HIP_LINK_LIBRARY_SUFFIX
+ \ CMAKE_HIP_LINK_WHAT_YOU_USE_FLAG
+ \ CMAKE_HIP_OUTPUT_EXTENSION
+ \ CMAKE_HIP_PLATFORM_ID
+ \ CMAKE_HIP_SIMULATE_ID
+ \ CMAKE_HIP_SIMULATE_VERSION
+ \ CMAKE_HIP_SIZEOF_DATA_PTR
+ \ CMAKE_HIP_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_HIP_STANDARD
+ \ CMAKE_HIP_STANDARD_DEFAULT
+ \ CMAKE_HIP_STANDARD_INCLUDE_DIRECTORIES
+ \ CMAKE_HIP_STANDARD_LIBRARIES
+ \ CMAKE_HIP_STANDARD_REQUIRED
+ \ CMAKE_HIP_SUPPORTED
+ \ CMAKE_HIP_VISIBILITY_PRESET
\ CMAKE_HOME_DIRECTORY
\ CMAKE_HOST_APPLE
+ \ CMAKE_HOST_BSD
+ \ CMAKE_HOST_LINUX
\ CMAKE_HOST_SOLARIS
\ CMAKE_HOST_SYSTEM
\ CMAKE_HOST_SYSTEM_NAME
@@ -1160,6 +1385,7 @@ syn keyword cmakeVariable contained
\ CMAKE_HOST_UNIX
\ CMAKE_HOST_WIN32
\ CMAKE_IGNORE_PATH
+ \ CMAKE_IGNORE_PREFIX_PATH
\ CMAKE_IMPORT_LIBRARY_PREFIX
\ CMAKE_IMPORT_LIBRARY_SUFFIX
\ CMAKE_INCLUDE_CURRENT_DIR
@@ -1180,6 +1406,7 @@ syn keyword cmakeVariable contained
\ CMAKE_INTERPROCEDURAL_OPTIMIZATION
\ CMAKE_IOS_INSTALL_COMBINED
\ CMAKE_ISPC_HEADER_DIRECTORY
+ \ CMAKE_ISPC_HEADER_SUFFIX
\ CMAKE_ISPC_INSTRUCTION_SETS
\ CMAKE_JOB_POOLS
\ CMAKE_JOB_POOL_COMPILE
@@ -1192,12 +1419,15 @@ syn keyword cmakeVariable contained
\ CMAKE_Java_ARCHIVE_APPEND
\ CMAKE_Java_ARCHIVE_CREATE
\ CMAKE_Java_ARCHIVE_FINISH
+ \ CMAKE_Java_BYTE_ORDER
\ CMAKE_Java_CLANG_TIDY
+ \ CMAKE_Java_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_Java_COMPILER
\ CMAKE_Java_COMPILER_ABI
\ CMAKE_Java_COMPILER_AR
\ CMAKE_Java_COMPILER_ARCHITECTURE_ID
\ CMAKE_Java_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_Java_COMPILER_FRONTEND_VARIANT
\ CMAKE_Java_COMPILER_ID
\ CMAKE_Java_COMPILER_LAUNCHER
\ CMAKE_Java_COMPILER_LOADED
@@ -1212,6 +1442,8 @@ syn keyword cmakeVariable contained
\ CMAKE_Java_CREATE_SHARED_LIBRARY
\ CMAKE_Java_CREATE_SHARED_MODULE
\ CMAKE_Java_CREATE_STATIC_LIBRARY
+ \ CMAKE_Java_EXTENSIONS
+ \ CMAKE_Java_EXTENSIONS_DEFAULT
\ CMAKE_Java_FLAGS
\ CMAKE_Java_FLAGS_DEBUG
\ CMAKE_Java_FLAGS_DEBUG_INIT
@@ -1230,6 +1462,7 @@ syn keyword cmakeVariable contained
\ CMAKE_Java_INCLUDE_WHAT_YOU_USE
\ CMAKE_Java_INIT
\ CMAKE_Java_LIBRARY_ARCHITECTURE
+ \ CMAKE_Java_LINKER_LAUNCHER
\ CMAKE_Java_LINKER_PREFERENCE
\ CMAKE_Java_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_Java_LINKER_WRAPPER_FLAG
@@ -1238,15 +1471,22 @@ syn keyword cmakeVariable contained
\ CMAKE_Java_LINK_LIBRARY_FILE_FLAG
\ CMAKE_Java_LINK_LIBRARY_FLAG
\ CMAKE_Java_LINK_LIBRARY_SUFFIX
+ \ CMAKE_Java_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_Java_OUTPUT_EXTENSION
\ CMAKE_Java_PLATFORM_ID
\ CMAKE_Java_SIMULATE_ID
\ CMAKE_Java_SIMULATE_VERSION
\ CMAKE_Java_SIZEOF_DATA_PTR
\ CMAKE_Java_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_Java_STANDARD
+ \ CMAKE_Java_STANDARD_DEFAULT
\ CMAKE_Java_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_Java_STANDARD_LIBRARIES
+ \ CMAKE_Java_STANDARD_REQUIRED
+ \ CMAKE_Java_SUPPORTED
\ CMAKE_Java_VISIBILITY_PRESET
+ \ CMAKE_KATE_FILES_MODE
+ \ CMAKE_KATE_MAKE_ARGUMENTS
\ CMAKE_LIBRARY_ARCHITECTURE
\ CMAKE_LIBRARY_ARCHITECTURE_REGEX
\ CMAKE_LIBRARY_OUTPUT_DIRECTORY
@@ -1254,14 +1494,17 @@ syn keyword cmakeVariable contained
\ CMAKE_LIBRARY_PATH_FLAG
\ CMAKE_LINK_DEF_FILE_FLAG
\ CMAKE_LINK_DEPENDS_NO_SHARED
+ \ CMAKE_LINK_DEPENDS_USE_LINKER
\ CMAKE_LINK_DIRECTORIES_BEFORE
\ CMAKE_LINK_INTERFACE_LIBRARIES
+ \ CMAKE_LINK_LIBRARIES_ONLY_TARGETS
\ CMAKE_LINK_LIBRARY_FILE_FLAG
\ CMAKE_LINK_LIBRARY_FLAG
\ CMAKE_LINK_LIBRARY_SUFFIX
\ CMAKE_LINK_SEARCH_END_STATIC
\ CMAKE_LINK_SEARCH_START_STATIC
\ CMAKE_LINK_WHAT_YOU_USE
+ \ CMAKE_LINK_WHAT_YOU_USE_CHECK
\ CMAKE_MACOSX_BUNDLE
\ CMAKE_MACOSX_RPATH
\ CMAKE_MAJOR_VERSION
@@ -1279,6 +1522,7 @@ syn keyword cmakeVariable contained
\ CMAKE_MODULE_LINKER_FLAGS_INIT
\ CMAKE_MODULE_PATH
\ CMAKE_MSVCIDE_RUN_PATH
+ \ CMAKE_MSVC_DEBUG_INFORMATION_FORMAT
\ CMAKE_MSVC_RUNTIME_LIBRARY
\ CMAKE_NETRC
\ CMAKE_NETRC_FILE
@@ -1306,6 +1550,7 @@ syn keyword cmakeVariable contained
\ CMAKE_PCH_INSTANTIATE_TEMPLATES
\ CMAKE_PCH_WARN_INVALID
\ CMAKE_PDB_OUTPUT_DIRECTORY
+ \ CMAKE_PLATFORM_NO_VERSIONED_SONAME
\ CMAKE_POSITION_INDEPENDENT_CODE
\ CMAKE_PREFIX_PATH
\ CMAKE_PROGRAM_PATH
@@ -1314,6 +1559,7 @@ syn keyword cmakeVariable contained
\ CMAKE_PROJECT_INCLUDE
\ CMAKE_PROJECT_INCLUDE_BEFORE
\ CMAKE_PROJECT_NAME
+ \ CMAKE_PROJECT_TOP_LEVEL_INCLUDES
\ CMAKE_PROJECT_VERSION
\ CMAKE_PROJECT_VERSION_MAJOR
\ CMAKE_PROJECT_VERSION_MINOR
@@ -1327,12 +1573,15 @@ syn keyword cmakeVariable contained
\ CMAKE_RC_ARCHIVE_APPEND
\ CMAKE_RC_ARCHIVE_CREATE
\ CMAKE_RC_ARCHIVE_FINISH
+ \ CMAKE_RC_BYTE_ORDER
\ CMAKE_RC_CLANG_TIDY
+ \ CMAKE_RC_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_RC_COMPILER
\ CMAKE_RC_COMPILER_ABI
\ CMAKE_RC_COMPILER_AR
\ CMAKE_RC_COMPILER_ARCHITECTURE_ID
\ CMAKE_RC_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_RC_COMPILER_FRONTEND_VARIANT
\ CMAKE_RC_COMPILER_ID
\ CMAKE_RC_COMPILER_LAUNCHER
\ CMAKE_RC_COMPILER_LOADED
@@ -1347,6 +1596,8 @@ syn keyword cmakeVariable contained
\ CMAKE_RC_CREATE_SHARED_LIBRARY
\ CMAKE_RC_CREATE_SHARED_MODULE
\ CMAKE_RC_CREATE_STATIC_LIBRARY
+ \ CMAKE_RC_EXTENSIONS
+ \ CMAKE_RC_EXTENSIONS_DEFAULT
\ CMAKE_RC_FLAGS
\ CMAKE_RC_FLAGS_DEBUG
\ CMAKE_RC_FLAGS_DEBUG_INIT
@@ -1365,6 +1616,7 @@ syn keyword cmakeVariable contained
\ CMAKE_RC_INCLUDE_WHAT_YOU_USE
\ CMAKE_RC_INIT
\ CMAKE_RC_LIBRARY_ARCHITECTURE
+ \ CMAKE_RC_LINKER_LAUNCHER
\ CMAKE_RC_LINKER_PREFERENCE
\ CMAKE_RC_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_RC_LINKER_WRAPPER_FLAG
@@ -1373,19 +1625,25 @@ syn keyword cmakeVariable contained
\ CMAKE_RC_LINK_LIBRARY_FILE_FLAG
\ CMAKE_RC_LINK_LIBRARY_FLAG
\ CMAKE_RC_LINK_LIBRARY_SUFFIX
+ \ CMAKE_RC_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_RC_OUTPUT_EXTENSION
\ CMAKE_RC_PLATFORM_ID
\ CMAKE_RC_SIMULATE_ID
\ CMAKE_RC_SIMULATE_VERSION
\ CMAKE_RC_SIZEOF_DATA_PTR
\ CMAKE_RC_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_RC_STANDARD
+ \ CMAKE_RC_STANDARD_DEFAULT
\ CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_RC_STANDARD_LIBRARIES
+ \ CMAKE_RC_STANDARD_REQUIRED
+ \ CMAKE_RC_SUPPORTED
\ CMAKE_RC_VISIBILITY_PRESET
\ CMAKE_ROOT
\ CMAKE_RULE_MESSAGES
\ CMAKE_RUNTIME_OUTPUT_DIRECTORY
\ CMAKE_SCRIPT_MODE_FILE
+ \ CMAKE_SHARED_LIBRARY_ENABLE_EXPORTS
\ CMAKE_SHARED_LIBRARY_PREFIX
\ CMAKE_SHARED_LIBRARY_SUFFIX
\ CMAKE_SHARED_LINKER_FLAGS
@@ -1414,6 +1672,7 @@ syn keyword cmakeVariable contained
\ CMAKE_SYSTEM_APPBUNDLE_PATH
\ CMAKE_SYSTEM_FRAMEWORK_PATH
\ CMAKE_SYSTEM_IGNORE_PATH
+ \ CMAKE_SYSTEM_IGNORE_PREFIX_PATH
\ CMAKE_SYSTEM_INCLUDE_PATH
\ CMAKE_SYSTEM_LIBRARY_PATH
\ CMAKE_SYSTEM_NAME
@@ -1428,12 +1687,15 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_ARCHIVE_APPEND
\ CMAKE_Swift_ARCHIVE_CREATE
\ CMAKE_Swift_ARCHIVE_FINISH
+ \ CMAKE_Swift_BYTE_ORDER
\ CMAKE_Swift_CLANG_TIDY
+ \ CMAKE_Swift_CLANG_TIDY_EXPORT_FIXES_DIR
\ CMAKE_Swift_COMPILER
\ CMAKE_Swift_COMPILER_ABI
\ CMAKE_Swift_COMPILER_AR
\ CMAKE_Swift_COMPILER_ARCHITECTURE_ID
\ CMAKE_Swift_COMPILER_EXTERNAL_TOOLCHAIN
+ \ CMAKE_Swift_COMPILER_FRONTEND_VARIANT
\ CMAKE_Swift_COMPILER_ID
\ CMAKE_Swift_COMPILER_LAUNCHER
\ CMAKE_Swift_COMPILER_LOADED
@@ -1448,6 +1710,8 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_CREATE_SHARED_LIBRARY
\ CMAKE_Swift_CREATE_SHARED_MODULE
\ CMAKE_Swift_CREATE_STATIC_LIBRARY
+ \ CMAKE_Swift_EXTENSIONS
+ \ CMAKE_Swift_EXTENSIONS_DEFAULT
\ CMAKE_Swift_FLAGS
\ CMAKE_Swift_FLAGS_DEBUG
\ CMAKE_Swift_FLAGS_DEBUG_INIT
@@ -1467,6 +1731,7 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_INIT
\ CMAKE_Swift_LANGUAGE_VERSION
\ CMAKE_Swift_LIBRARY_ARCHITECTURE
+ \ CMAKE_Swift_LINKER_LAUNCHER
\ CMAKE_Swift_LINKER_PREFERENCE
\ CMAKE_Swift_LINKER_PREFERENCE_PROPAGATES
\ CMAKE_Swift_LINKER_WRAPPER_FLAG
@@ -1475,6 +1740,7 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_LINK_LIBRARY_FILE_FLAG
\ CMAKE_Swift_LINK_LIBRARY_FLAG
\ CMAKE_Swift_LINK_LIBRARY_SUFFIX
+ \ CMAKE_Swift_LINK_WHAT_YOU_USE_FLAG
\ CMAKE_Swift_MODULE_DIRECTORY
\ CMAKE_Swift_NUM_THREADS
\ CMAKE_Swift_OUTPUT_EXTENSION
@@ -1483,16 +1749,25 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_SIMULATE_VERSION
\ CMAKE_Swift_SIZEOF_DATA_PTR
\ CMAKE_Swift_SOURCE_FILE_EXTENSIONS
+ \ CMAKE_Swift_STANDARD
+ \ CMAKE_Swift_STANDARD_DEFAULT
\ CMAKE_Swift_STANDARD_INCLUDE_DIRECTORIES
\ CMAKE_Swift_STANDARD_LIBRARIES
+ \ CMAKE_Swift_STANDARD_REQUIRED
+ \ CMAKE_Swift_SUPPORTED
\ CMAKE_Swift_VISIBILITY_PRESET
+ \ CMAKE_TASKING_TOOLSET
+ \ CMAKE_TLS_CAINFO
+ \ CMAKE_TLS_VERIFY
\ CMAKE_TOOLCHAIN_FILE
\ CMAKE_TRY_COMPILE_CONFIGURATION
+ \ CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES
\ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
\ CMAKE_TRY_COMPILE_TARGET_TYPE
\ CMAKE_TWEAK_VERSION
\ CMAKE_UNITY_BUILD
\ CMAKE_UNITY_BUILD_BATCH_SIZE
+ \ CMAKE_UNITY_BUILD_UNIQUE_ID
\ CMAKE_USER_MAKE_RULES_OVERRIDE
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM
@@ -1502,13 +1777,19 @@ syn keyword cmakeVariable contained
\ CMAKE_USER_MAKE_RULES_OVERRIDE_CUDA
\ CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
\ CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran
+ \ CMAKE_USER_MAKE_RULES_OVERRIDE_HIP
\ CMAKE_USER_MAKE_RULES_OVERRIDE_Java
\ CMAKE_USER_MAKE_RULES_OVERRIDE_RC
\ CMAKE_USER_MAKE_RULES_OVERRIDE_Swift
\ CMAKE_USE_RELATIVE_PATHS
\ CMAKE_VERBOSE_MAKEFILE
+ \ CMAKE_VERIFY_INTERFACE_HEADER_SETS
\ CMAKE_VERSION
\ CMAKE_VISIBILITY_INLINES_HIDDEN
+ \ CMAKE_VS_DEBUGGER_COMMAND
+ \ CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS
+ \ CMAKE_VS_DEBUGGER_ENVIRONMENT
+ \ CMAKE_VS_DEBUGGER_WORKING_DIRECTORY
\ CMAKE_VS_DEVENV_COMMAND
\ CMAKE_VS_GLOBALS
\ CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
@@ -1516,6 +1797,8 @@ syn keyword cmakeVariable contained
\ CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
\ CMAKE_VS_JUST_MY_CODE_DEBUGGING
\ CMAKE_VS_MSBUILD_COMMAND
+ \ CMAKE_VS_NO_COMPILE_BATCHING
+ \ CMAKE_VS_NUGET_PACKAGE_RESTORE
\ CMAKE_VS_NsightTegra_VERSION
\ CMAKE_VS_PLATFORM_NAME
\ CMAKE_VS_PLATFORM_NAME_DEFAULT
@@ -1531,11 +1814,17 @@ syn keyword cmakeVariable contained
\ CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES
\ CMAKE_VS_SDK_REFERENCE_DIRECTORIES
\ CMAKE_VS_SDK_SOURCE_DIRECTORIES
+ \ CMAKE_VS_TARGET_FRAMEWORK_IDENTIFIER
+ \ CMAKE_VS_TARGET_FRAMEWORK_TARGETS_VERSION
+ \ CMAKE_VS_TARGET_FRAMEWORK_VERSION
+ \ CMAKE_VS_VERSION_BUILD_NUMBER
+ \ CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
\ CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
\ CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM
\ CMAKE_VS_WINRT_BY_DEFAULT
\ CMAKE_WARN_DEPRECATED
\ CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
+ \ CMAKE_WATCOM_RUNTIME_LIBRARY
\ CMAKE_WIN32_EXECUTABLE
\ CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
\ CMAKE_XCODE_BUILD_SYSTEM
@@ -1550,8 +1839,12 @@ syn keyword cmakeVariable contained
\ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
\ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
\ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
+ \ CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION
+ \ CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE
+ \ CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION
\ CMAKE_XCODE_SCHEME_ENVIRONMENT
\ CMAKE_XCODE_SCHEME_GUARD_MALLOC
+ \ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION
\ CMAKE_XCODE_SCHEME_LAUNCH_MODE
\ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
\ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
@@ -1566,8 +1859,10 @@ syn keyword cmakeVariable contained
\ CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION
\ CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
\ CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS
+ \ CMAKE_XCODE_XCCONFIG
\ CPACK_ABSOLUTE_DESTINATION_FILES
\ CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
+ \ CPACK_CUSTOM_INSTALL_VARIABLES
\ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
\ CPACK_INCLUDE_TOPLEVEL_DIRECTORY
\ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
@@ -1602,6 +1897,7 @@ syn keyword cmakeVariable contained
\ CTEST_CUSTOM_PRE_MEMCHECK
\ CTEST_CUSTOM_PRE_TEST
\ CTEST_CUSTOM_TESTS_IGNORE
+ \ CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION
\ CTEST_CUSTOM_WARNING_EXCEPTION
\ CTEST_CUSTOM_WARNING_MATCH
\ CTEST_CVS_CHECKOUT
@@ -1634,6 +1930,7 @@ syn keyword cmakeVariable contained
\ CTEST_RESOURCE_SPEC_FILE
\ CTEST_RUN_CURRENT_SCRIPT
\ CTEST_SCP_COMMAND
+ \ CTEST_SCRIPT_DIRECTORY
\ CTEST_SITE
\ CTEST_SOURCE_DIRECTORY
\ CTEST_SUBMIT_INACTIVITY_TIMEOUT
@@ -1932,6 +2229,7 @@ syn keyword cmakeVariable contained
\ GHSMULTI
\ IOS
\ LIBRARY_OUTPUT_PATH
+ \ LINUX
\ MINGW
\ MSVC
\ MSVC10
@@ -1950,6 +2248,7 @@ syn keyword cmakeVariable contained
\ PROJECT_BINARY_DIR
\ PROJECT_DESCRIPTION
\ PROJECT_HOMEPAGE_URL
+ \ PROJECT_IS_TOP_LEVEL
\ PROJECT_NAME
\ PROJECT_SOURCE_DIR
\ PROJECT_VERSION
@@ -1967,6 +2266,7 @@ syn keyword cmakeVariable contained
syn keyword cmakeModule contained
\ ExternalProject
+ \ FetchContent
syn keyword cmakeKWExternalProject contained
\ AWS
@@ -1980,10 +2280,10 @@ syn keyword cmakeKWExternalProject contained
\ CMAKE_CACHE_ARGS
\ CMAKE_CACHE_DEFAULT_ARGS
\ CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY
- \ CMAKE_TLS_CAINFO
- \ CMAKE_TLS_VERIFY
+ \ CMAKE_INSTALL_MODE
\ COMMENT
\ CONFIGURE_COMMAND
+ \ CONFIGURE_HANDLED_BY_BUILD
\ CVS
\ CVSROOT
\ CVS_MODULE
@@ -1995,6 +2295,7 @@ syn keyword cmakeKWExternalProject contained
\ DOWNLOADED_FILE
\ DOWNLOAD_COMMAND
\ DOWNLOAD_DIR
+ \ DOWNLOAD_EXTRACT_TIMESTAMP
\ DOWNLOAD_NAME
\ DOWNLOAD_NO_EXTRACT
\ DOWNLOAD_NO_PROGRESS
@@ -2086,24 +2387,90 @@ syn keyword cmakeKWExternalProject contained
\ USES_TERMINAL_UPDATE
\ WORKING_DIRECTORY
+syn keyword cmakeKWFetchContent contained
+ \ ALWAYS
+ \ BINARY_DIR
+ \ BUILD_COMMAND
+ \ BYPASS_PROVIDER
+ \ CMAKE_PROJECT_
+ \ CONFIGURE_COMMAND
+ \ COPY
+ \ CORRECT
+ \ DCMAKE_TOOLCHAIN_FILE
+ \ DESTINATION
+ \ DOWNLOAD_NO_EXTRACT
+ \ EXISTS
+ \ FETCHCONTENT_BASE_DIR
+ \ FETCHCONTENT_FULLY_DISCONNECTED
+ \ FETCHCONTENT_MAKEAVAILABLE_SERIAL
+ \ FETCHCONTENT_QUIET
+ \ FETCHCONTENT_SOURCE_DIR_
+ \ FETCHCONTENT_TRY_FIND_PACKAGE_MODE
+ \ FETCHCONTENT_UPDATES_DISCONNECTED
+ \ FETCHCONTENT_UPDATES_DISCONNECTED_
+ \ FIND_PACKAGE_ARGS
+ \ GIT_REPOSITORY
+ \ GIT_TAG
+ \ GLOBAL
+ \ GTEST_BOTH_LIBRARIES
+ \ GTEST_LIBRARIES
+ \ GTEST_MAIN_LIBRARIES
+ \ INSTALL_COMMAND
+ \ INTERNAL
+ \ NAME
+ \ NAMES
+ \ NEVER
+ \ NOTE
+ \ OFF
+ \ OPTIONAL
+ \ OPT_IN
+ \ OVERRIDE_FIND_PACKAGE
+ \ PACKAGE_VERSION_COMPATIBLE
+ \ PACKAGE_VERSION_EXACT
+ \ QUIET
+ \ SOURCE_SUBDIR
+ \ STREQUAL
+ \ SUBBUILD_DIR
+ \ SVN_REPOSITORY
+ \ SVN_REVISION
+ \ SYSTEM
+ \ TARGET
+ \ TEST_COMMAND
+ \ TRUE
+ \ URL
+ \ URL_HASH
+ \ VERIFY_INTERFACE_HEADER_SETS
+ \ WRITE
+ \ WRONG
+ \ _BINARY_DIR
+ \ _INCLUDE
+ \ _POPULATED
+ \ _SOURCE_DIR
+
syn keyword cmakeKWadd_compile_definitions contained
\ COMPILE_DEFINITIONS
\ VAR
syn keyword cmakeKWadd_compile_options contained
+ \ CMAKE_
+ \ COMPILE_LANGUAGE
\ COMPILE_OPTIONS
+ \ CONFIG
\ SHELL
\ UNIX_COMMAND
- \ WX
+ \ _FLAGS
+ \ _FLAGS_
syn keyword cmakeKWadd_custom_command contained
\ APPEND
\ ARGS
+ \ BNF
\ BYPRODUCTS
\ CC
\ COMMAND
\ COMMAND_EXPAND_LISTS
\ COMMENT
+ \ CONFIG
\ CROSSCOMPILING_EMULATOR
\ DEPENDS
\ DEPENDS_EXPLICIT_ONLY
@@ -2115,6 +2482,7 @@ syn keyword cmakeKWadd_custom_command contained
\ JOB_POOLS
\ JOIN
\ MAIN_DEPENDENCY
+ \ MODULE
\ NOT
\ OUTPUT
\ PATH
@@ -2190,17 +2558,21 @@ syn keyword cmakeKWadd_library contained
\ FRAMEWORK
\ GLOBAL
\ HEADER_FILE_ONLY
+ \ HEADER_SETS
\ IMPORTED
\ IMPORTED_
\ IMPORTED_IMPLIB
\ IMPORTED_IMPLIB_
\ IMPORTED_LOCATION
\ IMPORTED_LOCATION_
+ \ IMPORTED_NO_SONAME
\ IMPORTED_OBJECTS
\ IMPORTED_OBJECTS_
+ \ IMPORTED_SONAME
\ INTERFACE
\ INTERFACE_
\ INTERFACE_SOURCES
+ \ LC_ID_DYLIB
\ LIBRARY_OUTPUT_DIRECTORY
\ MODULE
\ OBJECT
@@ -2210,22 +2582,25 @@ syn keyword cmakeKWadd_library contained
\ POST_BUILD
\ PRE_BUILD
\ PRE_LINK
- \ PRIVATE
- \ PUBLIC
+ \ PRIVATE_HEADER
+ \ PUBLIC_HEADER
\ RUNTIME_OUTPUT_DIRECTORY
\ SHARED
+ \ SONAME
\ SOURCES
\ STATIC
+ \ TARGETS
\ TARGET_OBJECTS
+ \ TARGET_RUNTIME_DLLS
\ UNKNOWN
syn keyword cmakeKWadd_link_options contained
\ CMAKE_
+ \ CONFIG
\ CUDA_RESOLVE_DEVICE_SYMBOLS
\ CUDA_SEPARABLE_COMPILATION
\ DEVICE_LINK
\ GCC
- \ GNU
\ HOST_LINK
\ LANG
\ LINKER
@@ -2233,11 +2608,14 @@ syn keyword cmakeKWadd_link_options contained
\ SHELL
\ STATIC_LIBRARY_OPTIONS
\ UNIX_COMMAND
+ \ _FLAGS
+ \ _FLAGS_
\ _LINKER_WRAPPER_FLAG
\ _LINKER_WRAPPER_FLAG_SEP
syn keyword cmakeKWadd_subdirectory contained
\ EXCLUDE_FROM_ALL
+ \ SYSTEM
syn keyword cmakeKWadd_test contained
\ BUILD_TESTING
@@ -2251,15 +2629,64 @@ syn keyword cmakeKWadd_test contained
\ SKIP_REGULAR_EXPRESSION
\ TARGET_FILE
\ WILL_FAIL
+ \ WILL_FALL
\ WORKING_DIRECTORY
+syn keyword cmakeKWblock contained
+ \ PARENT_SCOPE
+ \ POLICIES
+ \ PROPAGATE
+ \ PUSH
+ \ SCOPE_FOR
+ \ TRUE
+ \ VARIABLES
+
syn keyword cmakeKWbuild_command contained
\ CONFIGURATION
+ \ PARALLEL_LEVEL
\ TARGET
+syn keyword cmakeKWcmake_file_api contained
+ \ API
+ \ API_VERSION
+ \ BUILD_DIR
+ \ CMAKEFILES
+ \ CODEMODEL
+ \ COMMAND
+ \ CONFIG
+ \ QUERY
+ \ TOOLCHAINS
+
syn keyword cmakeKWcmake_host_system_information contained
+ \ APPEND
\ AVAILABLE_PHYSICAL_MEMORY
\ AVAILABLE_VIRTUAL_MEMORY
+ \ BOTH
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_CONTENT
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_ID
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_NAME
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_PRETTY_NAME
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_VERSION
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_VERSION_ID
+ \ CMAKE_GET_OS_RELEASE_FALLBACK_SCRIPTS
+ \ DISTRIB_INFO
+ \ DISTRIB_PRETTY_NAME
+ \ DISTRO
+ \ DISTRO_BUG_REPORT_URL
+ \ DISTRO_HOME_URL
+ \ DISTRO_ID
+ \ DISTRO_ID_LIKE
+ \ DISTRO_NAME
+ \ DISTRO_PRETTY_NAME
+ \ DISTRO_PRIVACY_POLICY_URL
+ \ DISTRO_SUPPORT_URL
+ \ DISTRO_UBUNTU_CODENAME
+ \ DISTRO_VERSION
+ \ DISTRO_VERSION_CODENAME
+ \ DISTRO_VERSION_ID
+ \ ERROR_VARIABLE
+ \ EXISTS
\ FQDN
\ HAS_FPU
\ HAS_MMX
@@ -2268,38 +2695,101 @@ syn keyword cmakeKWcmake_host_system_information contained
\ HAS_SSE
\ HAS_SSE_FP
\ HAS_SSE_MMX
+ \ HKCC
+ \ HKCR
+ \ HKCU
+ \ HKEY_CLASSES_ROOT
+ \ HKEY_CURRENT_CONFIG
+ \ HKEY_CURRENT_USER
+ \ HKEY_LOCAL_MACHINE
+ \ HKEY_USERS
+ \ HKLM
+ \ HKU
\ HOSTNAME
\ ID
+ \ LIMIT_COUNT
+ \ LISTS
+ \ LTS
+ \ MATCHES
+ \ NNN
+ \ NOT
\ NUMBER_OF_LOGICAL_CORES
\ NUMBER_OF_PHYSICAL_CORES
\ OS_NAME
\ OS_PLATFORM
\ OS_RELEASE
\ OS_VERSION
+ \ PRETTY_NAME
\ PROCESSOR_DESCRIPTION
\ PROCESSOR_NAME
\ PROCESSOR_SERIAL_NUMBER
\ QUERY
+ \ REG_DWORD
+ \ REG_EXPAND_SZ
+ \ REG_MULTI_SZ
+ \ REG_QWORD
+ \ REG_SZ
\ RESULT
+ \ SEPARATOR
+ \ SOFTWARE
+ \ STATUS
+ \ STRINGS
+ \ SUBKEYS
+ \ TARGET
\ TOTAL_PHYSICAL_MEMORY
\ TOTAL_VIRTUAL_MEMORY
+ \ VALUE_NAMES
+ \ VAR
+ \ VIEW
+ \ WINDOWS_REGISTRY
syn keyword cmakeKWcmake_language contained
\ AND
+ \ ANY
+ \ APPEND
+ \ ARGN
+ \ BINARY_DIR
+ \ BYPASS_PROVIDER
\ CALL
\ CANCEL_CALL
\ CODE
+ \ COMMAND
+ \ COMMAND_ERROR_IS_FATAL
+ \ DCMAKE_PROJECT_TOP_LEVEL_INCLUDES
\ DEFER
\ DIRECTORY
\ EVAL
\ FALSE
+ \ FETCHCONTENT_MAKEAVAILABE_SERIAL
+ \ FETCHCONTENT_MAKEAVAILABLE_SERIAL
+ \ FETCHCONTENT_SOURCE_DIR_
+ \ FETCHCONTENT_TRY_FIND_PACKAGE_MODE
+ \ FIND_PACKAGE
+ \ FIND_PACKAGE_ARGS
\ GET_CALL_IDS
- \ ID
+ \ GET_MESSAGE_LOG_LEVEL
+ \ GIT_REPOSITORY
+ \ GIT_SUBMODULES
+ \ GIT_TAG
\ ID_VAR
- \ OR
+ \ MATCHES
+ \ MYCOMP_PROVIDER_INSTALL_DIR
+ \ NEVER
+ \ NOT
+ \ OVERRIDE_FIND_PACKAGE
+ \ PATH
+ \ POP_BACK
+ \ QUIET
+ \ SET_DEPENDENCY_PROVIDER
+ \ SOURCE_DIR
\ STATUS
+ \ STREQUAL
+ \ SUPPORTED_METHODS
\ TRUE
+ \ VERSION
\ WRITE
+ \ _FOUND
+ \ _PATH
syn keyword cmakeKWcmake_minimum_required contained
\ FATAL_ERROR
@@ -2334,22 +2824,21 @@ syn keyword cmakeKWcmake_path contained
\ ABSOLUTE_PATH
\ AND
\ APPEND
+ \ APPEND_STRING
\ BASE_DIRECTORY
- \ CMAKE_PATH
\ COMPARE
- \ CONCAT
\ CONVERT
- \ ELSEIF
- \ ENDIF
+ \ EQUAL
\ EXTENSION
\ EXTENSION_DEF
\ FALSE
+ \ FILENAME
\ FILENAME_DEF
\ GET
\ GET_EXTENSION
\ GET_FILENAME
\ GET_PARENT_PATH
- \ GET_RELATIVE_PATH
+ \ GET_RELATIVE_PART
\ GET_ROOT_DIRECTORY
\ GET_ROOT_NAME
\ GET_ROOT_PATH
@@ -2358,12 +2847,11 @@ syn keyword cmakeKWcmake_path contained
\ HAS_EXTENSION
\ HAS_FILENAME
\ HAS_PARENT_PATH
- \ HAS_RELATIVE_PATH
+ \ HAS_RELATIVE_PART
\ HAS_ROOT_DIRECTORY
\ HAS_ROOT_NAME
\ HAS_ROOT_PATH
\ HAS_STEM
- \ IF
\ IS_ABSOLUTE
\ IS_PREFIX
\ IS_RELATIVE
@@ -2372,23 +2860,21 @@ syn keyword cmakeKWcmake_path contained
\ NATIVE_PATH
\ NORMALIZE
\ NORMAL_PATH
- \ NOT
\ NOT_EQUAL
\ OP
- \ OS
\ OUTPUT_VARIABLE
\ PARENT_PATH
- \ PROXIMATE_PATH
\ REAL_PATH
+ \ RELATIVE_PART
\ RELATIVE_PATH
\ REMOVE_EXTENSION
\ REMOVE_FILENAME
\ REPLACE_EXTENSION
\ REPLACE_FILENAME
- \ RETURN
\ ROOT_DIRECTORY
\ ROOT_NAME
\ ROOT_PATH
+ \ SET
\ STEM
\ STREQUAL
\ TO_CMAKE_PATH_LIST
@@ -2403,8 +2889,10 @@ syn keyword cmakeKWcmake_policy contained
\ NNNN
\ NO_POLICY_SCOPE
\ OLD
+ \ POLICIES
\ POP
\ PUSH
+ \ SCOPE_FOR
\ SET
\ VERSION
@@ -2416,9 +2904,14 @@ syn keyword cmakeKWconfigure_file contained
\ FILE_PERMISSIONS
\ FOO_ENABLE
\ FOO_STRING
+ \ GENERATE
+ \ INTERFACE
\ LF
\ NEWLINE_STYLE
\ NO_SOURCE_PERMISSIONS
+ \ PRIVATE
+ \ PUBLIC
+ \ SYSTEM
\ USE_SOURCE_PERMISSIONS
\ VAR
@@ -2433,6 +2926,7 @@ syn keyword cmakeKWctest_build contained
\ APPEND
\ BUILD
\ CAPTURE_CMAKE_ERROR
+ \ CMAKE_BUILD_PARALLEL_LEVEL
\ CONFIGURATION
\ CTEST_BUILD_CONFIGURATION
\ CTEST_BUILD_FLAGS
@@ -2440,6 +2934,7 @@ syn keyword cmakeKWctest_build contained
\ FLAGS
\ NUMBER_ERRORS
\ NUMBER_WARNINGS
+ \ PARALLEL_LEVEL
\ QUIET
\ RETURN_VALUE
\ TARGET
@@ -2464,6 +2959,7 @@ syn keyword cmakeKWctest_coverage contained
syn keyword cmakeKWctest_memcheck contained
\ APPEND
\ BUILD
+ \ CAPTURE_CMAKE_ERROR
\ DEFECT_COUNT
\ EXCLUDE
\ EXCLUDE_FIXTURE
@@ -2474,11 +2970,15 @@ syn keyword cmakeKWctest_memcheck contained
\ INCLUDE_LABEL
\ OFF
\ ON
+ \ OUTPUT_JUNIT
\ PARALLEL_LEVEL
\ QUIET
+ \ REPEAT
+ \ RESOURCE_SPEC_FILE
\ RETURN_VALUE
\ SCHEDULE_RANDOM
\ START
+ \ STOP_ON_FAILURE
\ STOP_TIME
\ STRIDE
\ TEST_LOAD
@@ -2514,6 +3014,8 @@ syn keyword cmakeKWctest_submit contained
syn keyword cmakeKWctest_test contained
\ AFTER_TIMEOUT
\ APPEND
+ \ ATTACHED_FILES
+ \ ATTACHED_FILES_ON_FAIL
\ BUILD
\ CAPTURE_CMAKE_ERROR
\ CPU
@@ -2524,8 +3026,10 @@ syn keyword cmakeKWctest_test contained
\ EXCLUDE_LABEL
\ INCLUDE
\ INCLUDE_LABEL
+ \ LABELS
\ OFF
\ ON
+ \ OUTPUT_JUNIT
\ PARALLEL_LEVEL
\ QUIET
\ REPEAT
@@ -2539,6 +3043,8 @@ syn keyword cmakeKWctest_test contained
\ TEST_LOAD
\ UNTIL_FAIL
\ UNTIL_PASS
+ \ URL
+ \ XML
syn keyword cmakeKWctest_update contained
\ CAPTURE_CMAKE_ERROR
@@ -2556,15 +3062,18 @@ syn keyword cmakeKWdefine_property contained
\ APPEND_STRING
\ BRIEF_DOCS
\ CACHED_VARIABLE
+ \ CMAKE_
\ DIRECTORY
\ FULL_DOCS
\ GLOBAL
\ INHERITED
+ \ INITIALIZE_FROM_VARIABLE
\ PROPERTY
\ SOURCE
\ TARGET
\ TEST
\ VARIABLE
+ \ _CMAKE_
syn keyword cmakeKWdoxygen_add_docs contained
\ ALL
@@ -2574,7 +3083,12 @@ syn keyword cmakeKWdoxygen_add_docs contained
syn keyword cmakeKWenable_language contained
\ ASM
+ \ ASM_MARMASM
+ \ ASM_MASM
+ \ ASM_NASM
+ \ ATT
\ CUDA
+ \ HIP
\ ISPC
\ OBJC
\ OBJCXX
@@ -2610,6 +3124,7 @@ syn keyword cmakeKWexecute_process contained
\ OUTPUT_QUIET
\ OUTPUT_STRIP_TRAILING_WHITESPACE
\ OUTPUT_VARIABLE
+ \ POSIX
\ RESULTS_VARIABLE
\ RESULT_VARIABLE
\ RFC
@@ -2617,17 +3132,17 @@ syn keyword cmakeKWexecute_process contained
\ STDOUT
\ TIMEOUT
\ UTF
- \ VERBATIM
\ WORKING_DIRECTORY
syn keyword cmakeKWexport contained
\ ANDROID_MK
\ APPEND
+ \ CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API
\ CONFIG
+ \ CXX_MODULES_DIRECTORY
\ EXPORT
\ EXPORT_LINK_INTERFACE_LIBRARIES
\ FILE
- \ IMPORTED
\ IMPORTED_
\ NAMESPACE
\ NDK
@@ -2643,7 +3158,6 @@ syn keyword cmakeKWexport_library_dependencies contained
\ SET
syn keyword cmakeKWfile contained
- \ ALGO
\ APPEND
\ ARCHIVE_CREATE
\ ARCHIVE_EXTRACT
@@ -2655,9 +3169,8 @@ syn keyword cmakeKWfile contained
\ CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND
\ CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM
\ CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL
+ \ CMAKE_INSTALL_MODE
\ CMAKE_OBJDUMP
- \ CMAKE_TLS_CAINFO
- \ CMAKE_TLS_VERIFY
\ CODE
\ COMPILE_FEATURES
\ COMPRESSION
@@ -2668,7 +3181,8 @@ syn keyword cmakeKWfile contained
\ CONFLICTING_DEPENDENCIES_PREFIX
\ CONTENT
\ CONVERT
- \ COPY
+ \ COPYONLY
+ \ COPY_FILE
\ COPY_ON_ERROR
\ CREATE_LINK
\ CRLF
@@ -2681,6 +3195,7 @@ syn keyword cmakeKWfile contained
\ ENCODING
\ ESCAPE_QUOTES
\ EXECUTABLES
+ \ EXPAND_TILDE
\ EXPECTED_HASH
\ FILES_MATCHING
\ FILE_PERMISSIONS
@@ -2698,10 +3213,12 @@ syn keyword cmakeKWfile contained
\ GUARD
\ HASH
\ HEX
+ \ HOME
\ HTTPHEADER
\ IGNORED
\ INACTIVITY_TIMEOUT
\ INPUT
+ \ INPUT_MAY_BE_RECENT
\ INSTALL
\ IS_ABSOLUTE
\ LENGTH_MAXIMUM
@@ -2726,9 +3243,11 @@ syn keyword cmakeKWfile contained
\ NEWLINE_STYLE
\ NOT
\ NO_HEX_CONVERSION
+ \ NO_REPLACE
\ NO_SOURCE_PERMISSIONS
\ OFFSET
\ ONLY
+ \ ONLY_IF_DIFFERENT
\ OPTIONAL
\ OUTPUT
\ OWNER_EXECUTE
@@ -2738,11 +3257,15 @@ syn keyword cmakeKWfile contained
\ PATTERN
\ PATTERNS
\ PERMISSIONS
+ \ POST_EXCLUDE_FILES
\ POST_EXCLUDE_REGEXES
+ \ POST_INCLUDE_FILES
\ POST_INCLUDE_REGEXES
\ PRE_EXCLUDE_REGEXES
\ PRE_INCLUDE_REGEXES
\ PROCESS
+ \ RANGE_END
+ \ RANGE_START
\ READ
\ READ_SYMLINK
\ REAL_PATH
@@ -2759,7 +3282,10 @@ syn keyword cmakeKWfile contained
\ RESULT_VARIABLE
\ RPATH
\ RUNPATH
+ \ RUNTIME_DEPENDENCY_SET
\ SCRIPT
+ \ SETGID
+ \ SETUID
\ SHARED
\ SHOW_PROGRESS
\ SIZE
@@ -2782,6 +3308,7 @@ syn keyword cmakeKWfile contained
\ UNRESOLVED_DEPENDENCIES_VAR
\ UPLOAD
\ URL
+ \ USERPROFILE
\ USERPWD
\ USE_SOURCE_PERMISSIONS
\ UTC
@@ -2795,54 +3322,87 @@ syn keyword cmakeKWfile contained
\ _FILENAMES
syn keyword cmakeKWfind_file contained
+ \ BOTH
+ \ CATEGORY
\ CMAKE_FIND_ROOT_PATH_BOTH
+ \ CMAKE_FIND_USE_
\ DOC
\ DVAR
\ FALSE
+ \ FIND_XXX_REGISTRY_VIEW
\ HINTS
+ \ HOST
\ INCLUDE
+ \ MATCHES
\ NAMES
+ \ NOT
+ \ NO_CACHE
\ NO_CMAKE_ENVIRONMENT_PATH
\ NO_CMAKE_FIND_ROOT_PATH
+ \ NO_CMAKE_INSTALL_PREFIX
\ NO_CMAKE_PATH
\ NO_CMAKE_SYSTEM_PATH
\ NO_DEFAULT_PATH
\ NO_PACKAGE_ROOT_PATH
\ NO_SYSTEM_ENVIRONMENT_PATH
\ ONLY_CMAKE_FIND_ROOT_PATH
+ \ PACKAGENAME
+ \ PARENT_SCOPE
\ PATHS
\ PATH_SUFFIXES
+ \ REGISTRY_VIEW
\ REQUIRED
+ \ TARGET
+ \ VALIDATOR
\ VAR
syn keyword cmakeKWfind_library contained
+ \ BOTH
+ \ CATEGORY
\ CMAKE_FIND_ROOT_PATH_BOTH
+ \ CMAKE_FIND_USE_
\ DOC
\ DVAR
\ FALSE
+ \ FIND_XXX_REGISTRY_VIEW
\ HINTS
- \ INCLUDE
+ \ HOST
+ \ LIB
+ \ MATCHES
\ NAMES
\ NAMES_PER_DIR
+ \ NOT
+ \ NO_CACHE
\ NO_CMAKE_ENVIRONMENT_PATH
\ NO_CMAKE_FIND_ROOT_PATH
+ \ NO_CMAKE_INSTALL_PREFIX
\ NO_CMAKE_PATH
\ NO_CMAKE_SYSTEM_PATH
\ NO_DEFAULT_PATH
\ NO_PACKAGE_ROOT_PATH
\ NO_SYSTEM_ENVIRONMENT_PATH
\ ONLY_CMAKE_FIND_ROOT_PATH
+ \ PACKAGENAME
+ \ PARENT_SCOPE
\ PATHS
\ PATH_SUFFIXES
+ \ REGISTRY_VIEW
\ REQUIRED
+ \ TARGET
+ \ VALIDATOR
\ VAR
syn keyword cmakeKWfind_package contained
\ ABI
+ \ BOTH
\ BUNDLE
+ \ BYPASS_PROVIDER
+ \ CATEGORY
\ CMAKE_DISABLE_FIND_PACKAGE_
\ CMAKE_REQUIRE_FIND_PACKAGE_
\ CMAKE_FIND_ROOT_PATH_BOTH
+ \ CMAKE_FIND_USE_
+ \ CMAKE_REQUIRE_FIND_PACKAGE_
\ COMPONENTS
\ CONFIG
\ CONFIGS
@@ -2853,7 +3413,9 @@ syn keyword cmakeKWfind_package contained
\ FALSE
\ FIND_PACKAGE_VERSION_FORMAT
\ FRAMEWORK
+ \ GLOBAL
\ HINTS
+ \ HOST
\ INCLUDE
\ MODULE
\ NAMES
@@ -2861,6 +3423,7 @@ syn keyword cmakeKWfind_package contained
\ NO_CMAKE_BUILDS_PATH
\ NO_CMAKE_ENVIRONMENT_PATH
\ NO_CMAKE_FIND_ROOT_PATH
+ \ NO_CMAKE_INSTALL_PREFIX
\ NO_CMAKE_PACKAGE_REGISTRY
\ NO_CMAKE_PATH
\ NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
@@ -2870,8 +3433,10 @@ syn keyword cmakeKWfind_package contained
\ NO_PACKAGE_ROOT_PATH
\ NO_POLICY_SCOPE
\ NO_SYSTEM_ENVIRONMENT_PATH
+ \ OLD
\ ONLY_CMAKE_FIND_ROOT_PATH
\ OPTIONAL_COMPONENTS
+ \ PACKAGENAME
\ PACKAGE_FIND_NAME
\ PACKAGE_FIND_VERSION
\ PACKAGE_FIND_VERSION_COMPLETE
@@ -2900,60 +3465,92 @@ syn keyword cmakeKWfind_package contained
\ PATHS
\ PATH_SUFFIXES
\ QUIET
+ \ REGISTRY_VIEW
\ REQUIRED
\ SET
+ \ TARGET
\ TRUE
+ \ VALUE
\ _CONFIG
\ _CONSIDERED_CONFIGS
\ _CONSIDERED_VERSIONS
\ _DIR
\ _FIND_COMPONENTS
\ _FIND_QUIETLY
+ \ _FIND_REGISTRY_VIEW
\ _FIND_REQUIRED
\ _FIND_REQUIRED_
\ _FIND_VERSION_EXACT
\ _FOUND
syn keyword cmakeKWfind_path contained
+ \ BOTH
+ \ CATEGORY
\ CMAKE_FIND_ROOT_PATH_BOTH
+ \ CMAKE_FIND_USE_
\ DOC
\ DVAR
\ FALSE
+ \ FIND_XXX_REGISTRY_VIEW
\ HINTS
+ \ HOST
\ INCLUDE
+ \ MATCHES
\ NAMES
+ \ NOT
+ \ NO_CACHE
\ NO_CMAKE_ENVIRONMENT_PATH
\ NO_CMAKE_FIND_ROOT_PATH
+ \ NO_CMAKE_INSTALL_PREFIX
\ NO_CMAKE_PATH
\ NO_CMAKE_SYSTEM_PATH
\ NO_DEFAULT_PATH
\ NO_PACKAGE_ROOT_PATH
\ NO_SYSTEM_ENVIRONMENT_PATH
\ ONLY_CMAKE_FIND_ROOT_PATH
+ \ PACKAGENAME
+ \ PARENT_SCOPE
\ PATHS
\ PATH_SUFFIXES
+ \ REGISTRY_VIEW
\ REQUIRED
+ \ TARGET
+ \ VALIDATOR
\ VAR
syn keyword cmakeKWfind_program contained
+ \ BOTH
+ \ CATEGORY
\ CMAKE_FIND_ROOT_PATH_BOTH
+ \ CMAKE_FIND_USE_
\ DOC
\ DVAR
\ FALSE
+ \ FIND_XXX_REGISTRY_VIEW
\ HINTS
+ \ HOST
+ \ MATCHES
\ NAMES
\ NAMES_PER_DIR
+ \ NOT
+ \ NO_CACHE
\ NO_CMAKE_ENVIRONMENT_PATH
\ NO_CMAKE_FIND_ROOT_PATH
+ \ NO_CMAKE_INSTALL_PREFIX
\ NO_CMAKE_PATH
\ NO_CMAKE_SYSTEM_PATH
\ NO_DEFAULT_PATH
\ NO_PACKAGE_ROOT_PATH
\ NO_SYSTEM_ENVIRONMENT_PATH
\ ONLY_CMAKE_FIND_ROOT_PATH
+ \ PACKAGENAME
+ \ PARENT_SCOPE
\ PATHS
\ PATH_SUFFIXES
+ \ REGISTRY_VIEW
\ REQUIRED
+ \ TARGET
+ \ VALIDATOR
\ VAR
syn keyword cmakeKWfltk_wrap_ui contained
@@ -2996,17 +3593,19 @@ syn keyword cmakeKWget_filename_component contained
\ NAME
\ NAME_WE
\ NAME_WLE
- \ PATH
\ PROGRAM
\ PROGRAM_ARGS
+ \ QUERY
\ REALPATH
\ REAL_PATH
+ \ WINDOWS_REGISTRY
syn keyword cmakeKWget_property contained
\ BRIEF_DOCS
\ DEFINED
\ DIRECTORY
\ FULL_DOCS
+ \ GENERATED
\ GLOBAL
\ INSTALL
\ PROPERTY
@@ -3019,6 +3618,7 @@ syn keyword cmakeKWget_property contained
syn keyword cmakeKWget_source_file_property contained
\ DIRECTORY
+ \ GENERATED
\ INHERITED
\ LOCATION
\ TARGET_DIRECTORY
@@ -3035,6 +3635,7 @@ syn keyword cmakeKWif contained
\ CMAKE_MATCH_
\ CMP
\ COMMAND
+ \ COMPARE
\ DEFINED
\ EQUAL
\ EXISTS
@@ -3054,6 +3655,7 @@ syn keyword cmakeKWif contained
\ NOT
\ OFF
\ OR
+ \ PATH_EQUAL
\ POLICY
\ STREQUAL
\ STRGREATER
@@ -3098,11 +3700,14 @@ syn keyword cmakeKWinclude_guard contained
syn keyword cmakeKWinstall contained
\ AFTER
\ AIX
+ \ ALL_COMPONENTS
\ APT
\ ARCHIVE
\ BEFORE
\ BUILD_TYPE
\ BUNDLE
+ \ BUNDLE_EXECUTABLE
+ \ CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API
\ CMAKE_INSTALL_BINDIR
\ CMAKE_INSTALL_DATADIR
\ CMAKE_INSTALL_DATAROOTDIR
@@ -3113,6 +3718,7 @@ syn keyword cmakeKWinstall contained
\ CMAKE_INSTALL_LOCALEDIR
\ CMAKE_INSTALL_LOCALSTATEDIR
\ CMAKE_INSTALL_MANDIR
+ \ CMAKE_INSTALL_MODE
\ CMAKE_INSTALL_RUNSTATEDIR
\ CMAKE_INSTALL_SBINDIR
\ CMAKE_INSTALL_SHARESTATEDIR
@@ -3121,6 +3727,8 @@ syn keyword cmakeKWinstall contained
\ COMPONENT
\ CONFIGURATIONS
\ CVS
+ \ CXX_MODULES_BMI
+ \ CXX_MODULES_DIRECTORY
\ DATA
\ DATAROOT
\ DBUILD_TYPE
@@ -3133,6 +3741,7 @@ syn keyword cmakeKWinstall contained
\ DOC
\ ENABLE_EXPORTS
\ EXCLUDE_FROM_ALL
+ \ EXECUTABLES
\ EXPORT
\ EXPORT_ANDROID_MK
\ EXPORT_LINK_INTERFACE_LIBRARIES
@@ -3140,14 +3749,18 @@ syn keyword cmakeKWinstall contained
\ FILES
\ FILES_MATCHING
\ FILE_PERMISSIONS
+ \ FILE_SET
\ FRAMEWORK
+ \ GET_RUNTIME_DEPENDENCIES
\ GROUP_EXECUTE
\ GROUP_READ
\ GROUP_WRITE
- \ IMPORTED_
+ \ HEADERS
+ \ IMPORTED_RUNTIME_ARTIFACTS
\ INCLUDES
\ INFO
\ INSTALL_PREFIX
+ \ INTERFACE
\ INTERFACE_INCLUDE_DIRECTORIES
\ LIBRARY
\ LOCALE
@@ -3167,18 +3780,24 @@ syn keyword cmakeKWinstall contained
\ OWNER_WRITE
\ PATTERN
\ PERMISSIONS
+ \ POST_EXCLUDE_FILES
+ \ POST_EXCLUDE_REGEXES
+ \ POST_INCLUDE_FILES
+ \ POST_INCLUDE_REGEXES
\ POST_INSTALL_SCRIPT
+ \ PRE_EXCLUDE_REGEXES
+ \ PRE_INCLUDE_REGEXES
\ PRE_INSTALL_SCRIPT
\ PRIVATE_HEADER
\ PROGRAMS
\ PROPERTIES
\ PUBLIC_HEADER
- \ REGEX
\ RENAME
\ RESOURCE
\ RPM
\ RUNSTATE
- \ RUNTIME
+ \ RUNTIME_DEPENDENCIES
+ \ RUNTIME_DEPENDENCY_SET
\ SBIN
\ SCRIPT
\ SETGID
@@ -3259,6 +3878,11 @@ syn keyword cmakeKWlist contained
\ TOLOWER
\ TOUPPER
\ TRANSFORM
+ \ TRANSFORM_APPEND
+ \ TRANSFORM_GENEX_STRIP
+ \ TRANSFORM_REPLACE
+ \ TRANSFORM_STRIP
+ \ TRANSFORM_TOLOWER
syn keyword cmakeKWload_cache contained
\ EXCLUDE
@@ -3296,10 +3920,15 @@ syn keyword cmakeKWmessage contained
\ CHECK_FAIL
\ CHECK_PASS
\ CHECK_START
+ \ CONFIGURE_LOG
\ DEBUG
+ \ DEFINED
\ DEPRECATION
\ FATAL_ERROR
+ \ GET_MESSAGE_LOG_LEVEL
\ GUI
+ \ INTERNAL
+ \ MY_CHECK_RESULT
\ NOTICE
\ POP_BACK
\ SEND_ERROR
@@ -3310,13 +3939,17 @@ syn keyword cmakeKWmessage contained
syn keyword cmakeKWoption contained
\ OFF
- \ ON
syn keyword cmakeKWproject contained
\ ASM
+ \ ASM_MARMASM
+ \ ASM_MASM
+ \ ASM_NASM
+ \ ATT
\ CMAKE_PROJECT_
\ CUDA
\ DESCRIPTION
+ \ HIP
\ HOMEPAGE_URL
\ ISPC
\ LANGUAGES
@@ -3330,6 +3963,7 @@ syn keyword cmakeKWproject contained
\ _DESCRIPTION
\ _HOMEPAGE_URL
\ _INCLUDE_BEFORE
+ \ _IS_TOP_LEVEL
\ _SOURCE_DIR
\ _VERSION
\ _VERSION_MAJOR
@@ -3349,6 +3983,11 @@ syn keyword cmakeKWremove contained
syn keyword cmakeKWreturn contained
\ DEFER
+ \ PARENT_SCOPE
+ \ PROPAGATE
+ \ SCOPE_FOR
+ \ VARIABLES
+ \ VERSION
syn keyword cmakeKWseparate_arguments contained
\ MSDN
@@ -3364,10 +4003,13 @@ syn keyword cmakeKWset contained
\ FORCE
\ INTERNAL
\ OFF
+ \ OLD
\ ON
\ PARENT_SCOPE
+ \ PROPAGATE
\ STRING
\ STRINGS
+ \ VAR
syn keyword cmakeKWset_directory_properties contained
\ DIRECTORY
@@ -3377,9 +4019,11 @@ syn keyword cmakeKWset_property contained
\ APPEND
\ APPEND_STRING
\ DIRECTORY
+ \ GENERATED
\ GLOBAL
\ INHERITED
\ INSTALL
+ \ NAME
\ PROPERTY
\ SOURCE
\ TARGET
@@ -3389,17 +4033,17 @@ syn keyword cmakeKWset_property contained
syn keyword cmakeKWset_source_files_properties contained
\ DIRECTORY
+ \ GENERATED
\ PROPERTIES
\ SOURCE
\ TARGET_DIRECTORY
syn keyword cmakeKWset_target_properties contained
\ PROPERTIES
- \ TARGET
syn keyword cmakeKWset_tests_properties contained
+ \ NAME
\ PROPERTIES
- \ TEST
syn keyword cmakeKWsite_name contained
\ HOSTNAME
@@ -3431,9 +4075,9 @@ syn keyword cmakeKWstring contained
\ GUID
\ HASH
\ HEX
+ \ ISO
\ JOIN
\ JSON
- \ JSONLENGTH
\ LENGTH
\ LESS
\ LESS_EQUAL
@@ -3498,7 +4142,10 @@ syn keyword cmakeKWtarget_compile_features contained
syn keyword cmakeKWtarget_compile_options contained
\ ALIAS
\ BEFORE
+ \ CMAKE_
+ \ COMPILE_LANGUAGE
\ COMPILE_OPTIONS
+ \ CONFIG
\ IMPORTED
\ INTERFACE
\ INTERFACE_COMPILE_OPTIONS
@@ -3506,8 +4153,11 @@ syn keyword cmakeKWtarget_compile_options contained
\ PUBLIC
\ SHELL
\ UNIX_COMMAND
+ \ _FLAGS
+ \ _FLAGS_
syn keyword cmakeKWtarget_include_directories contained
+ \ AFTER
\ ALIAS
\ BEFORE
\ BUILD_INTERFACE
@@ -3544,6 +4194,7 @@ syn keyword cmakeKWtarget_link_libraries contained
\ IMPORTED_NO_SONAME
\ INTERFACE
\ INTERFACE_LINK_LIBRARIES
+ \ LINK_FLAGS
\ LINK_INTERFACE_LIBRARIES
\ LINK_INTERFACE_LIBRARIES_DEBUG
\ LINK_INTERFACE_MULTIPLICITY
@@ -3556,16 +4207,17 @@ syn keyword cmakeKWtarget_link_libraries contained
\ PUBLIC
\ SHARED
\ STATIC
+ \ TARGET_OBJECTS
syn keyword cmakeKWtarget_link_options contained
\ ALIAS
\ BEFORE
\ CMAKE_
+ \ CONFIG
\ CUDA_RESOLVE_DEVICE_SYMBOLS
\ CUDA_SEPARABLE_COMPILATION
\ DEVICE_LINK
\ GCC
- \ GNU
\ HOST_LINK
\ IMPORTED
\ INTERFACE
@@ -3578,6 +4230,8 @@ syn keyword cmakeKWtarget_link_options contained
\ SHELL
\ STATIC_LIBRARY_OPTIONS
\ UNIX_COMMAND
+ \ _FLAGS
+ \ _FLAGS_
\ _LINKER_WRAPPER_FLAG
\ _LINKER_WRAPPER_FLAG_SEP
@@ -3602,15 +4256,46 @@ syn keyword cmakeKWtarget_precompile_headers contained
syn keyword cmakeKWtarget_sources contained
\ ALIAS
+ \ BASE_DIRS
+ \ BUILD_INTERFACE
+ \ CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API
+ \ CONFIG
+ \ CORRECT
+ \ CXX_MODULES
+ \ CXX_MODULE_DIRS
+ \ CXX_MODULE_DIRS_
+ \ CXX_MODULE_SETS
+ \ CXX_MODULE_SET_
+ \ EXPORT
+ \ FILES
+ \ FILE_SET
+ \ FRAMEWORK
+ \ HEADERS
+ \ HEADER_DIRS
+ \ HEADER_DIRS_
+ \ HEADER_FILE_ONLY
+ \ HEADER_SETS
+ \ HEADER_SET_
\ IMPORTED
+ \ INCLUDE_DIRECTORIES
\ INTERFACE
+ \ INTERFACE_CXX_MODULE_SETS
+ \ INTERFACE_HEADER_SETS
+ \ INTERFACE_INCLUDE_DIRECTORIES
\ INTERFACE_SOURCES
+ \ NAME
\ PRIVATE
\ PUBLIC
\ SOURCES
+ \ SOURCE_DIR
+ \ TARGETS
+ \ TRUE
+ \ TYPE
+ \ WRONG
syn keyword cmakeKWtry_compile contained
\ ALL_BUILD
+ \ BINARY_DIR
\ CMAKE_FLAGS
\ COMPILE_DEFINITIONS
\ COPY_FILE
@@ -3630,13 +4315,19 @@ syn keyword cmakeKWtry_compile contained
\ EXECUTABLE
\ FALSE
\ GHS
+ \ HIP_EXTENSIONS
+ \ HIP_STANDARD
+ \ HIP_STANDARD_REQUIRED
\ INCLUDE_DIRECTORIES
\ LANG
\ LINK_DIRECTORIES
\ LINK_LIBRARIES
\ LINK_OPTIONS
+ \ LOG_DESCRIPTION
\ MULTI
\ NOT
+ \ NO_CACHE
+ \ NO_LOG
\ OBJCXX_EXTENSIONS
\ OBJCXX_STANDARD
\ OBJCXX_STANDARD_REQUIRED
@@ -3645,9 +4336,16 @@ syn keyword cmakeKWtry_compile contained
\ OBJC_STANDARD_REQUIRED
\ OUTPUT_VARIABLE
\ PRIVATE
+ \ PROJECT
+ \ RESULTVAR
\ SOURCES
+ \ SOURCE_DIR
+ \ SOURCE_FROM_CONTENT
+ \ SOURCE_FROM_FILE
+ \ SOURCE_FROM_VAR
\ STATIC_LIBRARY
\ STATIC_LIBRARY_OPTIONS
+ \ TARGET
\ TRUE
\ TYPE
\ VALUE
@@ -3660,18 +4358,28 @@ syn keyword cmakeKWtry_run contained
\ CMAKE_FLAGS
\ COMPILE_DEFINITIONS
\ COMPILE_OUTPUT_VARIABLE
- \ DLINK_LIBRARIES
- \ DVAR
+ \ COPY_FILE
+ \ COPY_FILE_ERROR
\ FAILED_TO_RUN
\ FALSE
- \ INCLUDE_DIRECTORIES
- \ LINK_DIRECTORIES
+ \ LANG
\ LINK_LIBRARIES
\ LINK_OPTIONS
+ \ LOG_DESCRIPTION
+ \ NO_CACHE
+ \ NO_LOG
+ \ RUN_OUTPUT_STDERR_VARIABLE
+ \ RUN_OUTPUT_STDOUT_VARIABLE
\ RUN_OUTPUT_VARIABLE
+ \ SOURCES
+ \ SOURCE_FROM_CONTENT
+ \ SOURCE_FROM_FILE
+ \ SOURCE_FROM_VAR
\ TRUE
- \ TYPE
- \ VALUE
+ \ WORKING_DIRECTORY
+ \ _EXTENSIONS
+ \ _STANDARD
+ \ _STANDARD_REQUIRED
\ __TRYRUN_OUTPUT
syn keyword cmakeKWunset contained
@@ -3705,26 +4413,38 @@ syn keyword cmakeKWwrite_file contained
syn keyword cmakeGeneratorExpressions contained
- \ AND
+ \ ABSOLUTE_PATH
+ \ ACTION
+ \ AIX
\ ANGLE
+ \ APPEND
\ ARCHIVE_OUTPUT_NAME
\ ARCHIVE_OUTPUT_NAME_
+ \ ASCENDING
\ BAR
\ BOOL
\ BUILD_INTERFACE
- \ CMAKE_
- \ COMMA
- \ COMMAND
+ \ BUILD_LOCAL_INTERFACE
+ \ CMAKE_LINK_GROUP_USING_
+ \ CMAKE_LINK_LIBRARY_USING_
+ \ CMAKE_PATH
+ \ CODE
+ \ COMMAND_CONFIG
+ \ COMMAND_EXPAND_LISTS
+ \ COMPARE
\ COMPILE_DEFINITIONS
\ COMPILE_FEATURES
\ COMPILE_LANGUAGE
\ COMPILE_LANG_AND_ID
+ \ COMPILE_ONLY
\ COMPILING_CUDA
+ \ COMPILING_CXX
\ COMPILING_CXX_WITH_CLANG
\ COMPILING_CXX_WITH_INTEL
\ COMPILING_C_WITH_CLANG
\ CONFIG
\ CONFIGURATION
+ \ CONTENT
\ CUDA_COMPILER_ID
\ CUDA_COMPILER_VERSION
\ CUDA_RESOLVE_DEVICE_SYMBOLS
@@ -3739,68 +4459,146 @@ syn keyword cmakeGeneratorExpressions contained
\ C_STANDARD
\ DEBUG_MODE
\ DEBUG_POSTFIX
+ \ DENABLE_SOME_FEATURE
+ \ DESCENDING
\ DEVICE_LINK
\ DLL
+ \ ENABLE_EXPORTS
\ EXCLUDE
\ EXPORT
+ \ EXTENSION_DEF
\ FALSE
+ \ FILENAME_DEF
+ \ FILE_BASENAME
\ FILTER
+ \ FIND
\ FOO_EXTRA_THINGS
\ GENERATE
\ GENEX_EVAL
- \ GNU
+ \ GET_EXTENSION
+ \ GET_FILENAME
+ \ GET_PARENT_PATH
+ \ GET_RELATIVE_PART
+ \ GET_ROOT_DIRECTORY
+ \ GET_ROOT_NAME
+ \ GET_ROOT_PATH
+ \ GET_STEM
+ \ HAS_
+ \ HAS_EXTENSION
+ \ HAS_FILENAME
+ \ HAS_PARENT_PATH
+ \ HAS_RELATIVE_PART
+ \ HAS_ROOT_DIRECTORY
+ \ HAS_ROOT_NAME
+ \ HAS_ROOT_PATH
+ \ HAS_STEM
+ \ HAVE_SOME_FEATURE
+ \ HIP_COMPILER_ID
+ \ HIP_COMPILER_VERSION
+ \ HIP_STANDARD
\ HOST_LINK
\ IF
\ IGNORE
+ \ IMPORTED_LOCATION
\ IMPORT_PREFIX
\ IMPORT_SUFFIX
\ INCLUDE_DIRECTORIES
+ \ INSENSITIVE
+ \ INSERT
\ INSTALL_INTERFACE
\ INSTALL_NAME_DIR
\ INSTALL_PREFIX
- \ INTERFACE
+ \ INSTALL_RPATH
\ INTERFACE_LINK_LIBRARIES
+ \ INTERFACE_LINK_LIBRARIES_DIRECT
\ IN_LIST
\ ISPC_COMPILER_ID
\ ISPC_COMPILER_VERSION
+ \ IS_ABSOLUTE
+ \ IS_PREFIX
+ \ IS_RELATIVE
\ JOIN
\ LANG
\ LANG_COMPILER_ID
+ \ LAST_ONLY
+ \ LENGTH
\ LIBRARY_OUTPUT_NAME
\ LIBRARY_OUTPUT_NAME_
+ \ LINK_GROUP
+ \ LINK_GROUP_PREDEFINED_FEATURES
\ LINK_LANGUAGE
\ LINK_LANG_AND_ID
\ LINK_LIBRARIES
+ \ LINK_LIBRARY
+ \ LINK_LIBRARY_OVERRIDE
+ \ LINK_LIBRARY_OVERRIDE_
+ \ LINK_LIBRARY_PREDEFINED_FEATURES
\ LINK_ONLY
\ LOWER_CASE
\ MAKE_C_IDENTIFIER
\ MAP_IMPORTED_CONFIG_
+ \ MODULE
+ \ NATURAL
\ NO
+ \ NORMALIZE
+ \ NORMAL_PATH
\ NOT
\ OBJCXX_COMPILER_ID
\ OBJCXX_COMPILER_VERSION
\ OBJC_COMPILER_ID
\ OBJC_COMPILER_VERSION
+ \ OBJECT
\ OFF
\ OLD_COMPILER
+ \ ORDER
+ \ OUTPUT
+ \ OUTPUT_CONFIG
\ OUTPUT_NAME
\ OUTPUT_NAME_
+ \ PATH
+ \ PATH_EQUAL
\ PDB_NAME
\ PDB_NAME_
\ PDB_OUTPUT_DIRECTORY
\ PDB_OUTPUT_DIRECTORY_
\ PLATFORM_ID
+ \ POP_BACK
+ \ POP_FRONT
\ POSIX
+ \ POST_BUILD
+ \ PREPEND
\ PRIVATE
\ PUBLIC
+ \ REGEX
+ \ RELATIVE_PATH
+ \ REMOVE_AT
\ REMOVE_DUPLICATES
+ \ REMOVE_EXTENSION
+ \ REMOVE_FILENAME
+ \ REMOVE_ITEM
+ \ REPLACE
+ \ REPLACE_EXTENSION
+ \ REPLACE_FILENAME
+ \ REQUIRED
+ \ RESCAN
+ \ REVERSE
+ \ RPATH
+ \ RUNTIME_DEPENDENCY_SET
\ RUNTIME_OUTPUT_NAME
\ RUNTIME_OUTPUT_NAME_
+ \ SCRIPT
\ SDK
+ \ SELECTOR
\ SEMICOLON
+ \ SENSITIVE
+ \ SHARED
\ SHELL_PATH
+ \ SORT
\ STATIC
\ STREQUAL
+ \ STRING
+ \ STRIP
+ \ SUBLIST
\ TARGET_BUNDLE_CONTENT_DIR
\ TARGET_BUNDLE_DIR
\ TARGET_BUNDLE_DIR_NAME
@@ -3812,12 +4610,30 @@ syn keyword cmakeGeneratorExpressions contained
\ TARGET_FILE_PREFIX
\ TARGET_FILE_SUFFIX
\ TARGET_GENEX_EVAL
+ \ TARGET_IMPORT_FILE
+ \ TARGET_IMPORT_FILE_BASE_NAME
+ \ TARGET_IMPORT_FILE_DIR
+ \ TARGET_IMPORT_FILE_NAME
+ \ TARGET_IMPORT_FILE_PREFIX
+ \ TARGET_IMPORT_FILE_SUFFIX
\ TARGET_LINKER_FILE
\ TARGET_LINKER_FILE_BASE_NAME
\ TARGET_LINKER_FILE_DIR
\ TARGET_LINKER_FILE_NAME
\ TARGET_LINKER_FILE_PREFIX
\ TARGET_LINKER_FILE_SUFFIX
+ \ TARGET_LINKER_IMPORT_FILE
+ \ TARGET_LINKER_IMPORT_FILE_BASE_NAME
+ \ TARGET_LINKER_IMPORT_FILE_DIR
+ \ TARGET_LINKER_IMPORT_FILE_NAME
+ \ TARGET_LINKER_IMPORT_FILE_PREFIX
+ \ TARGET_LINKER_IMPORT_FILE_SUFFIX
+ \ TARGET_LINKER_LIBRARY_FILE
+ \ TARGET_LINKER_LIBRARY_FILE_BASE_NAME
+ \ TARGET_LINKER_LIBRARY_FILE_DIR
+ \ TARGET_LINKER_LIBRARY_FILE_NAME
+ \ TARGET_LINKER_LIBRARY_FILE_PREFIX
+ \ TARGET_LINKER_LIBRARY_FILE_SUFFIX
\ TARGET_NAME_IF_EXISTS
\ TARGET_OBJECTS
\ TARGET_PDB_FILE
@@ -3826,16 +4642,34 @@ syn keyword cmakeGeneratorExpressions contained
\ TARGET_PDB_FILE_NAME
\ TARGET_POLICY
\ TARGET_PROPERTY
+ \ TARGET_RUNTIME_DLLS
+ \ TARGET_RUNTIME_DLL_DIRS
\ TARGET_SONAME_FILE
\ TARGET_SONAME_FILE_DIR
\ TARGET_SONAME_FILE_NAME
+ \ TARGET_SONAME_IMPORT_FILE
+ \ TARGET_SONAME_IMPORT_FILE_DIR
+ \ TARGET_SONAME_IMPORT_FILE_NAME
+ \ TOLOWER
+ \ TOUPPER
+ \ TRANSFORM
+ \ TRANSFORM_APPEND
+ \ TRANSFORM_REPLACE
+ \ TRANSFORM_STRIP
+ \ TRANSFORM_TOLOWER
+ \ UNKNOWN
\ UPPER_CASE
+ \ VERBATIM
\ VERSION_EQUAL
- \ VERSION_GREATER
\ VERSION_GREATER_EQUAL
\ VERSION_LESS
\ VERSION_LESS_EQUAL
+ \ WHOLE_ARCHIVE
+ \ WRONG
+ \ _LINK_GROUP_USING_
+ \ _LINK_LIBRARY_USING_
\ _POSTFIX
+ \ _SUPPORTED
syn case ignore
@@ -3855,6 +4689,7 @@ syn keyword cmakeCommand
\ block
\ break
\ build_command
+ \ cmake_file_api
\ cmake_host_system_information
\ cmake_language
\ cmake_minimum_required
@@ -4004,6 +4839,7 @@ hi def link cmakeVariableValue Type
hi def link cmakeVariable Identifier
hi def link cmakeKWExternalProject ModeMsg
+hi def link cmakeKWFetchContent ModeMsg
hi def link cmakeKWadd_compile_definitions ModeMsg
hi def link cmakeKWadd_compile_options ModeMsg
hi def link cmakeKWadd_custom_command ModeMsg
@@ -4015,7 +4851,9 @@ hi def link cmakeKWadd_library ModeMsg
hi def link cmakeKWadd_link_options ModeMsg
hi def link cmakeKWadd_subdirectory ModeMsg
hi def link cmakeKWadd_test ModeMsg
+hi def link cmakeKWblock ModeMsg
hi def link cmakeKWbuild_command ModeMsg
+hi def link cmakeKWcmake_file_api ModeMsg
hi def link cmakeKWcmake_host_system_information ModeMsg
hi def link cmakeKWcmake_language ModeMsg
hi def link cmakeKWcmake_minimum_required ModeMsg
diff --git a/Help/dev/experimental.rst b/Help/dev/experimental.rst
index eac86ab..7328d7b 100644
--- a/Help/dev/experimental.rst
+++ b/Help/dev/experimental.rst
@@ -18,7 +18,7 @@ C++20 Module APIs
=================
Variable: ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
-Value: ``aa1f7df0-828a-4fcd-9afc-2dc80491aca7``
+Value: ``bf70d4b0-9fb7-465c-9803-34014e70d112``
In order to support C++20 modules, there are a number of behaviors that have
CMake APIs to provide the required features to build and export them from a
diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst
index 473e8d7..8c3f2d7 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -333,6 +333,15 @@ Most of the expressions in this section are closely associated with the
:command:`list` command, providing the same capabilities, but in
the form of a generator expression.
+In each of the following list-related generator expressions, the ``list``
+must not contain any commas if that generator expression expects something to
+be provided after the ``list``. For example, the expression
+``$<LIST:FIND,list,value>`` requires a ``value`` after the ``list``.
+Since a comma is used to separate the ``list`` and the ``value``, the ``list``
+cannot itself contain a comma. This restriction does not apply to the
+:command:`list` command, it is specific to the list-handling generator
+expressions only.
+
.. _GenEx List Comparisons:
List Comparisons
@@ -354,133 +363,151 @@ List Queries
.. versionadded:: 3.27
- Returns the list's length.
+ The number of items in the ``list``.
.. genex:: $<LIST:GET,list,index,...>
.. versionadded:: 3.27
- Returns the list of elements specified by indices from the list.
+ Expands to the list of items specified by indices from the ``list``.
.. genex:: $<LIST:SUBLIST,list,begin,length>
.. versionadded:: 3.27
- Returns a sublist of the given list. If <length> is 0, an empty list will be
- returned. If <length> is -1 or the list is smaller than <begin>+<length> then
- the remaining elements of the list starting at <begin> will be returned.
+ A sublist of the given ``list``. If ``length`` is 0, an empty list
+ will be returned. If ``length`` is -1 or the list is smaller than
+ ``begin + length``, the remaining items of the list starting at
+ ``begin`` will be returned.
.. genex:: $<LIST:FIND,list,value>
.. versionadded:: 3.27
- Returns the index of the element specified in the list or -1 if it wasn't
- found.
+ The index of the first item in ``list`` with the specified ``value``,
+ or -1 if ``value`` is not in the ``list``.
.. _GenEx List Transformations:
List Transformations
^^^^^^^^^^^^^^^^^^^^
+.. _GenEx LIST-JOIN:
+
.. genex:: $<LIST:JOIN,list,glue>
.. versionadded:: 3.27
- Returns a string which joins the list with the content of the ``glue`` string
- inserted between each item.
+ Converts ``list`` to a single string with the content of the ``glue`` string
+ inserted between each item. This is conceptually the same operation as
+ :genex:`$<JOIN:list,glue>`, but the two have different behavior with regard
+ to empty items. ``$<LIST:JOIN,list,glue>`` preserves all empty items,
+ whereas :genex:`$<JOIN:list,glue>` drops all empty items from the list.
-.. genex:: $<LIST:APPEND,list,element,...>
+.. genex:: $<LIST:APPEND,list,item,...>
.. versionadded:: 3.27
- Returns a list with the elements appended.
+ The ``list`` with each ``item`` appended. Multiple items should be
+ separated by commas.
-.. genex:: $<LIST:PREPEND,list,element,...>
+.. genex:: $<LIST:PREPEND,list,item,...>
.. versionadded:: 3.27
- Returns a list with the elements inserted at the beginning of the list.
+ The ``list`` with each ``item`` inserted at the beginning. If there are
+ multiple items, they should be separated by commas, and the order of the
+ prepended items will be preserved.
-.. genex:: $<LIST:INSERT,list,index,element,...>
+.. genex:: $<LIST:INSERT,list,index,item,...>
.. versionadded:: 3.27
- Returns a list with the elements inserted at the specified index. It is an
- error to specify an out-of-range index. Valid indexes are 0 to N where N is
- the length of the list, inclusive. An empty list has length 0.
+ The ``list`` with the ``item`` (or multiple items) inserted at the specified
+ ``index``. Multiple items should be separated by commas.
+
+ It is an error to specify an out-of-range ``index``. Valid indexes are 0 to N,
+ where N is the length of the list, inclusive. An empty list has length 0.
.. genex:: $<LIST:POP_BACK,list>
.. versionadded:: 3.27
- Returns a list with the last element was removed.
+ The ``list`` with the last item removed.
.. genex:: $<LIST:POP_FRONT,list>
.. versionadded:: 3.27
- Returns a list with the first element was removed.
+ The ``list`` with the first item removed.
.. genex:: $<LIST:REMOVE_ITEM,list,value,...>
.. versionadded:: 3.27
- Returns a list with all instances of the given values were removed.
+ The ``list`` with all instances of the given ``value`` (or values) removed.
+ If multiple values are given, they should be separated by commas.
.. genex:: $<LIST:REMOVE_AT,list,index,...>
.. versionadded:: 3.27
- Returns a list with all values at given indices were removed.
+ The ``list`` with the item at each given ``index`` removed.
+
+.. _GenEx LIST-REMOVE_DUPLICATES:
.. genex:: $<LIST:REMOVE_DUPLICATES,list>
.. versionadded:: 3.27
- Returns a list where duplicated items were removed. The relative order of
+ The ``list`` with all duplicated items removed. The relative order of
items is preserved, but if duplicates are encountered, only the first
- instance is preserved.
+ instance is preserved. The result is the same as
+ :genex:`$<REMOVE_DUPLICATES:list>`.
+
+.. _GenEx LIST-FILTER:
.. genex:: $<LIST:FILTER,list,INCLUDE|EXCLUDE,regex>
.. versionadded:: 3.27
- Returns a list with the items that match the regular expression ``regex``
- were included or removed.
+ A list of items from the ``list`` which match (``INCLUDE``) or do not match
+ (``EXCLUDE``) the regular expression ``regex``. The result is the same as
+ :genex:`$<FILTER:list,INCLUDE|EXCLUDE,regex>`.
.. genex:: $<LIST:TRANSFORM,list,ACTION[,SELECTOR]>
.. versionadded:: 3.27
- Returns the list transformed by applying an ``ACTION`` to all or, by
- specifying a ``SELECTOR``, to the selected elements of the list.
+ The ``list`` transformed by applying an ``ACTION`` to all or, by
+ specifying a ``SELECTOR``, to the selected list items.
.. note::
- The ``TRANSFORM`` sub-command does not change the number of elements in the
- list. If a ``SELECTOR`` is specified, only some elements will be changed,
+ The ``TRANSFORM`` sub-command does not change the number of items in the
+ list. If a ``SELECTOR`` is specified, only some items will be changed,
the other ones will remain the same as before the transformation.
- ``ACTION`` specifies the action to apply to the elements of the list.
- The actions have exactly the same semantics as of the
+ ``ACTION`` specifies the action to apply to the items of the list.
+ The actions have exactly the same semantics as for the
:command:`list(TRANSFORM)` command. ``ACTION`` must be one of the following:
:command:`APPEND <list(TRANSFORM_APPEND)>`, :command:`PREPEND <list(TRANSFORM_APPEND)>`
- Append, prepend specified value to each element of the list.
+ Append, prepend specified value to each item of the list.
.. code-block:: cmake
$<LIST:TRANSFORM,list,(APPEND|PREPEND),value[,SELECTOR]>
:command:`TOLOWER <list(TRANSFORM_TOLOWER)>`, :command:`TOUPPER <list(TRANSFORM_TOLOWER)>`
- Convert each element of the list to lower, upper characters.
+ Convert each item of the list to lower, upper characters.
.. code-block:: cmake
$<LIST:TRANSFORM,list,(TOLOWER|TOUPPER)[,SELECTOR]>
:command:`STRIP <list(TRANSFORM_STRIP)>`
- Remove leading and trailing spaces from each element of the list.
+ Remove leading and trailing spaces from each item of the list.
.. code-block:: cmake
@@ -488,13 +515,13 @@ List Transformations
:command:`REPLACE <list(TRANSFORM_REPLACE)>`:
Match the regular expression as many times as possible and substitute
- the replacement expression for the match for each element of the list.
+ the replacement expression for the match for each item of the list.
.. code-block:: cmake
$<LIST:TRANSFORM,list,REPLACE,regular_expression,replace_expression[,SELECTOR]>
- ``SELECTOR`` determines which elements of the list will be transformed.
+ ``SELECTOR`` determines which items of the list will be transformed.
Only one type of selector can be specified at a time. When given,
``SELECTOR`` must be one of the following:
@@ -515,7 +542,7 @@ List Transformations
``REGEX``
Specify a regular expression.
- Only elements matching the regular expression will be transformed.
+ Only items matching the regular expression will be transformed.
.. code-block:: cmake
@@ -523,23 +550,29 @@ List Transformations
.. genex:: $<JOIN:list,glue>
- Joins the list with the content of the ``glue`` string inserted between each
- item.
+ Joins the ``list`` with the content of the ``glue`` string inserted between
+ each item. This is conceptually the same operation as
+ :ref:`$\<LIST:JOIN,list,glue\> <GenEx LIST-JOIN>`, but the two have
+ different behavior with regard to empty items.
+ :ref:`$\<LIST:JOIN,list,glue\> <GenEx LIST-JOIN>` preserves all empty items,
+ whereas ``$<JOIN,list,glue>`` drops all empty items from the list.
.. genex:: $<REMOVE_DUPLICATES:list>
.. versionadded:: 3.15
Removes duplicated items in the given ``list``. The relative order of items
- is preserved, but if duplicates are encountered, only the first instance is
- preserved.
+ is preserved, and if duplicates are encountered, only the first instance is
+ retained. The result is the same as
+ :ref:`$\<LIST:REMOVE_DUPLICATES,list\> <GenEx LIST-REMOVE_DUPLICATES>`.
.. genex:: $<FILTER:list,INCLUDE|EXCLUDE,regex>
.. versionadded:: 3.15
Includes or removes items from ``list`` that match the regular expression
- ``regex``.
+ ``regex``. The result is the same as
+ :ref:`$\<LIST:FILTER,list,INCLUDE|EXCLUDE,regex\> <GenEx LIST-FILTER>`.
.. _GenEx List Ordering:
@@ -550,13 +583,13 @@ List Ordering
.. versionadded:: 3.27
- Returns the list with the elements in reverse order.
+ The ``list`` with the items in reverse order.
.. genex:: $<LIST:SORT,list[,(COMPARE:option|CASE:option|ORDER:option)]...>
.. versionadded:: 3.27
- Returns the list sorted according the specified options.
+ The ``list`` sorted according to the specified options.
Use one of the ``COMPARE`` options to select the comparison method
for sorting:
@@ -566,26 +599,25 @@ List Ordering
This is the default behavior if the ``COMPARE`` option is not given.
``FILE_BASENAME``
- Sorts a list of pathnames of files by their basenames.
+ Sorts a list of file paths by their basenames.
``NATURAL``
- Sorts a list of strings using natural order
- (see ``strverscmp(3)`` manual), i.e. such that contiguous digits
- are compared as whole numbers.
- For example: the following list `10.0 1.1 2.1 8.0 2.0 3.1`
- will be sorted as `1.1 2.0 2.1 3.1 8.0 10.0` if the ``NATURAL``
- comparison is selected where it will be sorted as
- `1.1 10.0 2.0 2.1 3.1 8.0` with the ``STRING`` comparison.
+ Sorts a list of strings using natural order (see the man page for
+ ``strverscmp(3)``), such that contiguous digits are compared as whole
+ numbers. For example, the following list ``10.0 1.1 2.1 8.0 2.0 3.1``
+ will be sorted as ``1.1 2.0 2.1 3.1 8.0 10.0`` if the ``NATURAL``
+ comparison is selected, whereas it will be sorted as
+ ``1.1 10.0 2.0 2.1 3.1 8.0`` with the ``STRING`` comparison.
- Use one of the ``CASE`` options to select a case sensitive or case
- insensitive sort mode:
+ Use one of the ``CASE`` options to select a case-sensitive or
+ case-insensitive sort mode:
``SENSITIVE``
List items are sorted in a case-sensitive manner.
This is the default behavior if the ``CASE`` option is not given.
``INSENSITIVE``
- List items are sorted case insensitively. The order of
+ List items are sorted in a case-insensitive manner. The order of
items which differ only by upper/lowercase is not specified.
To control the sort order, one of the ``ORDER`` options can be given:
@@ -597,8 +629,8 @@ List Ordering
``DESCENDING``
Sorts the list in descending order.
- This is an error to specify multiple times the same option. Various options
- can be specified in any order:
+ Options can be specified in any order, but it is an error to specify the
+ same option multiple times.
.. code-block:: cmake
@@ -1789,20 +1821,20 @@ In the following, the phrase "the ``tgt`` filename" means the name of the
.. versionadded:: 3.27
Full path to the linker import file. On DLL platforms, it would be the
- ``.lib`` file. On AIX, for the executables, and on macOS, for the shared
- libraries, it could be, respectively, the ``.imp`` or ``.tbd`` import file,
- depending of the value of :prop_tgt:`ENABLE_EXPORTS` property.
+ ``.lib`` file. For executables on AIX, and for shared libraries on macOS,
+ it could be, respectively, the ``.imp`` or ``.tbd`` import file,
+ depending on the value of the :prop_tgt:`ENABLE_EXPORTS` property.
- An empty string is returned when there is no import file associated with the
- target.
+ This expands to an empty string when there is no import file associated
+ with the target.
.. genex:: $<TARGET_IMPORT_FILE_BASE_NAME:tgt>
.. versionadded:: 3.27
- Base name of file linker import file of the target ``tgt`` without prefix and
- suffix. For example, if target file name is ``libbase.tbd``, the base name is
- ``base``.
+ Base name of the linker import file of the target ``tgt`` without prefix or
+ suffix. For example, if the target file name is ``libbase.tbd``, the base
+ name is ``base``.
See also the :prop_tgt:`OUTPUT_NAME` and :prop_tgt:`ARCHIVE_OUTPUT_NAME`
target properties and their configuration specific variants
@@ -1831,7 +1863,7 @@ In the following, the phrase "the ``tgt`` filename" means the name of the
Suffix of the import file of the target ``tgt``.
- The suffix corresponds to the file extension (such as ".lib" or ".tbd").
+ The suffix corresponds to the file extension (such as ``.lib`` or ``.tbd``).
See also the :prop_tgt:`IMPORT_SUFFIX` target property.
@@ -1842,13 +1874,15 @@ In the following, the phrase "the ``tgt`` filename" means the name of the
.. versionadded:: 3.27
- Name of the import file of the target target ``tgt``.
+ Name of the import file of the target ``tgt``.
Note that ``tgt`` is not added as a dependency of the target this
expression is evaluated on.
.. genex:: $<TARGET_IMPORT_FILE_DIR:tgt>
+ .. versionadded:: 3.27
+
Directory of the import file of the target ``tgt``.
Note that ``tgt`` is not added as a dependency of the target this
@@ -1863,11 +1897,11 @@ In the following, the phrase "the ``tgt`` filename" means the name of the
.. versionadded:: 3.27
On macOS, it could be the ``.tbd`` import file associated with the shared
- library, depending of the value of :prop_tgt:`ENABLE_EXPORTS` property.
+ library, depending on the value of the :prop_tgt:`ENABLE_EXPORTS` property.
This generator expression is equivalent to
:genex:`$<TARGET_LINKER_LIBRARY_FILE>` or
- :genex:`$<TARGET_LINKER_IMPORT_FILE>` generator expressions, depending of the
+ :genex:`$<TARGET_LINKER_IMPORT_FILE>` generator expressions, depending on the
characteristics of the target and the platform.
.. genex:: $<TARGET_LINKER_FILE_BASE_NAME:tgt>
diff --git a/Help/manual/cmake-toolchains.7.rst b/Help/manual/cmake-toolchains.7.rst
index a831fa6..e32bd29 100644
--- a/Help/manual/cmake-toolchains.7.rst
+++ b/Help/manual/cmake-toolchains.7.rst
@@ -573,12 +573,12 @@ See also target properties:
* :prop_tgt:`ANDROID_SKIP_ANT_STEP`
* :prop_tgt:`ANDROID_STL_TYPE`
-.. _`Cross Compiling for iOS, tvOS, or watchOS`:
+.. _`Cross Compiling for iOS, tvOS, visionOS, or watchOS`:
-Cross Compiling for iOS, tvOS, or watchOS
------------------------------------------
+Cross Compiling for iOS, tvOS, visionOS, or watchOS
+---------------------------------------------------
-For cross-compiling to iOS, tvOS, or watchOS, the :generator:`Xcode`
+For cross-compiling to iOS, tvOS, visionOS, or watchOS, the :generator:`Xcode`
generator is recommended. The :generator:`Unix Makefiles` or
:generator:`Ninja` generators can also be used, but they require the
project to handle more areas like target CPU selection and code signing.
@@ -591,13 +591,14 @@ a different SDK (e.g. a simulator) can be selected by setting the
necessary (see :ref:`Switching Between Device and Simulator` below).
A list of available SDKs can be obtained by running ``xcodebuild -showsdks``.
-======= ================= ==================== ================
-OS CMAKE_SYSTEM_NAME Device SDK (default) Simulator SDK
-======= ================= ==================== ================
-iOS iOS iphoneos iphonesimulator
-tvOS tvOS appletvos appletvsimulator
-watchOS watchOS watchos watchsimulator
-======= ================= ==================== ================
+======== ================= ==================== ================
+OS CMAKE_SYSTEM_NAME Device SDK (default) Simulator SDK
+======== ================= ==================== ================
+iOS iOS iphoneos iphonesimulator
+tvOS tvOS appletvos appletvsimulator
+visionOS visionOS xros xrsimulator
+watchOS watchOS watchos watchsimulator
+======== ================= ==================== ================
For example, to create a CMake configuration for iOS, the following
command is sufficient:
@@ -608,7 +609,7 @@ command is sufficient:
Variable :variable:`CMAKE_OSX_ARCHITECTURES` can be used to set architectures
for both device and simulator. Variable :variable:`CMAKE_OSX_DEPLOYMENT_TARGET`
-can be used to set an iOS/tvOS/watchOS deployment target.
+can be used to set an iOS/tvOS/visionOS/watchOS deployment target.
Next configuration will install fat 5 architectures iOS library
and add the ``-miphoneos-version-min=9.3``/``-mios-simulator-version-min=9.3``
diff --git a/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst b/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
index 392b704..6794a26 100644
--- a/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
+++ b/Help/prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst
@@ -16,8 +16,8 @@ generator emits the ``EFFECTIVE_PLATFORM_NAME`` variable:
- If set to ``ON`` it will always be emitted
- If set to ``OFF`` it will never be emitted
- If unset (the default) it will only be emitted when the project was
- configured for an embedded Xcode SDK like iOS, tvOS, watchOS or any
- of the simulators.
+ configured for an embedded Xcode SDK like iOS, tvOS, visionOS, watchOS
+ or any of the simulators.
.. note::
diff --git a/Help/prop_tgt/IMPORTED_OBJECTS.rst b/Help/prop_tgt/IMPORTED_OBJECTS.rst
index d71c219..9aacea7 100644
--- a/Help/prop_tgt/IMPORTED_OBJECTS.rst
+++ b/Help/prop_tgt/IMPORTED_OBJECTS.rst
@@ -31,7 +31,7 @@ once per architecture for each source file. Unlike the other generators,
it does not generate universal object file binaries.
A further complication with the :generator:`Xcode` generator is that when
-targeting device platforms (iOS, tvOS or watchOS), the :generator:`Xcode`
+targeting device platforms (iOS, tvOS, visionOS or watchOS), the :generator:`Xcode`
generator has the ability to use either the device or simulator SDK without
needing CMake to be re-run. The SDK can be selected at build time.
But since some architectures can be supported by both the device and the
diff --git a/Help/release/3.14.rst b/Help/release/3.14.rst
index 8a9738c..5fedf7d 100644
--- a/Help/release/3.14.rst
+++ b/Help/release/3.14.rst
@@ -63,7 +63,8 @@ File-Based API
Platforms
---------
-* CMake now supports :ref:`Cross Compiling for iOS, tvOS, or watchOS`
+* CMake now supports
+ :ref:`Cross Compiling for iOS, tvOS, or watchOS <Cross Compiling for iOS, tvOS, visionOS, or watchOS>`
using simple toolchain files.
Command-Line
diff --git a/Help/release/3.27.rst b/Help/release/3.27.rst
index 930a0dc..52768d1 100644
--- a/Help/release/3.27.rst
+++ b/Help/release/3.27.rst
@@ -157,6 +157,12 @@ Generator Expressions
:ref:`transformation <GenEx Path Transformations>` operations learned
to process :ref:`lists <CMake Language Lists>` of paths element-wise.
+* The :genex:`TARGET_IMPORT_FILE`, :genex:`TARGET_IMPORT_FILE_BASE_NAME`,
+ :genex:`TARGET_IMPORT_FILE_PREFIX`, :genex:`TARGET_IMPORT_FILE_SUFFIX`,
+ :genex:`TARGET_IMPORT_FILE_NAME`, and :genex:`TARGET_IMPORT_FILE_DIR`
+ generator expressions were added. These expand to details about the
+ linker import file for a target.
+
* The :genex:`TARGET_RUNTIME_DLL_DIRS` generator expression was added.
It expands to a list of the directories containing DLLs in
:genex:`TARGET_RUNTIME_DLLS`.
diff --git a/Help/release/dev/apple-visionos.rst b/Help/release/dev/apple-visionos.rst
new file mode 100644
index 0000000..db76248
--- /dev/null
+++ b/Help/release/dev/apple-visionos.rst
@@ -0,0 +1,7 @@
+apple-visionos
+--------------
+
+* CMake learned about Apple visionOS and its `xros` and `xrsimulator` SDKs.
+ Compiling for Apple visionOS can be requested by setting
+ :variable:`CMAKE_SYSTEM_NAME` to ``visionOS``. For more
+ information see :manual:`cmake-toolchains(7)`.
diff --git a/Help/variable/APPLE.rst b/Help/variable/APPLE.rst
index 810d5fc..e799397 100644
--- a/Help/variable/APPLE.rst
+++ b/Help/variable/APPLE.rst
@@ -2,4 +2,4 @@ APPLE
-----
Set to ``True`` when the target system is an Apple platform
-(macOS, iOS, tvOS or watchOS).
+(macOS, iOS, tvOS, visionOS or watchOS).
diff --git a/Help/variable/CMAKE_MACOSX_BUNDLE.rst b/Help/variable/CMAKE_MACOSX_BUNDLE.rst
index 43ddff5..483c5b3 100644
--- a/Help/variable/CMAKE_MACOSX_BUNDLE.rst
+++ b/Help/variable/CMAKE_MACOSX_BUNDLE.rst
@@ -7,4 +7,4 @@ This variable is used to initialize the :prop_tgt:`MACOSX_BUNDLE` property on
all the targets. See that target property for additional information.
This variable is set to ``ON`` by default if :variable:`CMAKE_SYSTEM_NAME`
-equals to :ref:`iOS, tvOS or watchOS <Cross Compiling for iOS, tvOS, or watchOS>`.
+equals to :ref:`iOS, tvOS, visionOS or watchOS <Cross Compiling for iOS, tvOS, visionOS, or watchOS>`.
diff --git a/Help/variable/CMAKE_OSX_VARIABLE.txt b/Help/variable/CMAKE_OSX_VARIABLE.txt
index 5670980..962fcd3 100644
--- a/Help/variable/CMAKE_OSX_VARIABLE.txt
+++ b/Help/variable/CMAKE_OSX_VARIABLE.txt
@@ -7,6 +7,6 @@ remove it while initializing a cache entry of the same name) unless
policy :policy:`CMP0126` is set to ``NEW``.
Despite the ``OSX`` part in the variable name(s) they apply also to
-other SDKs than macOS like iOS, tvOS, or watchOS.
+other SDKs than macOS like iOS, tvOS, visionOS, or watchOS.
This variable is ignored on platforms other than Apple.
diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index 6c49096..4db9aa8 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -608,6 +608,7 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
if(CMAKE_OSX_SYSROOT)
set(id_sdkroot "SDKROOT = \"${CMAKE_OSX_SYSROOT}\";")
if(CMAKE_OSX_SYSROOT MATCHES "(^|/)[Ii][Pp][Hh][Oo][Nn][Ee]" OR
+ CMAKE_OSX_SYSROOT MATCHES "(^|/)[Xx][Rr]" OR
CMAKE_OSX_SYSROOT MATCHES "(^|/)[Aa][Pp][Pp][Ll][Ee][Tt][Vv]")
set(id_product_type "com.apple.product-type.bundle.unit-test")
elseif(CMAKE_OSX_SYSROOT MATCHES "(^|/)[Ww][Aa][Tt][Cc][Hh]")
diff --git a/Modules/CMakeSwiftInformation.cmake b/Modules/CMakeSwiftInformation.cmake
index 777c680..1c6f0df 100644
--- a/Modules/CMakeSwiftInformation.cmake
+++ b/Modules/CMakeSwiftInformation.cmake
@@ -21,7 +21,8 @@ set(CMAKE_INCLUDE_FLAG_Swift "-I ")
# FIXME: Move compiler- and platform-specific flags to the above-included modules.
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS"
- OR CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
+ OR CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "visionOS"
+ OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
set(CMAKE_SHARED_LIBRARY_SONAME_Swift_FLAG "-Xlinker -install_name -Xlinker ")
elseif(NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
set(CMAKE_SHARED_LIBRARY_SONAME_Swift_FLAG "-Xlinker -soname -Xlinker ")
@@ -30,7 +31,8 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
set(CMAKE_EXECUTABLE_RUNTIME_Swift_FLAG "-Xlinker -rpath -Xlinker ")
set(CMAKE_SHARED_LIBRARY_RUNTIME_Swift_FLAG "-Xlinker -rpath -Xlinker ")
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS"
- OR CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
+ OR CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "visionOS"
+ OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
set(CMAKE_EXECUTABLE_RUNTIME_Swift_FLAG_SEP "")
set(CMAKE_SHARED_LIBRARY_RUNTIME_Swift_FLAG_SEP "")
else()
diff --git a/Modules/CMakeSystemSpecificInitialize.cmake b/Modules/CMakeSystemSpecificInitialize.cmake
index e87d868..ee8cb86 100644
--- a/Modules/CMakeSystemSpecificInitialize.cmake
+++ b/Modules/CMakeSystemSpecificInitialize.cmake
@@ -25,7 +25,7 @@ unset(LINUX)
# It is useful to share the same aforementioned configuration files and
# avoids duplicating them in case of tightly related platforms.
#
-# An example are the platforms supported by Xcode (macOS, iOS, tvOS,
+# An example are the platforms supported by Xcode (macOS, iOS, tvOS, visionOS
# and watchOS). For all of those the CMAKE_EFFECTIVE_SYSTEM_NAME is
# set to Apple which results in using
# Platform/Apple-AppleClang-CXX.cmake for the Apple C++ compiler.
diff --git a/Modules/Platform/Android.cmake b/Modules/Platform/Android.cmake
index f490f0e..a240aff 100644
--- a/Modules/Platform/Android.cmake
+++ b/Modules/Platform/Android.cmake
@@ -4,6 +4,8 @@ if(CMAKE_ANDROID_NDK)
include(${CMAKE_ANDROID_NDK}/build/cmake/hooks/pre/Android.cmake OPTIONAL)
endif()
+include(Platform/Linux)
+
# Natively compiling on an Android host doesn't need these flags to be reset.
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
return()
diff --git a/Modules/Platform/Apple-Clang.cmake b/Modules/Platform/Apple-Clang.cmake
index 0681bfb..4d7546a 100644
--- a/Modules/Platform/Apple-Clang.cmake
+++ b/Modules/Platform/Apple-Clang.cmake
@@ -22,6 +22,10 @@ macro(__apple_compiler_clang lang)
set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mtvos-version-min=")
elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/AppleTVSimulator")
set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mtvos-simulator-version-min=")
+ elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/XROS")
+ set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mtargetos=xros")
+ elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/XRSimulator")
+ set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mtargetos=xros")
elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/WatchOS")
set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mwatchos-version-min=")
elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/WatchSimulator")
diff --git a/Modules/Platform/Darwin-Initialize.cmake b/Modules/Platform/Darwin-Initialize.cmake
index e253392..8d5bf8c 100644
--- a/Modules/Platform/Darwin-Initialize.cmake
+++ b/Modules/Platform/Darwin-Initialize.cmake
@@ -43,7 +43,7 @@ if(NOT CMAKE_CROSSCOMPILING AND
unset(_sysctl_stdout)
endif()
-# macOS, iOS, tvOS, and watchOS should lookup compilers from
+# macOS, iOS, tvOS, visionOS, and watchOS should lookup compilers from
# Platform/Apple-${CMAKE_CXX_COMPILER_ID}-<LANG>
set(CMAKE_EFFECTIVE_SYSTEM_NAME "Apple")
@@ -76,6 +76,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL iOS)
set(_CMAKE_OSX_SYSROOT_DEFAULT "iphoneos")
elseif(CMAKE_SYSTEM_NAME STREQUAL tvOS)
set(_CMAKE_OSX_SYSROOT_DEFAULT "appletvos")
+elseif(CMAKE_SYSTEM_NAME STREQUAL visionOS)
+ set(_CMAKE_OSX_SYSROOT_DEFAULT "xros")
elseif(CMAKE_SYSTEM_NAME STREQUAL watchOS)
set(_CMAKE_OSX_SYSROOT_DEFAULT "watchos")
elseif("${CMAKE_GENERATOR}" MATCHES Xcode
diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake
index 48a9065..d614182 100644
--- a/Modules/Platform/Darwin.cmake
+++ b/Modules/Platform/Darwin.cmake
@@ -1,4 +1,4 @@
-if(CMAKE_SYSTEM_NAME STREQUAL "iOS" OR CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
+if(CMAKE_SYSTEM_NAME STREQUAL "iOS" OR CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "visionOS" OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
if(NOT DEFINED CMAKE_MACOSX_BUNDLE)
set(CMAKE_MACOSX_BUNDLE ON)
endif()
diff --git a/Modules/Platform/visionOS-Determine-CXX.cmake b/Modules/Platform/visionOS-Determine-CXX.cmake
new file mode 100644
index 0000000..ac80fa6
--- /dev/null
+++ b/Modules/Platform/visionOS-Determine-CXX.cmake
@@ -0,0 +1 @@
+include(Platform/Darwin-Determine-CXX)
diff --git a/Modules/Platform/visionOS-Initialize.cmake b/Modules/Platform/visionOS-Initialize.cmake
new file mode 100644
index 0000000..e8431bc
--- /dev/null
+++ b/Modules/Platform/visionOS-Initialize.cmake
@@ -0,0 +1,7 @@
+include(Platform/Darwin-Initialize)
+
+if(NOT _CMAKE_OSX_SYSROOT_PATH MATCHES "/XR(OS|Simulator)")
+ message(FATAL_ERROR "${CMAKE_OSX_SYSROOT} is not an visionOS SDK")
+endif()
+
+set(_CMAKE_FEATURE_DETECTION_TARGET_TYPE STATIC_LIBRARY)
diff --git a/Modules/Platform/visionOS.cmake b/Modules/Platform/visionOS.cmake
new file mode 100644
index 0000000..850ddc2
--- /dev/null
+++ b/Modules/Platform/visionOS.cmake
@@ -0,0 +1 @@
+include(Platform/Darwin)
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index be2bb1a..6c76648 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 27)
-set(CMake_VERSION_PATCH 20230707)
+set(CMake_VERSION_PATCH 20230714)
#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
diff --git a/Source/cmCxxModuleMapper.cxx b/Source/cmCxxModuleMapper.cxx
index e836a2a..e6c10c6 100644
--- a/Source/cmCxxModuleMapper.cxx
+++ b/Source/cmCxxModuleMapper.cxx
@@ -74,8 +74,62 @@ CxxBmiLocation CxxModuleLocations::BmiGeneratorPathForModule(
namespace {
+struct TransitiveUsage
+{
+ TransitiveUsage(std::string name, std::string location, LookupMethod method)
+ : LogicalName(std::move(name))
+ , Location(std::move(location))
+ , Method(method)
+ {
+ }
+
+ std::string LogicalName;
+ std::string Location;
+ LookupMethod Method;
+};
+
+std::vector<TransitiveUsage> GetTransitiveUsages(
+ CxxModuleLocations const& loc, std::vector<cmSourceReqInfo> const& required,
+ CxxModuleUsage const& usages)
+{
+ std::set<std::string> transitive_usage_directs;
+ std::set<std::string> transitive_usage_names;
+
+ std::vector<TransitiveUsage> all_usages;
+
+ for (auto const& r : required) {
+ auto bmi_loc = loc.BmiGeneratorPathForModule(r.LogicalName);
+ if (bmi_loc.IsKnown()) {
+ all_usages.emplace_back(r.LogicalName, bmi_loc.Location(), r.Method);
+ transitive_usage_directs.insert(r.LogicalName);
+
+ // Insert transitive usages.
+ auto transitive_usages = usages.Usage.find(r.LogicalName);
+ if (transitive_usages != usages.Usage.end()) {
+ transitive_usage_names.insert(transitive_usages->second.begin(),
+ transitive_usages->second.end());
+ }
+ }
+ }
+
+ for (auto const& transitive_name : transitive_usage_names) {
+ if (transitive_usage_directs.count(transitive_name)) {
+ continue;
+ }
+
+ auto module_ref = usages.Reference.find(transitive_name);
+ if (module_ref != usages.Reference.end()) {
+ all_usages.emplace_back(transitive_name, module_ref->second.Path,
+ module_ref->second.Method);
+ }
+ }
+
+ return all_usages;
+}
+
std::string CxxModuleMapContentClang(CxxModuleLocations const& loc,
- cmScanDepInfo const& obj)
+ cmScanDepInfo const& obj,
+ CxxModuleUsage const& usages)
{
std::stringstream mm;
@@ -98,12 +152,11 @@ std::string CxxModuleMapContentClang(CxxModuleLocations const& loc,
break;
}
}
- for (auto const& r : obj.Requires) {
- auto bmi_loc = loc.BmiGeneratorPathForModule(r.LogicalName);
- if (bmi_loc.IsKnown()) {
- mm << "-fmodule-file=" << r.LogicalName << "=" << bmi_loc.Location()
- << '\n';
- }
+
+ auto all_usages = GetTransitiveUsages(loc, obj.Requires, usages);
+ for (auto const& usage : all_usages) {
+ mm << "-fmodule-file=" << usage.LogicalName << '=' << usage.Location
+ << '\n';
}
return mm.str();
@@ -122,7 +175,7 @@ std::string CxxModuleMapContentGcc(CxxModuleLocations const& loc,
// generate any).
// Write the root directory to use for module paths.
- mm << "$root " << loc.RootDirectory << "\n";
+ mm << "$root " << loc.RootDirectory << '\n';
for (auto const& p : obj.Provides) {
auto bmi_loc = loc.BmiGeneratorPathForModule(p.LogicalName);
@@ -180,37 +233,11 @@ std::string CxxModuleMapContentMsvc(CxxModuleLocations const& loc,
}
}
- std::set<std::string> transitive_usage_directs;
- std::set<std::string> transitive_usage_names;
-
- for (auto const& r : obj.Requires) {
- auto bmi_loc = loc.BmiGeneratorPathForModule(r.LogicalName);
- if (bmi_loc.IsKnown()) {
- auto flag = flag_for_method(r.Method);
-
- mm << flag << ' ' << r.LogicalName << '=' << bmi_loc.Location() << "\n";
- transitive_usage_directs.insert(r.LogicalName);
-
- // Insert transitive usages.
- auto transitive_usages = usages.Usage.find(r.LogicalName);
- if (transitive_usages != usages.Usage.end()) {
- transitive_usage_names.insert(transitive_usages->second.begin(),
- transitive_usages->second.end());
- }
- }
- }
-
- for (auto const& transitive_name : transitive_usage_names) {
- if (transitive_usage_directs.count(transitive_name)) {
- continue;
- }
+ auto all_usages = GetTransitiveUsages(loc, obj.Requires, usages);
+ for (auto const& usage : all_usages) {
+ auto flag = flag_for_method(usage.Method);
- auto module_ref = usages.Reference.find(transitive_name);
- if (module_ref != usages.Reference.end()) {
- auto flag = flag_for_method(module_ref->second.Method);
- mm << flag << ' ' << transitive_name << '=' << module_ref->second.Path
- << "\n";
- }
+ mm << flag << ' ' << usage.LogicalName << '=' << usage.Location << '\n';
}
return mm.str();
@@ -393,7 +420,7 @@ std::string CxxModuleMapContent(CxxModuleMapFormat format,
{
switch (format) {
case CxxModuleMapFormat::Clang:
- return CxxModuleMapContentClang(loc, obj);
+ return CxxModuleMapContentClang(loc, obj, usages);
case CxxModuleMapFormat::Gcc:
return CxxModuleMapContentGcc(loc, obj);
case CxxModuleMapFormat::Msvc:
diff --git a/Source/cmDebuggerBreakpointManager.cxx b/Source/cmDebuggerBreakpointManager.cxx
index 152f0f5..4ae6728 100644
--- a/Source/cmDebuggerBreakpointManager.cxx
+++ b/Source/cmDebuggerBreakpointManager.cxx
@@ -6,6 +6,7 @@
#include <cstddef>
#include <cstdint>
#include <memory>
+#include <utility>
#include <cm3p/cppdap/optional.h>
#include <cm3p/cppdap/session.h>
@@ -78,12 +79,14 @@ cmDebuggerBreakpointManager::HandleSetBreakpointsRequest(
cmSystemTools::GetActualCaseForPath(request.source.path.value());
const dap::array<dap::SourceBreakpoint> defaultValue{};
const auto& breakpoints = request.breakpoints.value(defaultValue);
+
+ if (Breakpoints.find(sourcePath) != Breakpoints.end()) {
+ Breakpoints[sourcePath].clear();
+ }
+ response.breakpoints.resize(breakpoints.size());
+
if (ListFileFunctionLines.find(sourcePath) != ListFileFunctionLines.end()) {
// The file has loaded, we can validate breakpoints.
- if (Breakpoints.find(sourcePath) != Breakpoints.end()) {
- Breakpoints[sourcePath].clear();
- }
- response.breakpoints.resize(breakpoints.size());
for (size_t i = 0; i < breakpoints.size(); i++) {
int64_t correctedLine =
CalibrateBreakpointLine(sourcePath, breakpoints[i].line);
@@ -106,7 +109,6 @@ cmDebuggerBreakpointManager::HandleSetBreakpointsRequest(
// The file has not loaded, validate breakpoints later.
ListFilePendingValidations.emplace(sourcePath);
- response.breakpoints.resize(breakpoints.size());
for (size_t i = 0; i < breakpoints.size(); i++) {
Breakpoints[sourcePath].emplace_back(NextBreakpointId++,
breakpoints[i].line);
@@ -191,6 +193,15 @@ std::vector<int64_t> cmDebuggerBreakpointManager::GetBreakpoints(
return breakpoints;
}
+size_t cmDebuggerBreakpointManager::GetBreakpointCount() const
+{
+ size_t count = 0;
+ for (auto const& pair : Breakpoints) {
+ count += pair.second.size();
+ }
+ return count;
+}
+
void cmDebuggerBreakpointManager::ClearAll()
{
std::unique_lock<std::mutex> lock(Mutex);
diff --git a/Source/cmDebuggerBreakpointManager.h b/Source/cmDebuggerBreakpointManager.h
index a4e5df5..747722f 100644
--- a/Source/cmDebuggerBreakpointManager.h
+++ b/Source/cmDebuggerBreakpointManager.h
@@ -4,6 +4,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include <cstddef>
#include <cstdint>
#include <mutex>
#include <string>
@@ -55,6 +56,7 @@ public:
std::vector<cmListFileFunction> const& functions);
std::vector<int64_t> GetBreakpoints(std::string const& sourcePath,
int64_t line);
+ size_t GetBreakpointCount() const;
void ClearAll();
};
diff --git a/Source/cmDebuggerVariables.cxx b/Source/cmDebuggerVariables.cxx
index 40fe41f..8acce34 100644
--- a/Source/cmDebuggerVariables.cxx
+++ b/Source/cmDebuggerVariables.cxx
@@ -78,15 +78,16 @@ dap::array<dap::Variable> cmDebuggerVariables::HandleVariablesRequest()
entry.Value.empty()) {
continue;
}
- variables.push_back(dap::Variable{ {},
- {},
- {},
- entry.Name,
- {},
- PrivateDataHint,
- entry.Type,
- entry.Value,
- 0 });
+ variables.push_back(dap::Variable{
+ {},
+ {},
+ {},
+ entry.Name,
+ {},
+ PrivateDataHint,
+ SupportsVariableType ? entry.Type : dap::optional<dap::string>(),
+ entry.Value,
+ 0 });
}
}
@@ -106,16 +107,16 @@ void cmDebuggerVariables::EnumerateSubVariablesIfAny(
{
dap::array<dap::Variable> ret;
for (auto const& variables : SubVariables) {
- toBeReturned.emplace_back(
- dap::Variable{ {},
- {},
- {},
- variables->GetName(),
- {},
- PrivatePropertyHint,
- SupportsVariableType ? "collection" : nullptr,
- variables->GetValue(),
- variables->GetId() });
+ toBeReturned.emplace_back(dap::Variable{
+ {},
+ {},
+ {},
+ variables->GetName(),
+ {},
+ PrivatePropertyHint,
+ SupportsVariableType ? "collection" : dap::optional<dap::string>(),
+ variables->GetValue(),
+ variables->GetId() });
}
}
diff --git a/Source/cmExperimental.cxx b/Source/cmExperimental.cxx
index 2f26627..0a746a9 100644
--- a/Source/cmExperimental.cxx
+++ b/Source/cmExperimental.cxx
@@ -27,7 +27,7 @@ struct FeatureData
bool Warned;
} LookupTable[] = {
// CxxModuleCMakeApi
- { "aa1f7df0-828a-4fcd-9afc-2dc80491aca7",
+ { "bf70d4b0-9fb7-465c-9803-34014e70d112",
"CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API",
"CMake's C++ module support is experimental. It is meant only for "
"experimentation and feedback to CMake developers.",
diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx
index 647c62d..30798a3 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -384,7 +384,9 @@ static const struct RemoveDuplicatesNode : public cmGeneratorExpressionNode
"$<REMOVE_DUPLICATES:...> expression requires one parameter");
}
- return cmList{ parameters.front() }.remove_duplicates().to_string();
+ return cmList{ parameters.front(), cmList::EmptyElements::Yes }
+ .remove_duplicates()
+ .to_string();
}
} removeDuplicatesNode;
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 65851f3..e405909 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -2733,7 +2733,8 @@ bool cmGlobalNinjaGenerator::WriteDyndepFile(
auto mm = CxxModuleMapContent(*modmap_fmt, locs, object, usages);
// XXX(modmap): If changing this path construction, change
- // `cmNinjaTargetGenerator::WriteObjectBuildStatements` to generate the
+ // `cmNinjaTargetGenerator::WriteObjectBuildStatements` and
+ // `cmNinjaTargetGenerator::ExportObjectCompileCommand` to generate the
// corresponding file path.
cmGeneratedFileStream mmf(cmStrCat(object.PrimaryOutput, ".modmap"));
mmf << mm;
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index fd58f75..0472631 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -5155,6 +5155,10 @@ std::string cmGlobalXCodeGenerator::GetDeploymentPlatform(const cmMakefile* mf)
case cmMakefile::AppleSDK::WatchSimulator:
return "WATCHOS_DEPLOYMENT_TARGET";
+ case cmMakefile::AppleSDK::XROS:
+ case cmMakefile::AppleSDK::XRSimulator:
+ return "XROS_DEPLOYMENT_TARGET";
+
case cmMakefile::AppleSDK::MacOS:
default:
return "MACOSX_DEPLOYMENT_TARGET";
diff --git a/Source/cmList.h b/Source/cmList.h
index 9ee4a46..dc5850a 100644
--- a/Source/cmList.h
+++ b/Source/cmList.h
@@ -1211,13 +1211,12 @@ private:
const auto sep = std::string{ glue };
- return std::accumulate(
- std::next(std::begin(r)), std::end(r), cmList::ToString(*std::begin(r)),
- [&sep](std::string const& a,
- typename std::iterator_traits<decltype(std::begin(
- r))>::value_type const& b) -> std::string {
- return a + sep + cmList::ToString(b);
- });
+ std::string joined = cmList::ToString(*std::begin(r));
+ for (auto it = std::next(std::begin(r)); it != std::end(r); ++it) {
+ joined += sep + cmList::ToString(*it);
+ }
+
+ return joined;
}
container_type Values;
diff --git a/Source/cmLocalXCodeGenerator.cxx b/Source/cmLocalXCodeGenerator.cxx
index 759ee7b..eb05424 100644
--- a/Source/cmLocalXCodeGenerator.cxx
+++ b/Source/cmLocalXCodeGenerator.cxx
@@ -83,6 +83,12 @@ void cmLocalXCodeGenerator::AddGeneratorSpecificInstallSetup(std::ostream& os)
case cmMakefile::AppleSDK::WatchSimulator:
platformName = "watchsimulator";
break;
+ case cmMakefile::AppleSDK::XROS:
+ platformName = "xros";
+ break;
+ case cmMakefile::AppleSDK::XRSimulator:
+ platformName = "xrsimulator";
+ break;
case cmMakefile::AppleSDK::MacOS:
break;
}
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 5890819..e1841b6 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2565,6 +2565,8 @@ cmMakefile::AppleSDK cmMakefile::GetAppleSDKType() const
{ "iphonesimulator", AppleSDK::IPhoneSimulator },
{ "watchos", AppleSDK::WatchOS },
{ "watchsimulator", AppleSDK::WatchSimulator },
+ { "xros", AppleSDK::XROS },
+ { "xrsimulator", AppleSDK::XRSimulator },
};
for (auto const& entry : sdkDatabase) {
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 7005942..79a98cd 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -561,6 +561,8 @@ public:
AppleTVSimulator,
WatchOS,
WatchSimulator,
+ XROS,
+ XRSimulator,
};
/** What SDK type points CMAKE_OSX_SYSROOT to? */
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 85733e1..d712d71 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -1428,8 +1428,9 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
if (!modmapFormat.empty()) {
// XXX(modmap): If changing this path construction, change
- // `cmGlobalNinjaGenerator::WriteDyndep` to expect the corresponding file
- // path.
+ // `cmGlobalNinjaGenerator::WriteDyndep` and
+ // `cmNinjaTargetGenerator::ExportObjectCompileCommand` to expect the
+ // corresponding file path.
std::string ddModmapFile = cmStrCat(objectFileName, ".modmap");
vars["DYNDEP_MODULE_MAP_FILE"] = ddModmapFile;
objBuild.OrderOnlyDeps.push_back(ddModmapFile);
@@ -1688,11 +1689,32 @@ void cmNinjaTargetGenerator::ExportObjectCompileCommand(
escapedSourceFileName = this->LocalGenerator->ConvertToOutputFormat(
escapedSourceFileName, cmOutputConverter::SHELL);
+ std::string fullFlags = flags;
+ {
+ bool const needDyndep =
+ this->GetGeneratorTarget()->NeedDyndep(language, outputConfig);
+ std::string const modmapFormatVar =
+ cmStrCat("CMAKE_EXPERIMENTAL_", language, "_MODULE_MAP_FORMAT");
+ std::string const modmapFormat =
+ this->Makefile->GetSafeDefinition(modmapFormatVar);
+ if (needDyndep && !modmapFormat.empty()) {
+ std::string modmapFlags = this->GetMakefile()->GetRequiredDefinition(
+ cmStrCat("CMAKE_EXPERIMENTAL_", language, "_MODULE_MAP_FLAG"));
+ // XXX(modmap): If changing this path construction, change
+ // `cmGlobalNinjaGenerator::WriteDyndep` and
+ // `cmNinjaTargetGenerator::WriteObjectBuildStatement` to expect the
+ // corresponding file path.
+ cmSystemTools::ReplaceString(modmapFlags, "<MODULE_MAP_FILE>",
+ cmStrCat(objectFileName, ".modmap"));
+ fullFlags += cmStrCat(' ', modmapFlags);
+ }
+ }
+
compileObjectVars.Source = escapedSourceFileName.c_str();
compileObjectVars.Object = objectFileName.c_str();
compileObjectVars.ObjectDir = objectDir.c_str();
compileObjectVars.ObjectFileDir = objectFileDir.c_str();
- compileObjectVars.Flags = flags.c_str();
+ compileObjectVars.Flags = fullFlags.c_str();
compileObjectVars.Defines = defines.c_str();
compileObjectVars.Includes = includes.c_str();
diff --git a/Source/cmWorkerPool.cxx b/Source/cmWorkerPool.cxx
index 1d15c27..27cdbba 100644
--- a/Source/cmWorkerPool.cxx
+++ b/Source/cmWorkerPool.cxx
@@ -309,7 +309,7 @@ void cmUVReadOnlyProcess::UVExit(uv_process_t* handle, int64_t exitStatus,
// Set error message on demand
proc.Result()->ExitStatus = exitStatus;
proc.Result()->TermSignal = termSignal;
- if (!proc.Result()->error()) {
+ if (proc.Result()->ErrorMessage.empty()) {
if (termSignal != 0) {
proc.Result()->ErrorMessage = cmStrCat(
"Process was terminated by signal ", proc.Result()->TermSignal);
diff --git a/Tests/CMakeLib/CMakeLists.txt b/Tests/CMakeLib/CMakeLists.txt
index fc3c23b..8ce8f67 100644
--- a/Tests/CMakeLib/CMakeLists.txt
+++ b/Tests/CMakeLib/CMakeLists.txt
@@ -67,7 +67,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/testUVProcessChainInput.txt" "HELLO WORL
create_test_sourcelist(CMakeLib_TEST_SRCS CMakeLibTests.cxx ${CMakeLib_TESTS})
add_executable(CMakeLibTests ${CMakeLib_TEST_SRCS})
-target_link_libraries(CMakeLibTests CMakeLib CTestLib)
+target_link_libraries(CMakeLibTests PRIVATE CTestLib CMakeLib)
if(CMake_BUILD_PCH)
target_precompile_headers(CMakeLibTests PRIVATE "<iostream>" "<cm3p/uv.h>")
target_compile_definitions(CMakeLibTests PRIVATE "NOMINMAX")
diff --git a/Tests/CMakeLib/testDebugger.h b/Tests/CMakeLib/testDebugger.h
index 8ba21f6..d8d2caa 100644
--- a/Tests/CMakeLib/testDebugger.h
+++ b/Tests/CMakeLib/testDebugger.h
@@ -19,11 +19,15 @@
do { \
ASSERT_TRUE(x.name == expectedName); \
ASSERT_TRUE(x.value == expectedValue); \
- ASSERT_TRUE(x.type.value() == expectedType); \
- ASSERT_TRUE(x.evaluateName.has_value() == false); \
- if (std::string(expectedType) == "collection") { \
- ASSERT_TRUE(x.variablesReference != 0); \
+ if (expectedType == nullptr) { \
+ ASSERT_TRUE(x.type == dap::optional<dap::string>()); \
+ } else { \
+ ASSERT_TRUE(x.type == dap::optional<dap::string>(expectedType)); \
+ if (std::string(expectedType) == "collection") { \
+ ASSERT_TRUE(x.variablesReference != 0); \
+ } \
} \
+ ASSERT_TRUE(x.evaluateName.has_value() == false); \
} while (false)
#define ASSERT_VARIABLE_REFERENCE(x, expectedName, expectedValue, \
diff --git a/Tests/CMakeLib/testDebuggerBreakpointManager.cxx b/Tests/CMakeLib/testDebuggerBreakpointManager.cxx
index 83734ea..f654442 100644
--- a/Tests/CMakeLib/testDebuggerBreakpointManager.cxx
+++ b/Tests/CMakeLib/testDebuggerBreakpointManager.cxx
@@ -51,6 +51,13 @@ static bool testHandleBreakpointRequestBeforeFileIsLoaded()
sourcePath, false);
ASSERT_BREAKPOINT(response.breakpoints[2], 2, sourceBreakpoints[2].line,
sourcePath, false);
+ ASSERT_TRUE(breakpointManager.GetBreakpointCount() == 3);
+
+ // setBreakpoints should override any existing breakpoints
+ setBreakpointRequest.breakpoints.value().clear();
+ helper.Client->send(setBreakpointRequest).get();
+ ASSERT_TRUE(breakpointManager.GetBreakpointCount() == 0);
+
return true;
}
@@ -103,6 +110,12 @@ static bool testHandleBreakpointRequestAfterFileIsLoaded()
sourcePath, true);
ASSERT_TRUE(notExpectBreakpointEvents.load());
+ ASSERT_TRUE(breakpointManager.GetBreakpointCount() == 5);
+
+ // setBreakpoints should override any existing breakpoints
+ setBreakpointRequest.breakpoints.value().clear();
+ helper.Client->send(setBreakpointRequest).get();
+ ASSERT_TRUE(breakpointManager.GetBreakpointCount() == 0);
return true;
}
diff --git a/Tests/CMakeLib/testDebuggerVariables.cxx b/Tests/CMakeLib/testDebuggerVariables.cxx
index 6c19baa..0d8d18d 100644
--- a/Tests/CMakeLib/testDebuggerVariables.cxx
+++ b/Tests/CMakeLib/testDebuggerVariables.cxx
@@ -8,6 +8,7 @@
#include <unordered_set>
#include <vector>
+#include <cm3p/cppdap/optional.h>
#include <cm3p/cppdap/protocol.h>
#include <cm3p/cppdap/types.h>
@@ -174,6 +175,33 @@ static bool testSortTheResult()
return true;
}
+static bool testNoSupportsVariableType()
+{
+ auto variablesManager =
+ std::make_shared<cmDebugger::cmDebuggerVariablesManager>();
+
+ auto vars = std::make_shared<cmDebugger::cmDebuggerVariables>(
+ variablesManager, "Variables", false, []() {
+ return std::vector<cmDebugger::cmDebuggerVariableEntry>{ { "test",
+ "value" } };
+ });
+
+ auto subvars = std::make_shared<cmDebugger::cmDebuggerVariables>(
+ variablesManager, "Children", false);
+
+ vars->AddSubVariables(subvars);
+
+ dap::array<dap::Variable> variables =
+ variablesManager->HandleVariablesRequest(
+ CreateVariablesRequest(vars->GetId()));
+
+ ASSERT_TRUE(variables.size() == 2);
+ ASSERT_VARIABLE(variables[0], "Children", "", nullptr);
+ ASSERT_VARIABLE(variables[1], "test", "value", nullptr);
+
+ return true;
+}
+
int testDebuggerVariables(int, char*[])
{
return runTests(std::vector<std::function<bool()>>{
@@ -181,5 +209,6 @@ int testDebuggerVariables(int, char*[])
testConstructors,
testIgnoreEmptyStringEntries,
testSortTheResult,
+ testNoSupportsVariableType,
});
}
diff --git a/Tests/CMakeLib/testDebuggerVariablesHelper.cxx b/Tests/CMakeLib/testDebuggerVariablesHelper.cxx
index e0bbdf0..d61b73b 100644
--- a/Tests/CMakeLib/testDebuggerVariablesHelper.cxx
+++ b/Tests/CMakeLib/testDebuggerVariablesHelper.cxx
@@ -8,6 +8,7 @@
#include <utility>
#include <vector>
+#include <cm3p/cppdap/optional.h>
#include <cm3p/cppdap/protocol.h>
#include <cm3p/cppdap/types.h>
#include <stddef.h>
diff --git a/Tests/RunCMake/CXXModules/CMakeLists.txt b/Tests/RunCMake/CXXModules/CMakeLists.txt
index 88eb282..640d67b 100644
--- a/Tests/RunCMake/CXXModules/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.23)
project(${RunCMake_TEST} NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
index ada0c65..1009ce4 100644
--- a/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CXXModules/RunCMakeTest.cmake
@@ -152,6 +152,11 @@ if ("named" IN_LIST CMake_TEST_MODULE_COMPILATION)
run_cxx_module_test(scan_properties)
endif ()
+# Tests which require compile commands support.
+if ("compile_commands" IN_LIST CMake_TEST_MODULE_COMPILATION)
+ run_cxx_module_test(export-compile-commands)
+endif ()
+
# Tests which require collation work.
if ("collation" IN_LIST CMake_TEST_MODULE_COMPILATION)
run_cxx_module_test(public-req-private)
diff --git a/Tests/RunCMake/CXXModules/examples/cxx-modules-rules.cmake b/Tests/RunCMake/CXXModules/examples/cxx-modules-rules.cmake
index ff7219a..c17b5a4 100644
--- a/Tests/RunCMake/CXXModules/examples/cxx-modules-rules.cmake
+++ b/Tests/RunCMake/CXXModules/examples/cxx-modules-rules.cmake
@@ -1,4 +1,4 @@
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
if (NOT EXISTS "${CMake_TEST_MODULE_COMPILATION_RULES}")
message(FATAL_ERROR
diff --git a/Tests/RunCMake/CXXModules/examples/deep-chain-stderr.txt b/Tests/RunCMake/CXXModules/examples/deep-chain-stderr.txt
index 78bdf2b..659414d 100644
--- a/Tests/RunCMake/CXXModules/examples/deep-chain-stderr.txt
+++ b/Tests/RunCMake/CXXModules/examples/deep-chain-stderr.txt
@@ -1,4 +1,4 @@
-CMake Warning \(dev\) at CMakeLists.txt:7 \(target_sources\):
+CMake Warning \(dev\) at CMakeLists.txt:15 \(target_sources\):
CMake's C\+\+ module support is experimental. It is meant only for
experimentation and feedback to CMake developers.
This warning is for project developers. Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/CXXModules/examples/deep-chain/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/deep-chain/CMakeLists.txt
index 515b240..78a1d0b 100644
--- a/Tests/RunCMake/CXXModules/examples/deep-chain/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/deep-chain/CMakeLists.txt
@@ -3,6 +3,14 @@ project(cxx_modules_deep_chain CXX)
include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
+if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ include(CheckCompilerFlag)
+ check_compiler_flag(CXX "-Wread-modules-implicitly" have_implicit_module_warning)
+ if (have_implicit_module_warning)
+ add_compile_options(-Werror=read-modules-implicitly)
+ endif ()
+endif ()
+
add_library(a STATIC)
target_sources(a
PUBLIC
diff --git a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/test/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/test/CMakeLists.txt
index d227e55..a3e55f6 100644
--- a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/test/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/test/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.24)
project(cxx_modules_library NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
find_package(export_bmi_and_interfaces REQUIRED)
diff --git a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/test/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/test/CMakeLists.txt
index d46d28b..0144b70 100644
--- a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/test/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/test/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.24)
project(cxx_modules_library NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
find_package(export_bmi_and_interfaces REQUIRED)
diff --git a/Tests/RunCMake/CXXModules/examples/export-compile-commands-check.cmake b/Tests/RunCMake/CXXModules/examples/export-compile-commands-check.cmake
new file mode 100644
index 0000000..5d7224b
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-compile-commands-check.cmake
@@ -0,0 +1,25 @@
+if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/compile_commands.json")
+ list(APPEND RunCMake_TEST_FAILED
+ "No compile commands database detected.")
+endif ()
+
+file(READ "${RunCMake_TEST_BINARY_DIR}/compile_commands.json" compile_commands)
+
+string(JSON length
+ LENGTH "${compile_commands}")
+math(EXPR length "${length} - 1")
+foreach (item RANGE "${length}")
+ string(JSON entry
+ GET "${compile_commands}"
+ "${item}")
+ string(JSON command
+ GET "${entry}"
+ "command")
+ if (NOT command MATCHES "(@|-fmodule-mapper=).*\\.modmap")
+ string(JSON output
+ GET "${entry}"
+ "output")
+ list(APPEND RunCMake_TEST_FAILED
+ "Missing `.modmap` argument for '${output}'")
+ endif ()
+endforeach ()
diff --git a/Tests/RunCMake/CXXModules/examples/export-compile-commands-stderr.txt b/Tests/RunCMake/CXXModules/examples/export-compile-commands-stderr.txt
new file mode 100644
index 0000000..e868787
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-compile-commands-stderr.txt
@@ -0,0 +1,4 @@
+CMake Warning \(dev\) at CMakeLists.txt:9 \(target_sources\):
+ CMake's C\+\+ module support is experimental. It is meant only for
+ experimentation and feedback to CMake developers.
+This warning is for project developers. Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/CXXModules/examples/export-compile-commands/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-compile-commands/CMakeLists.txt
new file mode 100644
index 0000000..2eb4d5f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-compile-commands/CMakeLists.txt
@@ -0,0 +1,20 @@
+cmake_minimum_required(VERSION 3.24)
+project(cxx_modules_export_compile_commands CXX)
+
+include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
+
+set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
+
+add_executable(export-compile-commands)
+target_sources(export-compile-commands
+ PRIVATE
+ main.cxx
+ PRIVATE
+ FILE_SET CXX_MODULES
+ BASE_DIRS
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+ FILES
+ importable.cxx)
+target_compile_features(export-compile-commands PUBLIC cxx_std_20)
+
+add_test(NAME export-compile-commands COMMAND export-compile-commands)
diff --git a/Tests/RunCMake/CXXModules/examples/export-compile-commands/importable.cxx b/Tests/RunCMake/CXXModules/examples/export-compile-commands/importable.cxx
new file mode 100644
index 0000000..607680a
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-compile-commands/importable.cxx
@@ -0,0 +1,6 @@
+export module importable;
+
+export int from_import()
+{
+ return 0;
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-compile-commands/main.cxx b/Tests/RunCMake/CXXModules/examples/export-compile-commands/main.cxx
new file mode 100644
index 0000000..feb38d2
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-compile-commands/main.cxx
@@ -0,0 +1,6 @@
+import importable;
+
+int main(int argc, char* argv[])
+{
+ return from_import();
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-build/test/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-build/test/CMakeLists.txt
index 3cd156a..bd2f2d4 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-build/test/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-build/test/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.24)
project(cxx_modules_library NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
find_package(export_interfaces REQUIRED)
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-install/test/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-install/test/CMakeLists.txt
index 71bf86c..87451fe 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-install/test/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-install/test/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.24)
project(cxx_modules_library NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
find_package(export_interfaces REQUIRED)
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/test/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/test/CMakeLists.txt
index 0c094ac..5b6abc6 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/test/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/test/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.24)
project(cxx_modules_library NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
find_package(export_interfaces_no_properties REQUIRED)
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/test/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/test/CMakeLists.txt
index 0c094ac..5b6abc6 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/test/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/test/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.24)
project(cxx_modules_library NONE)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
find_package(export_interfaces_no_properties REQUIRED)
diff --git a/Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element-check.cmake b/Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element-check.cmake
new file mode 100644
index 0000000..a996e53
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element-check.cmake
@@ -0,0 +1,6 @@
+file(READ "${RunCMake_TEST_BINARY_DIR}/REMOVE_DUPLICATES-generated.txt" content)
+
+set(expected "1;;2;3")
+if(NOT content STREQUAL expected)
+ set(RunCMake_TEST_FAILED "actual content:\n [[${content}]]\nbut expected:\n [[${expected}]]")
+endif()
diff --git a/Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element.cmake b/Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element.cmake
new file mode 100644
index 0000000..9d5944f
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/REMOVE_DUPLICATES-empty-element.cmake
@@ -0,0 +1,3 @@
+cmake_policy(VERSION 3.11)
+
+file(GENERATE OUTPUT "REMOVE_DUPLICATES-generated.txt" CONTENT "$<REMOVE_DUPLICATES:1$<SEMICOLON>$<SEMICOLON>2$<SEMICOLON>$<SEMICOLON>3>")
diff --git a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
index 3fd9947..2a0c893 100644
--- a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
+++ b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
@@ -36,6 +36,7 @@ run_cmake(TARGET_NAME_IF_EXISTS-alias-target)
run_cmake(TARGET_NAME_IF_EXISTS-imported-target)
run_cmake(TARGET_NAME_IF_EXISTS-imported-global-target)
run_cmake(REMOVE_DUPLICATES-empty)
+run_cmake(REMOVE_DUPLICATES-empty-element)
run_cmake(REMOVE_DUPLICATES-1)
run_cmake(REMOVE_DUPLICATES-2)
run_cmake(REMOVE_DUPLICATES-3)
diff --git a/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.c b/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.c
index 5e0f40f..c00fce7 100644
--- a/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.c
+++ b/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.c
@@ -5,6 +5,10 @@
# if __MAC_OS_X_VERSION_MIN_REQUIRED != __MAC_10_11
# error macOS deployment version mismatch
# endif
+#elif TARGET_OS_XR
+# if __XR_OS_VERSION_MIN_REQUIRED != __XROS_1_0
+# error visionOS deployment version mismatch
+# endif
#elif TARGET_OS_IOS
# if __IPHONE_OS_VERSION_MIN_REQUIRED != __IPHONE_9_1
# error iOS deployment version mismatch
diff --git a/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.cmake b/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.cmake
index 234ceef..80e3877 100644
--- a/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.cmake
+++ b/Tests/RunCMake/XcodeProject-Device/DeploymentTarget.cmake
@@ -7,6 +7,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "visionOS")
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "1.0")
+ set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
+ set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
+ set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
+ set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES")
elseif(CMAKE_SYSTEM_NAME STREQUAL "watchOS")
set(CMAKE_OSX_DEPLOYMENT_TARGET "2.0")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
diff --git a/Tests/RunCMake/XcodeProject-Device/RunCMakeTest.cmake b/Tests/RunCMake/XcodeProject-Device/RunCMakeTest.cmake
index e2ed045..b3ab624 100644
--- a/Tests/RunCMake/XcodeProject-Device/RunCMakeTest.cmake
+++ b/Tests/RunCMake/XcodeProject-Device/RunCMakeTest.cmake
@@ -93,6 +93,25 @@ if(NOT XCODE_VERSION VERSION_LESS 7.1)
unset(RunCMake_TEST_OPTIONS)
endif()
+if(NOT XCODE_VERSION VERSION_LESS 15)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/XcodeBundlesVisionOS-build)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ set(RunCMake_TEST_OPTIONS
+ "-DCMAKE_SYSTEM_NAME=visionOS"
+ "-DCMAKE_INSTALL_PREFIX:PATH=${RunCMake_TEST_BINARY_DIR}/_install")
+
+ file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+
+ run_cmake(XcodeBundles)
+ run_cmake_command(XcodeBundles-build-visionOS ${CMAKE_COMMAND} --build .)
+ run_cmake_command(XcodeBundles-install-visionOS ${CMAKE_COMMAND} --build . --target install)
+
+ unset(RunCMake_TEST_BINARY_DIR)
+ unset(RunCMake_TEST_NO_CLEAN)
+ unset(RunCMake_TEST_OPTIONS)
+endif()
+
if(NOT XCODE_VERSION VERSION_LESS 7)
set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/osx.cmake")
run_cmake(XcodeTbdStub)
@@ -242,6 +261,10 @@ if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
deployment_target_test(tvOS appletvsimulator)
deployment_target_test(watchOS watchos)
deployment_target_test(watchOS watchsimulator)
+ if(XCODE_VERSION VERSION_GREATER_EQUAL 15)
+ deployment_target_test(visionOS xros)
+ deployment_target_test(visionOS xrsimulator)
+ endif()
endif()
if(XCODE_VERSION VERSION_GREATER_EQUAL 8)
diff --git a/Tests/RunCMake/XcodeProject-Device/XcodeBundles.cmake b/Tests/RunCMake/XcodeProject-Device/XcodeBundles.cmake
index a9fafd2..376a7fc 100644
--- a/Tests/RunCMake/XcodeProject-Device/XcodeBundles.cmake
+++ b/Tests/RunCMake/XcodeProject-Device/XcodeBundles.cmake
@@ -9,7 +9,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
endif()
-if(CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
+if(CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR CMAKE_SYSTEM_NAME STREQUAL "visionOS" OR CMAKE_SYSTEM_NAME STREQUAL "watchOS")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
diff --git a/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake b/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
index 9b6581c..8e4745a 100644
--- a/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
+++ b/Tests/RunCMake/target_link_libraries-LINK_LIBRARY/RunCMakeTest.cmake
@@ -126,7 +126,7 @@ if ((CMAKE_SYSTEM_NAME STREQUAL "Windows" AND
((DEFINED MSVC_VERSION AND MSVC_VERSION GREATER "1900") OR (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang" AND NOT CMAKE_C_SIMULATE_ID STREQUAL "MSVC")))
OR (CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND
(NOT CMAKE_C_COMPILER_ID STREQUAL "SunPro" OR CMAKE_C_COMPILER_VERSION GREATER "5.9"))
- OR CMAKE_SYSTEM_NAME MATCHES "Darwin|iOS|tvOS|watchOS|Linux|BSD|MSYS|CYGWIN")
+ OR CMAKE_SYSTEM_NAME MATCHES "Darwin|iOS|tvOS|visionOS|watchOS|Linux|BSD|MSYS|CYGWIN")
run_cmake(feature-WHOLE_ARCHIVE)
run_cmake_target(feature-WHOLE_ARCHIVE link-exe main)
endif()
diff --git a/Tests/RunCMake/target_sources/FileSetDefaultWrongTypeExperimental.cmake b/Tests/RunCMake/target_sources/FileSetDefaultWrongTypeExperimental.cmake
index 44f1626..84e1802 100644
--- a/Tests/RunCMake/target_sources/FileSetDefaultWrongTypeExperimental.cmake
+++ b/Tests/RunCMake/target_sources/FileSetDefaultWrongTypeExperimental.cmake
@@ -1,6 +1,6 @@
enable_language(C)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
add_library(lib1 STATIC empty.c)
target_sources(lib1 PRIVATE FILE_SET UNKNOWN)
diff --git a/Tests/RunCMake/target_sources/FileSetWrongTypeExperimental.cmake b/Tests/RunCMake/target_sources/FileSetWrongTypeExperimental.cmake
index adf1185..78e782d 100644
--- a/Tests/RunCMake/target_sources/FileSetWrongTypeExperimental.cmake
+++ b/Tests/RunCMake/target_sources/FileSetWrongTypeExperimental.cmake
@@ -1,6 +1,6 @@
enable_language(C)
-set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "aa1f7df0-828a-4fcd-9afc-2dc80491aca7")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "bf70d4b0-9fb7-465c-9803-34014e70d112")
add_library(lib1 STATIC empty.c)
target_sources(lib1 PRIVATE FILE_SET a TYPE UNKNOWN)
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py
index 60bfb33..66954df 100644
--- a/Utilities/Sphinx/cmake.py
+++ b/Utilities/Sphinx/cmake.py
@@ -737,7 +737,7 @@ class CMakeDomain(Domain):
def get_objects(self):
for refname, obj in self.data['objects'].items():
- yield (refname, obj.name, obj.objtype, obj.docname, obj.node_id, 1)
+ yield (refname, refname, obj.objtype, obj.docname, obj.node_id, 1)
def setup(app):