version: 39

global-properties:
    - ALLOW_DUPLICATE_CUSTOM_TARGETS
    - AUTOGEN_SOURCE_GROUP
    - AUTOGEN_TARGETS_FOLDER
    - AUTOMOC_SOURCE_GROUP
    - AUTOMOC_TARGETS_FOLDER
    - AUTORCC_SOURCE_GROUP
    - CMAKE_C_KNOWN_FEATURES
    - CMAKE_CUDA_KNOWN_FEATURES                             # Since 3.17
    - CMAKE_CXX_KNOWN_FEATURES
    - CMAKE_ROLE                                            # Since 3.14
    - DEBUG_CONFIGURATIONS
    - DISABLED_FEATURES
    - ENABLED_FEATURES
    - ENABLED_LANGUAGES
    - FIND_LIBRARY_USE_LIB32_PATHS
    - FIND_LIBRARY_USE_LIB64_PATHS
    - FIND_LIBRARY_USE_LIBX32_PATHS
    - FIND_LIBRARY_USE_OPENBSD_VERSIONING
    - GENERATOR_IS_MULTI_CONFIG
    - GLOBAL_DEPENDS_DEBUG_MODE
    - GLOBAL_DEPENDS_NO_CYCLES
    - IN_TRY_COMPILE
    - PACKAGES_FOUND
    - PACKAGES_NOT_FOUND
    - JOB_POOLS
    - PREDEFINED_TARGETS_FOLDER
    - ECLIPSE_EXTRA_NATURES
    - REPORT_UNDEFINED_PROPERTIES
    - RULE_LAUNCH_COMPILE
    - RULE_LAUNCH_CUSTOM
    - RULE_LAUNCH_LINK
    - RULE_MESSAGES
    - TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
    - TARGET_MESSAGES
    - TARGET_SUPPORTS_SHARED_LIBS
    - USE_FOLDERS
    - XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
    # Other well-known global properties
    # - FeatureSummary
    - FeatureSummary_PKG_TYPES
    - FeatureSummary_REQUIRED_PKG_TYPES
    - FeatureSummary_DEFAULT_PKG_TYPE
    - FeatureSummary_<TYPE>_DESCRIPTION

directory-properties:
    - ADDITIONAL_CLEAN_FILES                                # Since 3.15
    - ADDITIONAL_MAKE_CLEAN_FILES
    - BINARY_DIR
    - BUILDSYSTEM_TARGETS
    - CACHE_VARIABLES
    - CLEAN_NO_CUSTOM
    - CMAKE_CONFIGURE_DEPENDS
    - COMPILE_DEFINITIONS
    - COMPILE_OPTIONS
    - DEFINITIONS
    - EXCLUDE_FROM_ALL
    - IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
    - IMPORTED_TARGETS                                      # Since 3.21
    - INCLUDE_DIRECTORIES
    - INCLUDE_REGULAR_EXPRESSION
    - INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
    - INTERPROCEDURAL_OPTIMIZATION
    - LABELS                                                # Since 3.10
    - LINK_DIRECTORIES
    - LINK_OPTIONS                                          # Since 3.13
    - LISTFILE_STACK
    - MACROS
    - PARENT_DIRECTORY
    - RULE_LAUNCH_COMPILE
    - RULE_LAUNCH_CUSTOM
    - RULE_LAUNCH_LINK
    - SOURCE_DIR
    - SUBDIRECTORIES
    - TESTS                                                 # Since 3.12
    - TEST_INCLUDE_FILE
    - TEST_INCLUDE_FILES                                    # Since 3.10
    - VARIABLES
    - VS_GLOBAL_SECTION_POST_<section>
    - VS_GLOBAL_SECTION_PRE_<section>
    - VS_STARTUP_PROJECT

# NOTE Copy-n-pasting this list from official docs may contain a redudant item `Example`! Check it!
target-properties:
    - ADDITIONAL_CLEAN_FILES                                # Since 3.15
    - AIX_EXPORT_ALL_SYMBOLS                                # Since 3.17
    - ALIASED_TARGET
    - ANDROID_ANT_ADDITIONAL_OPTIONS
    - ANDROID_API
    - ANDROID_API_MIN
    - ANDROID_ARCH
    - ANDROID_ASSETS_DIRECTORIES
    - ANDROID_GUI
    - ANDROID_JAR_DEPENDENCIES
    - ANDROID_JAR_DIRECTORIES
    - ANDROID_JAVA_SOURCE_DIR
    - ANDROID_NATIVE_LIB_DEPENDENCIES
    - ANDROID_NATIVE_LIB_DIRECTORIES
    - ANDROID_PROCESS_MAX
    - ANDROID_PROGUARD
    - ANDROID_PROGUARD_CONFIG_PATH
    - ANDROID_SECURE_PROPS_PATH
    - ANDROID_SKIP_ANT_STEP
    - ANDROID_STL_TYPE
    - ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
    - ARCHIVE_OUTPUT_DIRECTORY
    - ARCHIVE_OUTPUT_NAME_<CONFIG>
    - ARCHIVE_OUTPUT_NAME
    - AUTOGEN_BUILD_DIR
    - AUTOGEN_ORIGIN_DEPENDS                                # Since 3.14
    - AUTOGEN_TARGET_DEPENDS
    - AUTOMOC_COMPILER_PREDEFINES                           # Since ???
    - AUTOMOC_DEPEND_FILTERS
    - AUTOMOC_EXECUTABLE                                    # Since 3.14
    - AUTOMOC_MACRO_NAMES
    - AUTOMOC_MOC_OPTIONS                                   # Since ???
    - AUTOMOC_PATH_PREFIX                                   # Since 3.16
    - AUTOMOC
    - AUTOUIC
    - AUTOUIC_EXECUTABLE                                    # Since 3.14
    - AUTOUIC_OPTIONS
    - AUTOUIC_SEARCH_PATHS
    - AUTORCC
    - AUTORCC_EXECUTABLE                                    # Since 3.14
    - AUTORCC_OPTIONS
    - BINARY_DIR
    - BUILD_RPATH
    - BUILD_RPATH_USE_ORIGIN                                # Since 3.14
    - BUILD_WITH_INSTALL_NAME_DIR
    - BUILD_WITH_INSTALL_RPATH
    - BUNDLE_EXTENSION
    - BUNDLE
    - C_EXTENSIONS
    - C_STANDARD
    - C_STANDARD_REQUIRED
    - COMMON_LANGUAGE_RUNTIME                               # Since 3.12
    - COMPATIBLE_INTERFACE_BOOL
    - COMPATIBLE_INTERFACE_NUMBER_MAX
    - COMPATIBLE_INTERFACE_NUMBER_MIN
    - COMPATIBLE_INTERFACE_STRING
    - COMPILE_DEFINITIONS
    - COMPILE_FEATURES
    - COMPILE_FLAGS
    - COMPILE_OPTIONS
    - COMPILE_PDB_NAME
    - COMPILE_PDB_NAME_<CONFIG>
    - COMPILE_PDB_OUTPUT_DIRECTORY
    - COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
    - COMPILE_WARNING_AS_ERROR                              # Since 3.24
    - <CONFIG>_OUTPUT_NAME
    - <CONFIG>_POSTFIX
    - CROSSCOMPILING_EMULATOR
    - CUDA_ARCHITECTURES                                    # Since 3.18
    - CUDA_PTX_COMPILATION
    - CUDA_SEPARABLE_COMPILATION
    - CUDA_RESOLVE_DEVICE_SYMBOLS
    - CUDA_RUNTIME_LIBRARY                                  # Since 3.17
    - CUDA_EXTENSIONS
    - CUDA_STANDARD
    - CUDA_STANDARD_REQUIRED
    - CXX_EXTENSIONS
    - CXX_STANDARD
    - CXX_STANDARD_REQUIRED
    # - DEBUG_POSTFIX                                       # NOTE: Handled by `<CONFIG>_POSTFIX`
    - DEFINE_SYMBOL
    - DEPLOYMENT_ADDITIONAL_FILES                           # Since 3.13
    - DEPLOYMENT_REMOTE_DIRECTORY
    - DEPRECATION                                           # Since 3.17
    - DISABLE_PRECOMPILE_HEADERS                            # Since 3.16
    - DOTNET_SDK                                            # Since 3.23
    - DOTNET_TARGET_FRAMEWORK                               # Since 3.17
    - DOTNET_TARGET_FRAMEWORK_VERSION                       # Since 3.12
    - EchoString
    - ENABLE_EXPORTS
    - EXCLUDE_FROM_ALL
    - EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
    - EXCLUDE_FROM_DEFAULT_BUILD
    - EXPORT_COMPILE_COMMANDS                               # Since 3.20
    - EXPORT_NAME
    - EXPORT_PROPERTIES                                     # Since 3.12
    - FOLDER
    - Fortran_FORMAT
    - Fortran_MODULE_DIRECTORY
    - Fortran_PREPROCESS                                    # Since 3.18
    - FRAMEWORK
    - FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>               # Since 3.18
    - FRAMEWORK_VERSION
    - GENERATOR_FILE_NAME
    - GNUtoMS
    - HAS_CXX
    - HEADER_DIRS                                           # Since 3.23
    - HEADER_DIRS_<NAME>                                    # Since 3.23
    - HEADER_SET                                            # Since 3.23
    - HEADER_SET_<NAME>                                     # Since 3.23
    - HEADER_SETS                                           # Since 3.23
    - HIP_ARCHITECTURES                                     # Since 3.21
    - HIP_EXTENSIONS                                        # Since 3.21
    - HIP_STANDARD                                          # Since 3.21
    - HIP_STANDARD_REQUIRED                                 # Since 3.21
    - IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
    - IMPORTED_COMMON_LANGUAGE_RUNTIME                      # Since 3.12
    - IMPORTED_CONFIGURATIONS
    - IMPORTED_GLOBAL                                       # Since 3.11
    - IMPORTED_IMPLIB_<CONFIG>
    - IMPORTED_IMPLIB
    - IMPORTED_LIBNAME_<CONFIG>
    - IMPORTED_LIBNAME
    - IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG>
    - IMPORTED_LINK_DEPENDENT_LIBRARIES
    - IMPORTED_LINK_INTERFACE_LANGUAGES_<CONFIG>
    - IMPORTED_LINK_INTERFACE_LANGUAGES
    - IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG>
    - IMPORTED_LINK_INTERFACE_LIBRARIES
    - IMPORTED_LINK_INTERFACE_MULTIPLICITY_<CONFIG>
    - IMPORTED_LINK_INTERFACE_MULTIPLICITY
    - IMPORTED_LOCATION_<CONFIG>
    - IMPORTED_LOCATION
    - IMPORTED_NO_SONAME_<CONFIG>
    - IMPORTED_NO_SONAME
    - IMPORTED_NO_SYSTEM                                    # Since 3.23
    - IMPORTED_OBJECTS_<CONFIG>
    - IMPORTED_OBJECTS
    - IMPORTED
    - IMPORTED_SONAME_<CONFIG>
    - IMPORTED_SONAME
    - IMPORT_PREFIX
    - IMPORT_SUFFIX
    - INCLUDE_DIRECTORIES
    - INSTALL_NAME_DIR
    - INSTALL_REMOVE_ENVIRONMENT_RPATH                      # Since 3.16
    - INSTALL_RPATH
    - INSTALL_RPATH_USE_LINK_PATH
    - INTERFACE_AUTOUIC_OPTIONS
    - INTERFACE_COMPILE_DEFINITIONS
    - INTERFACE_COMPILE_FEATURES
    - INTERFACE_COMPILE_OPTIONS
    - INTERFACE_HEADER_SETS                                 # Since 3.23
    - INTERFACE_HEADER_SETS_TO_VERIFY                       # Since 3.24
    - INTERFACE_INCLUDE_DIRECTORIES
    - INTERFACE_LINK_DEPENDS                                # Since 3.13
    - INTERFACE_LINK_DIRECTORIES                            # Since 3.13
    - INTERFACE_LINK_LIBRARIES
    - INTERFACE_LINK_LIBRARIES_DIRECT                       # Since 3.24
    - INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE               # Since 3.24
    - INTERFACE_LINK_OPTIONS                                # Since 3.13
    - INTERFACE_PRECOMPILE_HEADERS                          # Since 3.16
    - INTERFACE_POSITION_INDEPENDENT_CODE
    - INTERFACE_SOURCES
    - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
    - INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
    - INTERPROCEDURAL_OPTIMIZATION
    - IOS_INSTALL_COMBINED
    - ISPC_HEADER_DIRECTORY                                 # Since 3.19
    - ISPC_HEADER_SUFFIX                                    # Since 3.19.2
    - ISPC_INSTRUCTION_SETS                                 # Since 3.19
    - JOB_POOL_COMPILE
    - JOB_POOL_LINK
    - LABELS
    - <LANG>_CLANG_TIDY
    - <LANG>_COMPILER_LAUNCHER
    - <LANG>_CPPCHECK                                       # Since 3.10
    - <LANG>_CPPLINT
    - <LANG>_INCLUDE_WHAT_YOU_USE
    - <LANG>_LINKER_LAUNCHER                                # Since 3.21
    - <LANG>_VISIBILITY_PRESET
    - LIBRARY_OUTPUT_DIRECTORY_<CONFIG>
    - LIBRARY_OUTPUT_DIRECTORY
    - LIBRARY_OUTPUT_NAME_<CONFIG>
    - LIBRARY_OUTPUT_NAME
    - LINK_DEPENDS_NO_SHARED
    - LINK_DEPENDS
    - LINK_DIRECTORIES                                      # Since 3.13
    - LINKER_LANGUAGE
    - LINK_FLAGS_<CONFIG>
    - LINK_FLAGS
    - LINK_INTERFACE_LIBRARIES_<CONFIG>
    - LINK_INTERFACE_LIBRARIES
    - LINK_INTERFACE_MULTIPLICITY_<CONFIG>
    - LINK_INTERFACE_MULTIPLICITY
    - LINK_LIBRARIES
    - LINK_LIBRARIES_ONLY_TARGETS                           # Since 3.23
    - LINK_OPTIONS                                          # Since 3.13
    - LINK_SEARCH_END_STATIC
    - LINK_SEARCH_START_STATIC
    - LINK_WHAT_YOU_USE
    - LOCATION_<CONFIG>
    - LOCATION
    - MACHO_COMPATIBILITY_VERSION                           # Since 3.17
    - MACHO_CURRENT_VERSION                                 # Since 3.17
    - MACOSX_BUNDLE_INFO_PLIST
    - MACOSX_BUNDLE
    - MACOSX_FRAMEWORK_INFO_PLIST
    - MACOSX_RPATH
    - MANUALLY_ADDED_DEPENDENCIES
    - MAP_IMPORTED_CONFIG_<CONFIG>
    - MSVC_RUNTIME_LIBRARY                                  # Since 3.15
    - NAME
    - NO_SONAME
    - NO_SYSTEM_FROM_IMPORTED
    - OBJC_EXTENSIONS                                       # Since 3.16
    - OBJC_STANDARD                                         # Since 3.16
    - OBJC_STANDARD_REQUIRED                                # Since 3.16
    - OBJCXX_EXTENSIONS                                     # Since 3.16
    - OBJCXX_STANDARD                                       # Since 3.16
    - OBJCXX_STANDARD_REQUIRED                              # Since 3.16
    - OPTIMIZE_DEPENDENCIES                                 # Since 3.19
    - OSX_ARCHITECTURES_<CONFIG>
    - OSX_ARCHITECTURES
    - OSX_CURRENT_VERSION                                   # Since 3.17
    - OSX_COMPATIBILITY_VERSION                             # Since 3.17
    - OUTPUT_NAME_<CONFIG>
    - OUTPUT_NAME
    - PCH_WARN_INVALID                                      # Since 3.18
    - PCH_INSTANTIATE_TEMPLATES                             # Since 3.19
    - PDB_NAME_<CONFIG>
    - PDB_NAME
    - PDB_OUTPUT_DIRECTORY_<CONFIG>
    - PDB_OUTPUT_DIRECTORY
    - POSITION_INDEPENDENT_CODE
    - PRECOMPILE_HEADERS                                    # Since 3.16
    - PRECOMPILE_HEADERS_REUSE_FROM                         # Since 3.16
    - PREFIX
    - PRIVATE_HEADER
    - PROJECT_LABEL
    - PUBLIC_HEADER
    - RESOURCE
    - RULE_LAUNCH_COMPILE
    - RULE_LAUNCH_CUSTOM
    - RULE_LAUNCH_LINK
    - RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
    - RUNTIME_OUTPUT_DIRECTORY
    - RUNTIME_OUTPUT_NAME_<CONFIG>
    - RUNTIME_OUTPUT_NAME
    - SKIP_BUILD_RPATH
    - SOURCE_DIR
    - SOURCES
    - SOVERSION
    - STATIC_LIBRARY_FLAGS_<CONFIG>
    - STATIC_LIBRARY_FLAGS
    - STATIC_LIBRARY_OPTIONS                                # Since 3.13
    - SUFFIX
    - Swift_DEPENDENCIES_FILE                               # Since 3.15
    - Swift_MODULE_DIRECTORY                                # Since 3.15
    - Swift_MODULE_NAME                                     # Since 3.15
    - TYPE
    - UNITY_BUILD                                           # Since 3.16
    - UNITY_BUILD_BATCH_SIZE                                # Since 3.16
    - UNITY_BUILD_CODE_AFTER_INCLUDE                        # Since 3.16
    - UNITY_BUILD_CODE_BEFORE_INCLUDE                       # Since 3.16
    - UNITY_BUILD_MODE                                      # Since 3.18
    - UNITY_BUILD_UNIQUE_ID                                 # Since 3.20
    - VERIFY_INTERFACE_HEADER_SETS                          # Since 3.24
    - VERSION
    - VISIBILITY_INLINES_HIDDEN
    - VS_CONFIGURATION_TYPE
    - VS_DEBUGGER_COMMAND                                   # Since 3.12
    - VS_DEBUGGER_COMMAND_ARGUMENTS                         # Since 3.13
    - VS_DEBUGGER_ENVIRONMENT                               # Since 3.13
    - VS_DEBUGGER_WORKING_DIRECTORY
    - VS_DESKTOP_EXTENSIONS_VERSION
    - VS_DOTNET_REFERENCE_<refname>
    - VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>       # Since 3.10
    - VS_DOTNET_REFERENCES
    - VS_DOTNET_REFERENCES_COPY_LOCAL
    - VS_DOTNET_STARTUP_OBJECT                              # Since 3.24
    - VS_DOTNET_TARGET_FRAMEWORK_VERSION
    - VS_DOTNET_DOCUMENTATION_FILE                          # Since 3.17
    - VS_DPI_AWARE                                          # Since 3.16
    - VS_GLOBAL_KEYWORD
    - VS_GLOBAL_PROJECT_TYPES
    - VS_GLOBAL_ROOTNAMESPACE
    - VS_GLOBAL_<variable>
    - VS_IOT_EXTENSIONS_VERSION
    - VS_IOT_STARTUP_TASK
    - VS_JUST_MY_CODE_DEBUGGING                             # Since 3.15
    - VS_KEYWORD
    - VS_MOBILE_EXTENSIONS_VERSION
    - VS_NO_COMPILE_BATCHING
    - VS_NO_SOLUTION_DEPLOY                                 # Since 3.15
    - VS_PACKAGE_REFERENCES                                 # Since 3.15
    - VS_PLATFORM_TOOLSET                                   # Since 3.18
    - VS_PROJECT_IMPORT                                     # Since 3.15
    - VS_SCC_AUXPATH
    - VS_SCC_LOCALPATH
    - VS_SCC_PROJECTNAME
    - VS_SCC_PROVIDER
    - VS_SDK_REFERENCES
    - VS_SOLUTION_DEPLOY                                    # Since 3.18
    - VS_SOURCE_SETTINGS_<tool>                             # Since 3.18
    - VS_USER_PROPS
    - VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
    - VS_WINRT_COMPONENT
    - VS_WINRT_EXTENSIONS
    - VS_WINRT_REFERENCES
    - WATCOM_RUNTIME_LIBRARY                                # Since 3.24
    - WIN32_EXECUTABLE
    - WINDOWS_EXPORT_ALL_SYMBOLS
    - XCODE_ATTRIBUTE_<an-attribute>
    - XCODE_EMBED_<type>_CODE_SIGN_ON_COPY                  # Since 3.20
    - XCODE_EMBED_<type>_PATH                               # Since 3.20
    - XCODE_EMBED_<type>_REMOVE_HEADERS_ON_COPY             # Since 3.20
    - XCODE_EMBED_<type>                                    # Since 3.20
    - XCODE_EXPLICIT_FILE_TYPE
    - XCODE_GENERATE_SCHEME                                 # Since 3.15
    - XCODE_LINK_BUILD_PHASE_MODE                           # Since 3.19
    - XCODE_PRODUCT_TYPE
    - XCODE_SCHEME_ADDRESS_SANITIZER                        # Since 3.13
    - XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN       # Since 3.13
    - XCODE_SCHEME_ARGUMENTS                                # Since 3.13
    - XCODE_SCHEME_DEBUG_AS_ROOT                            # Since 3.15
    - XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING                # Since 3.16
    - XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE            # Since 3.23
    - XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER              # Since 3.13
    - XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE                 # Since 3.13
    - XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS                    # Since 3.13
    - XCODE_SCHEME_EXECUTABLE                               # Since 3.13
    - XCODE_SCHEME_ENVIRONMENT                              # Since 3.13
    - XCODE_SCHEME_GUARD_MALLOC                             # Since 3.13
    - XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP                 # Since 3.13
    - XCODE_SCHEME_MALLOC_GUARD_EDGES                       # Since 3.13
    - XCODE_SCHEME_MALLOC_SCRIBBLE                          # Since 3.13
    - XCODE_SCHEME_MALLOC_STACK                             # Since 3.13
    - XCODE_SCHEME_THREAD_SANITIZER                         # Since 3.13
    - XCODE_SCHEME_THREAD_SANITIZER_STOP                    # Since 3.13
    - XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER            # Since 3.13
    - XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP       # Since 3.13
    - XCODE_SCHEME_WORKING_DIRECTORY                        # Since 3.1?
    - XCODE_SCHEME_ZOMBIE_OBJECTS                           # Since 3.13
    - XCODE_XCCONFIG                                        # Since 3.24
    - XCTEST

test-properties:
    - ATTACHED_FILES_ON_FAIL
    - ATTACHED_FILES
    - COST
    - DEPENDS
    - DISABLED
    - ENVIRONMENT
    - ENVIRONMENT_MODIFICATION                              # Since 3.22
    - FAIL_REGULAR_EXPRESSION
    - FIXTURES_CLEANUP
    - FIXTURES_REQUIRED
    - FIXTURES_SETUP
    - LABELS
    - MEASUREMENT
    - PASS_REGULAR_EXPRESSION
    - PROCESSOR_AFFINITY                                    # Since 3.12
    - PROCESSORS
    - REQUIRED_FILES
    - RESOURCE_LOCK
    - RUN_SERIAL
    - SKIP_REGULAR_EXPRESSION                               # Since 3.16
    - SKIP_RETURN_CODE
    - TIMEOUT
    - TIMEOUT_AFTER_MATCH
    - WILL_FAIL
    - WORKING_DIRECTORY

source-properties:
    - ABSTRACT
    - AUTOUIC_OPTIONS
    - AUTORCC_OPTIONS
    - COMPILE_DEFINITIONS
    - COMPILE_FLAGS
    - COMPILE_OPTIONS                                       # Since 3.11
    - EXTERNAL_OBJECT
    - Fortran_FORMAT
    - Fortran_PREPROCESS                                    # Since 3.18
    - GENERATED
    - HEADER_FILE_ONLY
    - INCLUDE_DIRECTORIES                                   # Since 3.11
    - KEEP_EXTENSION
    - LABELS
    - LANGUAGE
    - LOCATION
    - MACOSX_PACKAGE_LOCATION
    - OBJECT_DEPENDS
    - OBJECT_OUTPUTS
    - SKIP_AUTOGEN
    - SKIP_AUTOMOC
    - SKIP_AUTORCC
    - SKIP_AUTOUIC
    - SKIP_PRECOMPILE_HEADERS                               # Since 3.16
    - SKIP_UNITY_BUILD_INCLUSION                            # Since 3.16
    - Swift_DEPENDENCIES_FILE                               # Since 3.15
    - Swift_DIAGNOSTICS_FILE                                # Since 3.15
    - SYMBOLIC
    - VS_COPY_TO_OUT_DIR
    - VS_CSHARP_<tagname>
    - VS_DEPLOYMENT_CONTENT
    - VS_DEPLOYMENT_LOCATION
    - VS_INCLUDE_IN_VSIX
    - VS_RESOURCE_GENERATOR
    - VS_SETTINGS                                           # Since 3.18
    - VS_SHADER_DISABLE_OPTIMIZATIONS                       # Since 3.11
    - VS_SHADER_ENABLE_DEBUG                                # Since 3.11
    - VS_SHADER_ENTRYPOINT
    - VS_SHADER_FLAGS
    - VS_SHADER_MODEL
    - VS_SHADER_OBJECT_FILE_NAME                            # Since 3.12
    - VS_SHADER_OUTPUT_HEADER_FILE                          # Since 3.10
    - VS_SHADER_TYPE
    - VS_SHADER_VARIABLE_NAME                               # Since 3.10
    - VS_TOOL_OVERRIDE
    - VS_XAML_TYPE
    - WRAP_EXCLUDE
    - XCODE_EXPLICIT_FILE_TYPE
    - XCODE_FILE_ATTRIBUTES
    - XCODE_LAST_KNOWN_FILE_TYPE

cache-properties:
    - ADVANCED
    - HELPSTRING
    - MODIFIED
    - STRINGS
    - TYPE
    - VALUE

install-properties:
    - CPACK_DESKTOP_SHORTCUTS
    - CPACK_NEVER_OVERWRITE
    - CPACK_PERMANENT
    - CPACK_START_MENU_SHORTCUTS
    - CPACK_STARTUP_SHORTCUTS
    - CPACK_WIX_ACL

generator-expressions:
    # Boolean Generator Expressions
    #   * Logical Operators
    - 0
    - 1
    - BOOL
    - AND
    - OR
    - NOT
    #   * String Comparisons
    - STREQUAL
    - EQUAL
    - IN_LIST                                               # Since 3.12
    - VERSION_LESS
    - VERSION_GREATER
    - VERSION_EQUAL
    - VERSION_LESS_EQUAL
    - VERSION_GREATER_EQUAL
    #   * Path Comparisons
    - PATH_EQUAL                                            # Since 3.24
    #   * Path Queries
    #   * Path Decomposition
    #   * Path Transformations
    # TODO Need a bit deeper genex parsing to get sub-commands of `PATH`
    - PATH                                                  # Since 3.24
    #   * Variable Queries
    - TARGET_EXISTS                                         # Since 3.12
    - CONFIG
    - PLATFORM_ID
    - C_COMPILER_ID
    - CXX_COMPILER_ID
    - CUDA_COMPILER_ID                                      # Since 3.15
    - Fortran_COMPILER_ID
    - C_COMPILER_VERSION
    - CXX_COMPILER_VERSION
    - CUDA_COMPILER_VERSION                                 # Since 3.15
    - Fortran_COMPILER_VERSION
    - TARGET_POLICY
    - COMPILE_FEATURES
    - COMPILE_LANG_AND_ID                                   # Since 3.15
    - COMPILE_LANGUAGE
    - LINK_LANG_AND_ID                                      # Since 3.18
    - LINK_LANGUAGE                                         # Since 3.18
    - DEVICE_LINK                                           # Since 3.18
    - HOST_LINK                                             # Since 3.18
    - LINK_LIBRARY                                          # Since 3.24
    - LINK_GROUP                                            # Since 3.24
    # String-Valued Generator Expressions
    #   * Escaped Characters
    - ANGLE-R
    - COMMA
    - SEMICOLON
    #   * Conditional Expressions
    - IF
    #   * String Transformations
    - JOIN
    - REMOVE_DUPLICATES                                     # Since 3.15
    - FILTER                                                # Since 3.15
    - LOWER_CASE
    - UPPER_CASE
    - GENEX_EVAL                                            # Since 3.12
    - TARGET_GENEX_EVAL                                     # Since 3.12
    #   * Variable Queries (NOTE Already included above)
    #   * Target-Dependent Queries
    - TARGET_NAME_IF_EXISTS                                 # Since 3.12
    - TARGET_FILE
    - TARGET_FILE_BASE_NAME                                 # Since 3.15
    - TARGET_FILE_PREFIX                                    # Since 3.15
    - TARGET_FILE_SUFFIX                                    # Since 3.15
    - TARGET_FILE_NAME
    - TARGET_FILE_DIR
    - TARGET_LINKER_FILE
    - TARGET_LINKER_FILE_BASE_NAME                          # Since 3.15
    - TARGET_LINKER_FILE_PREFIX                             # Since 3.15
    - TARGET_LINKER_FILE_SUFFIX                             # Since 3.15
    - TARGET_LINKER_FILE_NAME
    - TARGET_LINKER_FILE_DIR
    - TARGET_SONAME_FILE
    - TARGET_SONAME_FILE
    - TARGET_SONAME_FILE_NAME
    - TARGET_SONAME_FILE_DIR
    - TARGET_PDB_FILE
    - TARGET_PDB_FILE_BASE_NAME                             # Since 3.15
    - TARGET_PDB_FILE_NAME
    - TARGET_PDB_FILE_DIR
    - TARGET_BUNDLE_DIR_NAME                                # Since 3.24
    - TARGET_BUNDLE_DIR
    - TARGET_BUNDLE_CONTENT_DIR
    - TARGET_PROPERTY
    - TARGET_RUNTIME_DLLS                                   # Since 3.21
    - INSTALL_PREFIX
    # Output-Related Expressions
    - TARGET_NAME
    - LINK_ONLY
    - INSTALL_INTERFACE
    - BUILD_INTERFACE
    - MAKE_C_IDENTIFIER
    - TARGET_OBJECTS
    - SHELL_PATH
    - OUTPUT_CONFIG                                         # Since 3.20
    - COMMAND_CONFIG                                        # Since 3.20

variables:
    # Variables that Provide Information
    - CMAKE_AR
    - CMAKE_ARGC
    - CMAKE_ARGV<n>
    - CMAKE_BINARY_DIR
    - CMAKE_BUILD_TOOL
    - CMAKE_CACHEFILE_DIR
    - CMAKE_CACHE_MAJOR_VERSION
    - CMAKE_CACHE_MINOR_VERSION
    - CMAKE_CACHE_PATCH_VERSION
    - CMAKE_CFG_INTDIR
    - CMAKE_COMMAND
    - CMAKE_CROSSCOMPILING
    - CMAKE_CROSSCOMPILING_EMULATOR
    - CMAKE_CTEST_COMMAND
    - CMAKE_CURRENT_BINARY_DIR
    - CMAKE_CURRENT_FUNCTION                                # Since 3.17
    - CMAKE_CURRENT_FUNCTION_LIST_DIR                       # Since 3.17
    - CMAKE_CURRENT_FUNCTION_LIST_FILE                      # Since 3.17
    - CMAKE_CURRENT_FUNCTION_LIST_LINE                      # Since 3.17
    - CMAKE_CURRENT_LIST_DIR
    - CMAKE_CURRENT_LIST_FILE
    - CMAKE_CURRENT_LIST_LINE
    - CMAKE_CURRENT_SOURCE_DIR
    - CMAKE_DIRECTORY_LABELS                                # Since 3.10
    - CMAKE_DL_LIBS
    - CMAKE_DOTNET_SDK                                      # Since 3.23
    - CMAKE_DOTNET_TARGET_FRAMEWORK                         # Since 3.17
    - CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION                 # Since 3.12
    - CMAKE_EDIT_COMMAND
    - CMAKE_EXECUTABLE_SUFFIX
    - CMAKE_EXTRA_GENERATOR
    - CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
    - CMAKE_FIND_DEBUG_MODE                                 # Since 3.17
    - CMAKE_FIND_PACKAGE_NAME
    - CMAKE_FIND_PACKAGE_REDIRECTS_DIR                      # Since 3.24
    - CMAKE_FIND_PACKAGE_SORT_DIRECTION
    - CMAKE_FIND_PACKAGE_SORT_ORDER
    - CMAKE_GENERATOR
    - CMAKE_GENERATOR_INSTANCE                              # Since 3.11
    - CMAKE_GENERATOR_NO_COMPILER_ENV                       # "Professional CMake" §17.4
    - CMAKE_GENERATOR_PLATFORM
    - CMAKE_GENERATOR_TOOLSET
    - CMAKE_IMPORT_LIBRARY_PREFIX
    - CMAKE_IMPORT_LIBRARY_SUFFIX
    - CMAKE_JOB_POOL_COMPILE
    - CMAKE_JOB_POOL_LINK
    - CMAKE_JOB_POOLS                                       # Since 3.11
    - CMAKE_<LANG>_COMPILER_AR
    - CMAKE_<LANG>_COMPILER_RANLIB
    - CMAKE_LINK_LIBRARY_SUFFIX
    - CMAKE_LINK_SEARCH_END_STATIC
    - CMAKE_LINK_SEARCH_START_STATIC
    - CMAKE_MAJOR_VERSION
    - CMAKE_MAKE_PROGRAM
    - CMAKE_MATCH_COUNT
    - CMAKE_MATCH_<n>
    - CMAKE_MESSAGE_CONTEXT                                 # Since 3.17
    - CMAKE_MESSAGE_CONTEXT_SHOW                            # Since 3.17
    - CMAKE_MESSAGE_INDENT                                  # Since 3.16
    - CMAKE_MESSAGE_LOG_LEVEL                               # Since 3.17
    - CMAKE_MINIMUM_REQUIRED_VERSION
    - CMAKE_MINOR_VERSION
    - CMAKE_NETRC                                           # Since 3.11
    - CMAKE_NETRC_FILE                                      # Since 3.11
    - CMAKE_PARENT_LIST_FILE
    - CMAKE_PATCH_VERSION
    - CMAKE_PROJECT_DESCRIPTION
    - CMAKE_PROJECT_HOMEPAGE_URL                            # Since 3.12
    - CMAKE_PROJECT_NAME
    - CMAKE_PROJECT_VERSION                                 # Since 3.12
    - CMAKE_PROJECT_VERSION_MAJOR                           # Since 3.12
    - CMAKE_PROJECT_VERSION_MINOR                           # Since 3.12
    - CMAKE_PROJECT_VERSION_PATCH                           # Since 3.12
    - CMAKE_PROJECT_VERSION_TWEAK                           # Since 3.12
    - CMAKE_RANLIB
    - CMAKE_ROOT
    - CMAKE_SCRIPT_MODE_FILE
    - CMAKE_SHARED_LIBRARY_PREFIX
    - CMAKE_SHARED_LIBRARY_SUFFIX
    - CMAKE_SHARED_MODULE_PREFIX
    - CMAKE_SHARED_MODULE_SUFFIX
    - CMAKE_SIZEOF_VOID_P
    - CMAKE_SKIP_INSTALL_RULES
    - CMAKE_SKIP_RPATH
    - CMAKE_SOURCE_DIR
    - CMAKE_STATIC_LIBRARY_PREFIX
    - CMAKE_STATIC_LIBRARY_SUFFIX
    - CMAKE_Swift_MODULE_DIRECTORY                          # Since 3.15
    - CMAKE_TOOLCHAIN_FILE
    - CMAKE_TWEAK_VERSION
    - CMAKE_VERBOSE_MAKEFILE
    - CMAKE_VERSION
    - CMAKE_VS_DEVENV_COMMAND
    - CMAKE_VS_MSBUILD_COMMAND
    - CMAKE_VS_NsightTegra_VERSION
    - CMAKE_VS_NUGET_PACKAGE_RESTORE                        # Since 3.23
    - CMAKE_VS_PLATFORM_NAME
    - CMAKE_VS_PLATFORM_TOOLSET
    - CMAKE_VS_PLATFORM_TOOLSET_CUDA
    - CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
    - CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
    - CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM      # Since 3.19
    - CMAKE_XCODE_BUILD_SYSTEM                              # Since 3.19
    - CMAKE_XCODE_PLATFORM_TOOLSET
    - <PROJECT-NAME>_BINARY_DIR
    - <PROJECT-NAME>_DESCRIPTION                            # Since 3.12
    - <PROJECT-NAME>_IS_TOP_LEVEL                           # Since 3.21
    - <PROJECT-NAME>_HOMEPAGE_URL                           # Since 3.12
    - <PROJECT-NAME>_SOURCE_DIR
    - <PROJECT-NAME>_VERSION
    - <PROJECT-NAME>_VERSION_MAJOR
    - <PROJECT-NAME>_VERSION_MINOR
    - <PROJECT-NAME>_VERSION_PATCH
    - <PROJECT-NAME>_VERSION_TWEAK
    - PROJECT_BINARY_DIR
    - PROJECT_DESCRIPTION                                   # Since 3.9
    - PROJECT_IS_TOP_LEVEL                                  # Since 3.21
    - PROJECT_HOMEPAGE_URL                                  # Since 3.12
    - PROJECT_NAME
    - PROJECT_SOURCE_DIR
    - PROJECT_VERSION
    - PROJECT_VERSION_MAJOR
    - PROJECT_VERSION_MINOR
    - PROJECT_VERSION_PATCH
    - PROJECT_VERSION_TWEAK
    # Variables that Change Behavior
    - BUILD_SHARED_LIBS
    - CMAKE_ABSOLUTE_DESTINATION_FILES
    - CMAKE_APPBUNDLE_PATH
    - CMAKE_AUTOMOC_RELAXED_MODE
    - CMAKE_BACKWARDS_COMPATIBILITY
    - CMAKE_BUILD_TYPE
    - CMAKE_CLANG_VFS_OVERLAY                               # Since 3.19
    - CMAKE_CODEBLOCKS_COMPILER_ID                          # Since 3.11
    - CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES               # Since 3.10
    - CMAKE_CODELITE_USE_TARGETS
    - CMAKE_COLOR_DIAGNOSTICS                               # Since 3.24
    - CMAKE_COLOR_MAKEFILE
    - CMAKE_CONFIGURATION_TYPES
    - CMAKE_DEBUG_TARGET_PROPERTIES
    - CMAKE_DEPENDS_IN_PROJECT_ONLY
    - CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
    - CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
    - CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
    - CMAKE_ECLIPSE_MAKE_ARGUMENTS
    - CMAKE_ECLIPSE_RESOURCE_ENCODING                       # Since 3.16
    - CMAKE_ECLIPSE_VERSION
    - CMAKE_ERROR_DEPRECATED
    - CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
    - CMAKE_EXECUTE_PROCESS_COMMAND_ECHO                    # Since 3.15
    - CMAKE_EXPORT_COMPILE_COMMANDS
    - CMAKE_EXPORT_PACKAGE_REGISTRY                         # Since 3.15
    - CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    - CMAKE_FIND_APPBUNDLE
    - CMAKE_FIND_FRAMEWORK
    - CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX
    - CMAKE_FIND_LIBRARY_PREFIXES
    - CMAKE_FIND_LIBRARY_SUFFIXES
    - CMAKE_FIND_NO_INSTALL_PREFIX
    - CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY                # Deprecated since 3.16
    - CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
    - CMAKE_FIND_PACKAGE_PREFER_CONFIG                      # Since 3.15
    - CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS                   # Since 3.14
    - CMAKE_FIND_PACKAGE_TARGETS_GLOBAL                     # Since 3.24
    - CMAKE_FIND_PACKAGE_WARN_NO_MODULE
    - CMAKE_FIND_ROOT_PATH
    - CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
    - CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
    - CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
    - CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
    - CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH                 # Since 3.16
    - CMAKE_FIND_USE_CMAKE_PATH                             # Since 3.16
    - CMAKE_FIND_USE_CMAKE_SYSTEM_PATH                      # Since 3.16
    - CMAKE_FIND_USE_INSTALL_PREFIX                         # Since 3.24
    - CMAKE_FIND_USE_PACKAGE_ROOT_PATH                      # Since 3.16
    - CMAKE_FIND_USE_PACKAGE_REGISTRY                       # Since 3.16
    - CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH                # Since 3.16
    - CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY                # Since 3.16
    - CMAKE_FRAMEWORK_PATH
    - CMAKE_IGNORE_PATH
    - CMAKE_IGNORE_PREFIX_PATH                              # Since 3.23
    - CMAKE_INCLUDE_DIRECTORIES_BEFORE
    - CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
    - CMAKE_INCLUDE_PATH
    - CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
    - CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS           # Since 3.11
    - CMAKE_INSTALL_MESSAGE
    - CMAKE_INSTALL_PREFIX
    - CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
    - CMAKE_LIBRARY_PATH
    - CMAKE_LINK_DIRECTORIES_BEFORE                         # Since 3.13
    - CMAKE_LINK_LIBRARIES_ONLY_TARGETS                     # Since 3.23
    - CMAKE_MAXIMUM_RECURSION_DEPTH                         # Since 3.14
    - CMAKE_MFC_FLAG
    - CMAKE_MODULE_PATH
    - CMAKE_POLICY_DEFAULT_CMP<NNNN>
    - CMAKE_POLICY_WARNING_CMP<NNNN>
    - CMAKE_PREFIX_PATH
    - CMAKE_PROGRAM_PATH
    - CMAKE_PROJECT_INCLUDE                                 # Since 3.15
    - CMAKE_PROJECT_INCLUDE_BEFORE                          # Since 3.15
    - CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
    - CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE           # Since 3.17
    - CMAKE_PROJECT_TOP_LEVEL_INCLUDES                      # Since 3.24
    - CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>              # Since 3.22
    - CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
    - CMAKE_STAGING_PREFIX
    - CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
    - CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
    - CMAKE_SUPPRESS_REGENERATION                           # Since 3.12
    - CMAKE_SYSROOT
    - CMAKE_SYSROOT_COMPILE
    - CMAKE_SYSROOT_LINK
    - CMAKE_SYSTEM_APPBUNDLE_PATH
    - CMAKE_SYSTEM_FRAMEWORK_PATH
    - CMAKE_SYSTEM_IGNORE_PATH
    - CMAKE_SYSTEM_IGNORE_PREFIX_PATH                       # Since 3.23
    - CMAKE_SYSTEM_INCLUDE_PATH
    - CMAKE_SYSTEM_LIBRARY_PATH
    - CMAKE_SYSTEM_PREFIX_PATH
    - CMAKE_SYSTEM_PROGRAM_PATH
    - CMAKE_USER_MAKE_RULES_OVERRIDE
    - CMAKE_WARN_DEPRECATED
    - CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
    - CMAKE_XCODE_GENERATE_SCHEME
    - CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY           # Since 3.13
    - CMAKE_XCODE_LINK_BUILD_PHASE_MODE                     # Since 3.19
    - CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER                  # Since 3.13
    - CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN # Since 3.13
    - CMAKE_XCODE_SCHEME_WORKING_DIRECTORY                  # Since 3.17
    - CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING          # Since 3.16
    - CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE      # Since 3.23
    - CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER        # Since 3.13
    - CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE           # Since 3.13
    - CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS              # Since 3.13
    - CMAKE_XCODE_SCHEME_ENVIRONMENT                        # Since 3.17
    - CMAKE_XCODE_SCHEME_GUARD_MALLOC                       # Since 3.13
    - CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP           # Since 3.13
    - CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES                 # Since 3.13
    - CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE                    # Since 3.13
    - CMAKE_XCODE_SCHEME_MALLOC_STACK                       # Since 3.13
    - CMAKE_XCODE_SCHEME_THREAD_SANITIZER                   # Since 3.13
    - CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP              # Since 3.13
    - CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER      # Since 3.13
    - CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP # Since 3.13
    - CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS                     # Since 3.13
    - CMAKE_XCODE_XCCONFIG                                  # Since 3.24
    # Variables that Describe the System
    - ANDROID
    - APPLE
    - BORLAND
    - CMAKE_ANDROID_NDK_VERSION                             # Since 3.20
    - CMAKE_CL_64
    - CMAKE_COMPILER_2005
    - CMAKE_HOST_APPLE
    - CMAKE_HOST_SOLARIS
    - CMAKE_HOST_SYSTEM
    - CMAKE_HOST_SYSTEM_NAME
    - CMAKE_HOST_SYSTEM_PROCESSOR
    - CMAKE_HOST_SYSTEM_VERSION
    - CMAKE_HOST_UNIX
    - CMAKE_HOST_WIN32
    - CMAKE_LIBRARY_ARCHITECTURE
    - CMAKE_LIBRARY_ARCHITECTURE_REGEX
    - CMAKE_OBJECT_PATH_MAX
    - CMAKE_SYSTEM
    - CMAKE_SYSTEM_NAME
    - CMAKE_SYSTEM_PROCESSOR
    - CMAKE_SYSTEM_VERSION
    - CYGWIN
    # NOTE `ENV` not a variable in fact!
    # - ENV
    - GHS-MULTI
    - MINGW
    - MSVC
    - MSVC10
    - MSVC11
    - MSVC12
    - MSVC14
    - MSVC60
    - MSVC70
    - MSVC71
    - MSVC80
    - MSVC90
    - MSVC_IDE
    - MSVC_TOOLSET_VERSION                                  # Since 3.12
    - MSVC_VERSION
    - UNIX
    - WIN32
    - WINCE
    - WINDOWS_PHONE
    - WINDOWS_STORE
    - XCODE
    - XCODE_VERSION
    # Variables that Control the Build
    - CMAKE_AIX_EXPORT_ALL_SYMBOLS                          # Since 3.17
    - CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS
    - CMAKE_ANDROID_API
    - CMAKE_ANDROID_API_MIN
    - CMAKE_ANDROID_ARCH
    - CMAKE_ANDROID_ARCH_ABI
    - CMAKE_ANDROID_ARM_MODE
    - CMAKE_ANDROID_ARM_NEON
    - CMAKE_ANDROID_ASSETS_DIRECTORIES
    - CMAKE_ANDROID_GUI
    - CMAKE_ANDROID_JAR_DEPENDENCIES
    - CMAKE_ANDROID_JAR_DIRECTORIES
    - CMAKE_ANDROID_JAVA_SOURCE_DIR
    - CMAKE_ANDROID_NATIVE_LIB_DEPENDENCIES
    - CMAKE_ANDROID_NATIVE_LIB_DIRECTORIES
    - CMAKE_ANDROID_NDK
    - CMAKE_ANDROID_NDK_DEPRECATED_HEADERS
    - CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG
    - CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
    - CMAKE_ANDROID_PROCESS_MAX
    - CMAKE_ANDROID_PROGUARD
    - CMAKE_ANDROID_PROGUARD_CONFIG_PATH
    - CMAKE_ANDROID_SECURE_PROPS_PATH
    - CMAKE_ANDROID_SKIP_ANT_STEP
    - CMAKE_ANDROID_STANDALONE_TOOLCHAIN
    - CMAKE_ANDROID_STL_TYPE
    - CMAKE_APPLE_SILICON_PROCESSOR                         # Since 3.19.2
    - CMAKE_ARCHIVE_OUTPUT_DIRECTORY
    - CMAKE_ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
    - CMAKE_AUTOGEN_ORIGIN_DEPENDS                          # Since 3.14
    - CMAKE_AUTOGEN_PARALLEL
    - CMAKE_AUTOGEN_VERBOSE                                 # Since 3.13
    - CMAKE_AUTOMOC
    - CMAKE_AUTOMOC_DEPEND_FILTERS
    - CMAKE_AUTOMOC_MOC_OPTIONS
    - CMAKE_AUTOMOC_PATH_PREFIX                             # Since 3.16
    - CMAKE_AUTORCC
    - CMAKE_AUTORCC_OPTIONS
    - CMAKE_AUTOUIC
    - CMAKE_AUTOUIC_OPTIONS
    - CMAKE_AUTOUIC_SEARCH_PATHS
    - CMAKE_BUILD_RPATH
    - CMAKE_BUILD_RPATH_USE_ORIGIN                          # Since 3.14
    - CMAKE_BUILD_WITH_INSTALL_NAME_DIR
    - CMAKE_BUILD_WITH_INSTALL_RPATH
    - CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
    - CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
    - CMAKE_COMPILE_WARNING_AS_ERROR                        # Since 3.24
    - CMAKE_<CONFIG>_POSTFIX
    - CMAKE_CROSS_CONFIGS                                   # Since 3.17
    - CMAKE_CTEST_ARGUMENTS                                 # Since 3.17
    - CMAKE_CUDA_SEPARABLE_COMPILATION                      # Since 3.11
    - CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS                     # Since 3.16
    - CMAKE_CUDA_RUNTIME_LIBRARY                            # Since 3.17
    - CMAKE_DEBUG_POSTFIX
    - CMAKE_DEFAULT_BUILD_TYPE                              # Since 3.17
    - CMAKE_DEFAULT_CONFIGS                                 # Since 3.17
    - CMAKE_DISABLE_PRECOMPILE_HEADERS                      # Since 3.17
    - CMAKE_ENABLE_EXPORTS
    - CMAKE_EXE_LINKER_FLAGS
    - CMAKE_EXE_LINKER_FLAGS_<CONFIG>
    - CMAKE_EXE_LINKER_FLAGS_<CONFIG>_INIT
    - CMAKE_EXE_LINKER_FLAGS_INIT
    - CMAKE_FOLDER                                          # Since 3.12
    - CMAKE_FRAMEWORK                                       # Since 3.15
    - CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>         # Since 3.18
    - CMAKE_Fortran_FORMAT
    - CMAKE_Fortran_MODULE_DIRECTORY
    - CMAKE_Fortran_PREPROCESS                              # Since 3.18
    - CMAKE_GLOBAL_AUTOGEN_TARGET                           # Since 3.14
    - CMAKE_GLOBAL_AUTOGEN_TARGET_NAME                      # Since 3.14
    - CMAKE_GLOBAL_AUTORCC_TARGET                           # Since 3.14
    - CMAKE_GLOBAL_AUTORCC_TARGET_NAME                      # Since 3.14
    - CMAKE_GNUtoMS
    - CMAKE_INCLUDE_CURRENT_DIR
    - CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
    - CMAKE_INSTALL_NAME_DIR
    - CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH                # Since 3.16
    - CMAKE_INSTALL_RPATH
    - CMAKE_INSTALL_RPATH_USE_LINK_PATH
    - CMAKE_INTERPROCEDURAL_OPTIMIZATION
    - CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
    - CMAKE_IOS_INSTALL_COMBINED
    - CMAKE_<LANG>_CLANG_TIDY
    - CMAKE_<LANG>_COMPILER_LAUNCHER
    - CMAKE_<LANG>_CPPCHECK                                 # Since 3.10
    - CMAKE_<LANG>_CPPLINT
    - CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE
    - CMAKE_<LANG>_LINK_LIBRARY_USING_<FEATURE>             # Since 3.24
    - CMAKE_<LANG>_LINK_LIBRARY_USING_<FEATURE>_SUPPORTED   # Since 3.24
    - CMAKE_<LANG>_LINKER_LAUNCHER                          # Since 3.21
    - CMAKE_<LANG>_LINK_GROUP_USING_<FEATURE>               # Since 3.24
    - CMAKE_<LANG>_LINK_GROUP_USING_<FEATURE>_SUPPORTED     # Since 3.24
    - CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG                   # Since 3.16
    - CMAKE_<LANG>_LINK_LIBRARY_FLAG                        # Since 3.16
    - CMAKE_<LANG>_LINK_WHAT_YOU_USE_FLAG                   # Since 3.22
    - CMAKE_<LANG>_VISIBILITY_PRESET
    - CMAKE_LIBRARY_OUTPUT_DIRECTORY
    - CMAKE_LIBRARY_OUTPUT_DIRECTORY_<CONFIG>
    - CMAKE_LIBRARY_PATH_FLAG
    - CMAKE_LINK_DEF_FILE_FLAG
    - CMAKE_LINK_DEPENDS_NO_SHARED
    - CMAKE_LINK_INTERFACE_LIBRARIES
    - CMAKE_LINK_LIBRARY_FILE_FLAG
    - CMAKE_LINK_LIBRARY_FLAG
    - CMAKE_LINK_LIBRARY_USING_<FEATURE>                    # Since 3.24
    - CMAKE_LINK_LIBRARY_USING_<FEATURE>_SUPPORTED          # Since 3.24
    - CMAKE_LINK_WHAT_YOU_USE
    - CMAKE_LINK_WHAT_YOU_USE_CHECK                         # Since 3.22
    - CMAKE_MACOSX_BUNDLE
    - CMAKE_MACOSX_RPATH
    - CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>
    - CMAKE_MODULE_LINKER_FLAGS
    - CMAKE_MODULE_LINKER_FLAGS_<CONFIG>
    - CMAKE_MODULE_LINKER_FLAGS_<CONFIG>_INIT
    - CMAKE_MODULE_LINKER_FLAGS_INIT
    - CMAKE_MSVCIDE_RUN_PATH                                # Since 3.15
    - CMAKE_MSVC_RUNTIME_LIBRARY                            # Since 3.15
    - CMAKE_NINJA_OUTPUT_PATH_PREFIX
    - CMAKE_NO_BUILTIN_CHRPATH
    - CMAKE_NO_SYSTEM_FROM_IMPORTED
    - CMAKE_OPTIMIZE_DEPENDENCIES                           # Since 3.19
    - CMAKE_OSX_ARCHITECTURES
    - CMAKE_OSX_DEPLOYMENT_TARGET
    - CMAKE_OSX_SYSROOT
    - CMAKE_PCH_WARN_INVALID                                # Since 3.18
    - CMAKE_PCH_INSTANTIATE_TEMPLATES                       # Since 3.19
    - CMAKE_PDB_OUTPUT_DIRECTORY
    - CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG>
    - CMAKE_POSITION_INDEPENDENT_CODE
    - CMAKE_RUNTIME_OUTPUT_DIRECTORY
    - CMAKE_RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
    - CMAKE_SHARED_LINKER_FLAGS
    - CMAKE_SHARED_LINKER_FLAGS_<CONFIG>
    - CMAKE_SHARED_LINKER_FLAGS_<CONFIG>_INIT
    - CMAKE_SHARED_LINKER_FLAGS_INIT
    - CMAKE_SKIP_BUILD_RPATH
    - CMAKE_SKIP_INSTALL_RPATH
    - CMAKE_STATIC_LINKER_FLAGS
    - CMAKE_STATIC_LINKER_FLAGS_<CONFIG>
    - CMAKE_STATIC_LINKER_FLAGS_<CONFIG>_INIT
    - CMAKE_STATIC_LINKER_FLAGS_INIT
    - CMAKE_TRY_COMPILE_CONFIGURATION
    - CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES               # Since 3.24
    - CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
    - CMAKE_TRY_COMPILE_TARGET_TYPE
    - CMAKE_UNITY_BUILD                                     # Since 3.16
    - CMAKE_UNITY_BUILD_BATCH_SIZE                          # Since 3.16
    - CMAKE_USE_RELATIVE_PATHS
    - CMAKE_VERIFY_INTERFACE_HEADER_SETS                    # Since 3.24
    - CMAKE_VISIBILITY_INLINES_HIDDEN
    - CMAKE_VS_GLOBALS                                      # Since 3.13
    - CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
    - CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
    - CMAKE_VS_JUST_MY_CODE_DEBUGGING                       # Since 3.15
    - CMAKE_VS_SDK_EXCLUDE_DIRECTORIES                      # Since 3.12
    - CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES                   # Since 3.12
    - CMAKE_VS_SDK_INCLUDE_DIRECTORIES                      # Since 3.12
    - CMAKE_VS_SDK_LIBRARY_DIRECTORIES                      # Since 3.12
    - CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES                # Since 3.12
    - CMAKE_VS_SDK_REFERENCE_DIRECTORIES                    # Since 3.12
    - CMAKE_VS_SDK_SOURCE_DIRECTORIES                       # Since 3.12
    - CMAKE_VS_WINRT_BY_DEFAULT                             # Since 3.13
    - CMAKE_WATCOM_RUNTIME_LIBRARY                          # Since 3.24
    - CMAKE_WIN32_EXECUTABLE
    - CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
    - CMAKE_XCODE_ATTRIBUTE_<an-attribute>
    - EXECUTABLE_OUTPUT_PATH
    - LIBRARY_OUTPUT_PATH
    # Variables for Languages
    - CMAKE_COMPILER_IS_GNUCC
    - CMAKE_COMPILER_IS_GNUCXX
    - CMAKE_COMPILER_IS_GNUG77
    - CMAKE_CUDA_ARCHITECTURES                              # Since 3.18
    - CMAKE_CUDA_COMPILE_FEATURES                           # Since 3.17
    - CMAKE_CUDA_HOST_COMPILER                              # Since 3.17
    - CMAKE_CUDA_EXTENSIONS
    - CMAKE_CUDA_STANDARD
    - CMAKE_CUDA_STANDARD_REQUIRED
    - CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES
    - CMAKE_CXX_COMPILE_FEATURES
    - CMAKE_CXX_EXTENSIONS
    - CMAKE_CXX_STANDARD
    - CMAKE_CXX_STANDARD_REQUIRED
    - CMAKE_C_COMPILE_FEATURES
    - CMAKE_C_EXTENSIONS
    - CMAKE_C_STANDARD
    - CMAKE_C_STANDARD_REQUIRED
    - CMAKE_Fortran_MODDIR_DEFAULT
    - CMAKE_Fortran_MODDIR_FLAG
    - CMAKE_Fortran_MODOUT_FLAG
    - CMAKE_HIP_ARCHITECTURES                               # Since 3.21
    - CMAKE_HIP_EXTENSIONS                                  # Since 3.21
    - CMAKE_HIP_STANDARD                                    # Since 3.21
    - CMAKE_HIP_STANDARD_REQUIRED                           # Since 3.21
    - CMAKE_ISPC_HEADER_DIRECTORY                           # Since 3.19
    - CMAKE_ISPC_HEADER_SUFFIX                              # Since 3.19.2
    - CMAKE_ISPC_INSTRUCTION_SETS                           # Since 3.19
    - CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
    - CMAKE_<LANG>_ANDROID_TOOLCHAIN_PREFIX
    - CMAKE_<LANG>_ANDROID_TOOLCHAIN_SUFFIX
    - CMAKE_<LANG>_ARCHIVE_APPEND
    - CMAKE_<LANG>_ARCHIVE_CREATE
    - CMAKE_<LANG>_ARCHIVE_FINISH
    - CMAKE_<LANG>_BYTE_ORDER                               # Since 3.20
    - CMAKE_<LANG>_COMPILER
    - CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN
    - CMAKE_<LANG>_COMPILER_ID
    - CMAKE_<LANG>_COMPILER_LOADED
    - CMAKE_<LANG>_COMPILER_TARGET
    - CMAKE_<LANG>_COMPILER_VERSION
    - CMAKE_<LANG>_COMPILE_OBJECT
    - CMAKE_<LANG>_CREATE_SHARED_LIBRARY
    - CMAKE_<LANG>_CREATE_SHARED_MODULE
    - CMAKE_<LANG>_CREATE_STATIC_LIBRARY
    - CMAKE_<LANG>_EXTENSIONS
    - CMAKE_<LANG>_EXTENSIONS_DEFAULT                       # Since 3.22
    - CMAKE_<LANG>_FLAGS
    - CMAKE_<LANG>_FLAGS_<CONFIG>
    - CMAKE_<LANG>_FLAGS_<CONFIG>_INIT
    - CMAKE_<LANG>_FLAGS_DEBUG
    - CMAKE_<LANG>_FLAGS_DEBUG_INIT
    - CMAKE_<LANG>_FLAGS_INIT
    - CMAKE_<LANG>_FLAGS_MINSIZEREL
    - CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT
    - CMAKE_<LANG>_FLAGS_RELEASE
    - CMAKE_<LANG>_FLAGS_RELEASE_INIT
    - CMAKE_<LANG>_FLAGS_RELWITHDEBINFO
    - CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT
    - CMAKE_<LANG>_GHS_KERNEL_FLAGS_DEBUG
    - CMAKE_<LANG>_GHS_KERNEL_FLAGS_MINSIZEREL
    - CMAKE_<LANG>_GHS_KERNEL_FLAGS_RELEASE
    - CMAKE_<LANG>_GHS_KERNEL_FLAGS_RELWITHDEBINFO
    - CMAKE_<LANG>_IGNORE_EXTENSIONS
    - CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES
    - CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
    - CMAKE_<LANG>_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
    - CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
    - CMAKE_<LANG>_LIBRARY_ARCHITECTURE
    - CMAKE_<LANG>_LINKER_PREFERENCE
    - CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES
    - CMAKE_<LANG>_LINKER_WRAPPER_FLAG                      # Since 3.13
    - CMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP                  # Since 3.13
    - CMAKE_<LANG>_LINK_EXECUTABLE
    - CMAKE_<LANG>_OUTPUT_EXTENSION
    - CMAKE_<LANG>_SIMULATE_ID
    - CMAKE_<LANG>_SIMULATE_VERSION
    - CMAKE_<LANG>_SIZEOF_DATA_PTR
    - CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS
    - CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES
    - CMAKE_<LANG>_STANDARD_LIBRARIES
    - CMAKE_OBJC_EXTENSIONS                                 # Since 3.16
    - CMAKE_OBJC_STANDARD                                   # Since 3.16
    - CMAKE_OBJC_STANDARD_REQUIRED                          # Since 3.16
    - CMAKE_OBJCXX_EXTENSIONS                               # Since 3.16
    - CMAKE_OBJCXX_STANDARD                                 # Since 3.16
    - CMAKE_OBJCXX_STANDARD_REQUIRED                        # Since 3.16
    - CMAKE_Swift_LANGUAGE_VERSION
    - CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>
    # Variables for CTest
    - CTEST_BINARY_DIRECTORY
    - CTEST_BUILD_COMMAND
    - CTEST_BUILD_NAME
    - CTEST_BZR_COMMAND
    - CTEST_BZR_UPDATE_OPTIONS
    - CTEST_CHANGE_ID
    - CTEST_CHECKOUT_COMMAND
    - CTEST_CONFIGURATION_TYPE
    - CTEST_CONFIGURE_COMMAND
    - CTEST_COVERAGE_COMMAND
    - CTEST_COVERAGE_EXTRA_FLAGS
    - CTEST_CURL_OPTIONS
    - CTEST_CUSTOM_COVERAGE_EXCLUDE
    - CTEST_CUSTOM_ERROR_EXCEPTION
    - CTEST_CUSTOM_ERROR_MATCH
    - CTEST_CUSTOM_ERROR_POST_CONTEXT
    - CTEST_CUSTOM_ERROR_PRE_CONTEXT
    - CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE
    - CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS
    - CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS
    - CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE
    - CTEST_CUSTOM_MEMCHECK_IGNORE
    - CTEST_CUSTOM_POST_MEMCHECK
    - CTEST_CUSTOM_POST_TEST
    - CTEST_CUSTOM_PRE_MEMCHECK
    - CTEST_CUSTOM_PRE_TEST
    - CTEST_CUSTOM_TEST_IGNORE
    - CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION                   # Since 3.24
    - CTEST_CUSTOM_WARNING_EXCEPTION
    - CTEST_CUSTOM_WARNING_MATCH
    - CTEST_CVS_CHECKOUT
    - CTEST_CVS_COMMAND
    - CTEST_CVS_UPDATE_OPTIONS
    - CTEST_DROP_LOCATION
    - CTEST_DROP_METHOD
    - CTEST_DROP_SITE
    - CTEST_DROP_SITE_CDASH
    - CTEST_DROP_SITE_PASSWORD
    - CTEST_DROP_SITE_USER
    - CTEST_EXTRA_COVERAGE_GLOB
    - CTEST_GIT_COMMAND
    - CTEST_GIT_INIT_SUBMODULES
    - CTEST_GIT_UPDATE_CUSTOM
    - CTEST_GIT_UPDATE_OPTIONS
    - CTEST_HG_COMMAND
    - CTEST_HG_UPDATE_OPTIONS
    - CTEST_LABELS_FOR_SUBPROJECTS                          # Since 3.10
    - CTEST_MEMORYCHECK_COMMAND
    - CTEST_MEMORYCHECK_COMMAND_OPTIONS
    - CTEST_MEMORYCHECK_SANITIZER_OPTIONS
    - CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
    - CTEST_MEMORYCHECK_TYPE
    - CTEST_NIGHTLY_START_TIME
    - CTEST_P4_CLIENT
    - CTEST_P4_COMMAND
    - CTEST_P4_OPTIONS
    - CTEST_P4_UPDATE_OPTIONS
    - CTEST_RESOURCE_SPEC_FILE                              # Since 3.18
    - CTEST_RUN_CURRENT_SCRIPT                              # Since 3.11
    - CTEST_SCP_COMMAND
    - CTEST_SITE
    - CTEST_SUBMIT_INACTIVITY_TIMEOUT                       # Since 3.23
    - CTEST_SUBMIT_URL                                      # Since 3.14
    - CTEST_SOURCE_DIRECTORY
    - CTEST_SVN_COMMAND
    - CTEST_SVN_OPTIONS
    - CTEST_SVN_UPDATE_OPTIONS
    - CTEST_TEST_LOAD
    - CTEST_TEST_TIMEOUT
    - CTEST_TRIGGER_SITE
    - CTEST_UPDATE_COMMAND
    - CTEST_UPDATE_OPTIONS
    - CTEST_UPDATE_VERSION_ONLY
    - CTEST_UPDATE_VERSION_OVERRIDE                         # Since 3.15
    - CTEST_USE_LAUNCHERS
    # Variables for CPack
    - CPACK_ABSOLUTE_DESTINATION_FILES
    - CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
    - CPACK_CUSTOM_INSTALL_VARIABLES                        # Since 3.21
    - CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
    - CPACK_INCLUDE_TOPLEVEL_DIRECTORY
    - CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS           # Since 3.11
    - CPACK_INSTALL_SCRIPTS                                 # Since 3.16
    - CPACK_PACKAGING_INSTALL_PREFIX
    - CPACK_SET_DESTDIR
    - CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
    # Variables for `find_package()`
    - PACKAGE_FIND_NAME
    # NOTE <SMTH>_VERSION and components already defined above, so skipped here
    - PACKAGE_FIND_VERSION_COUNT
    - PACKAGE_FIND_VERSION_RANGE
    - PACKAGE_FIND_VERSION_RANGE_MIN
    - PACKAGE_FIND_VERSION_RANGE_MAX
    - PACKAGE_FIND_VERSION_MIN
    - PACKAGE_FIND_VERSION_MIN_MAJOR
    - PACKAGE_FIND_VERSION_MIN_MINOR
    - PACKAGE_FIND_VERSION_MIN_PATCH
    - PACKAGE_FIND_VERSION_MIN_TWEAK
    - PACKAGE_FIND_VERSION_MIN_COUNT
    - PACKAGE_FIND_VERSION_MAX
    - PACKAGE_FIND_VERSION_MAX_MAJOR
    - PACKAGE_FIND_VERSION_MAX_MINOR
    - PACKAGE_FIND_VERSION_MAX_PATCH
    - PACKAGE_FIND_VERSION_MAX_TWEAK
    - PACKAGE_FIND_VERSION_MAX_COUNT
    - PACKAGE_FIND_VERSION_COMPLETE
    - PACKAGE_VERSION
    - PACKAGE_VERSION_EXACT
    - PACKAGE_VERSION_COMPATIBLE
    - PACKAGE_VERSION_UNSUITABLE
    # Package File Interface Variables
    - <package>_FOUND
    - <package>_FIND_REQUIRED
    - <package>_FIND_QUIETLY
    - <package>_VERSION_COUNT
    # NOTE <SMTH>_VERSION and components already defined above, so skipped here
    - <PackageName>_FIND_VERSION_COUNT
    - <PackageName>_FIND_VERSION_EXACT
    - <PackageName>_FIND_COMPONENTS
    - <PackageName>_FIND_REQUIRED_<c>
    - <PackageName>_FIND_VERSION_RANGE
    - <PackageName>_FIND_VERSION_RANGE_MIN
    - <PackageName>_FIND_VERSION_RANGE_MAX
    - <PackageName>_FIND_VERSION_MIN
    - <PackageName>_FIND_VERSION_MIN_MAJOR
    - <PackageName>_FIND_VERSION_MIN_MINOR
    - <PackageName>_FIND_VERSION_MIN_PATCH
    - <PackageName>_FIND_VERSION_MIN_TWEAK
    - <PackageName>_FIND_VERSION_MIN_COUNT
    - <PackageName>_FIND_VERSION_MAX
    - <PackageName>_FIND_VERSION_MAX_MAJOR
    - <PackageName>_FIND_VERSION_MAX_MINOR
    - <PackageName>_FIND_VERSION_MAX_PATCH
    - <PackageName>_FIND_VERSION_MAX_TWEAK
    - <PackageName>_FIND_VERSION_MAX_COUNT
    - <PackageName>_FIND_VERSION_COMPLETE
    - <PackageName>_CONFIG
    - <PackageName>_CONSIDERED_CONFIGS
    - <PackageName>_CONSIDERED_VERSIONS
    - <PackageName>_ROOT                                    # Since 3.12
    # Other standard variables/patterns
    # - `try_run`
    - <RUN_RESULT_VAR>__TRYRUN_OUTPUT
    # - `function`
    - ARGC
    - ARGN
    - ARGV
    - ARGV<n>
    # - `cmake_parse_arguments`
    - <pfx>_UNPARSED_ARGUMENTS
    - <pfx>_KEYWORDS_MISSING_VALUES
    # Variables that control `file(GET_RUNTIME_DEPENDENCIES)` behavior
    - CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM
    - CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL
    - CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND
    # Fallback Interface Variables for `cmake_host_system_information`
    # Since CMake 3.22
    - CMAKE_GET_OS_RELEASE_FALLBACK_SCRIPTS
    - CMAKE_GET_OS_RELEASE_FALLBACK_RESULT_<varname>
    - CMAKE_GET_OS_RELEASE_FALLBACK_RESULT
    # Well known CMake's official module's variables
    # - BundleUtilities
    - BU_CHMOD_BUNDLE_ITEMS
    # - CheckCompilerFlag
    # - CheckCCompilerFlag
    # - CheckSourceCompiles
    # - CheckCSourceCompiles
    # - CheckSourceRuns
    # - CheckCSourceRuns
    # - CheckCxxCompilerFlag
    # - CheckCxxSourceCompiles
    # - CheckCxxSourceRuns
    # - CheckCXXSymbolExists
    # - CheckFortranCompilerFlag
    # - CheckFortranFunctionExists
    # - CheckFortranSourceCompiles
    # - CheckFortranSourceCompiles
    # - CheckFunctionExists
    # - CheckIncludeFileCXX
    # - CheckIncludeFile
    # - CheckIncludeFiles
    # - CheckLibraryExists
    # - CheckPIESupported
    - CMAKE_C_LINK_PIE_SUPPORTED
    - CMAKE_CXX_LINK_PIE_SUPPORTED
    - CMAKE_Fortran_LINK_PIE_SUPPORTED
    - CMAKE_C_LINK_NO_PIE_SUPPORTED
    - CMAKE_CXX_LINK_NO_PIE_SUPPORTED
    - CMAKE_Fortran_LINK_NO_PIE_SUPPORTED
      # Since 3.23
    - CMAKE_OBJC_LINK_PIE_SUPPORTED
    - CMAKE_OBJC_LINK_NO_PIE_SUPPORTED
    - CMAKE_OBJCXX_LINK_PIE_SUPPORTED
    - CMAKE_OBJCXX_LINK_NO_PIE_SUPPORTED
    - CMAKE_CUDA_LINK_PIE_SUPPORTED
    - CMAKE_CUDA_LINK_NO_PIE_SUPPORTED
    - CMAKE_HIP_LINK_PIE_SUPPORTED
    - CMAKE_HIP_LINK_NO_PIE_SUPPORTED
    # - CheckPrototypeDefinition
    # - CheckStructHasMember
    # - CheckSymbolExists
    # - CheckTypeSize
    # - CheckVariableExists
    - CMAKE_REQUIRED_DEFINITIONS
    - CMAKE_REQUIRED_FLAGS
    - CMAKE_REQUIRED_INCLUDES
    - CMAKE_REQUIRED_LINK_OPTIONS                           # Since 3.14
    - CMAKE_REQUIRED_LIBRARIES
    - CMAKE_REQUIRED_QUIET
    # - CheckTypeSize
    # - CMakePushCheckState
    - CMAKE_EXTRA_INCLUDE_FILES
    # - CMakeBackwardCompatibilityCXX
    - CMAKE_ANSI_CXXFLAGS
    - CMAKE_HAS_ANSI_STRING_STREAM
    # - CMakeFindFrameworks
    - CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS
    # - CMakeGraphVizOptions
    - GRAPHVIZ_GRAPH_TYPE
    - GRAPHVIZ_GRAPH_NAME
    - GRAPHVIZ_GRAPH_HEADER
    - GRAPHVIZ_NODE_PREFIX
    - GRAPHVIZ_EXECUTABLES
    - GRAPHVIZ_STATIC_LIBS
    - GRAPHVIZ_SHARED_LIBS
    - GRAPHVIZ_MODULE_LIBS
    - GRAPHVIZ_EXTERNAL_LIBS
    - GRAPHVIZ_IGNORE_TARGETS
    - GRAPHVIZ_GENERATE_PER_TARGET
    # - CPackArchive
    - CPACK_ARCHIVE_FILE_NAME
    - CPACK_ARCHIVE_<COMPONENT>_FILE_NAME
    - CPACK_ARCHIVE_COMPONENT_INSTALL
    - CPACK_ARCHIVE_THREADS                                 # Since 3.18
    # - CPackBundle
    - CPACK_BUNDLE_NAME
    - CPACK_BUNDLE_PLIST
    - CPACK_BUNDLE_ICON
    - CPACK_BUNDLE_STARTUP_COMMAND
    - CPACK_BUNDLE_APPLE_CERT_APP
    - CPACK_BUNDLE_APPLE_ENTITLEMENTS
    - CPACK_BUNDLE_APPLE_CODESIGN_FILES
    - CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
    - CPACK_COMMAND_CODESIGN
    # - CPackComponent
    - CPACK_COMPONENTS_ALL
    - CPACK_<GENNAME>_COMPONENT_INSTALL
    - CPACK_COMPONENTS_GROUPING
    - CPACK_COMPONENT_<COMPNAME>_DISPLAY_NAME
    - CPACK_COMPONENT_<COMPNAME>_DESCRIPTION
    - CPACK_COMPONENT_<COMPNAME>_GROUP
    - CPACK_COMPONENT_<COMPNAME>_DEPENDS
    - CPACK_COMPONENT_<COMPNAME>_HIDDEN
    - CPACK_COMPONENT_<COMPNAME>_REQUIRED
    - CPACK_COMPONENT_<COMPNAME>_DISABLED
    # - CPackCygwin
    - CPACK_CYGWIN_PATCH_NUMBER
    - CPACK_CYGWIN_PATCH_FILE
    - CPACK_CYGWIN_BUILD_SCRIPT
    # - CPackDeb
    - CPACK_DEB_COMPONENT_INSTALL
    - CPACK_DEBIAN_PACKAGE_NAME
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
    - CPACK_DEBIAN_FILE_NAME
    - CPACK_DEBIAN_<COMPONENT>_FILE_NAME
    - CPACK_DEBIAN_PACKAGE_EPOCH                            # Since 3.10
    - CPACK_DEBIAN_PACKAGE_VERSION
    - CPACK_DEBIAN_PACKAGE_RELEASE
    - CPACK_DEBIAN_PACKAGE_ARCHITECTURE
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
    - CPACK_DEBIAN_PACKAGE_DEPENDS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
    - CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
    - CPACK_DEBIAN_PACKAGE_MAINTAINER
    - CPACK_DEBIAN_PACKAGE_DESCRIPTION
    - CPACK_DEBIAN_<COMPONENT>_DESCRIPTION                  # Since 3.16
    - CPACK_DEBIAN_PACKAGE_SECTION
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
    - CPACK_DEBIAN_ARCHIVE_TYPE
    - CPACK_DEBIAN_COMPRESSION_TYPE
    - CPACK_DEBIAN_PACKAGE_PRIORITY
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
    - CPACK_DEBIAN_PACKAGE_HOMEPAGE
    - CPACK_DEBIAN_PACKAGE_SHLIBDEPS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
    - CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS           # Since 3.20
    - CPACK_DEBIAN_PACKAGE_DEBUG
    - CPACK_DEBIAN_PACKAGE_PREDEPENDS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
    - CPACK_DEBIAN_PACKAGE_ENHANCES
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
    - CPACK_DEBIAN_PACKAGE_BREAKS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
    - CPACK_DEBIAN_PACKAGE_CONFLICTS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
    - CPACK_DEBIAN_PACKAGE_PROVIDES
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
    - CPACK_DEBIAN_PACKAGE_REPLACES
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
    - CPACK_DEBIAN_PACKAGE_RECOMMENDS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
    - CPACK_DEBIAN_PACKAGE_SUGGESTS
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
    - CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
    - CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
    - CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
    - CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
    - CPACK_DEBIAN_PACKAGE_SOURCE
    - CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
    - CPACK_DEBIAN_DEBUGINFO_PACKAGE                        # Since 3.13
    - CPACK_DEBIAN_<component>_DEBUGINFO_PACKAGE            # Since 3.13
    # - CPackDMG
    - CPACK_DMG_VOLUME_NAME
    - CPACK_DMG_FORMAT
    - CPACK_DMG_DS_STORE
    - CPACK_DMG_DS_STORE_SETUP_SCRIPT
    - CPACK_DMG_BACKGROUND_IMAGE
    - CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
    - CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE               # Since 3.23
    - CPACK_DMG_SLA_DIR
    - CPACK_DMG_SLA_LANGUAGES
    - CPACK_DMG_<component>_FILE_NAME                       # Since 3.17
    - CPACK_DMG_FILESYSTEM                                  # Since 3.21
    - CPACK_COMMAND_HDIUTIL
    - CPACK_COMMAND_SETFILE
    - CPACK_COMMAND_REZ
    # -CPackExt (Since 3.13)
    - CPACK_EXTERNAL_REQUESTED_VERSIONS
    - CPACK_EXTERNAL_ENABLE_STAGING
    - CPACK_EXTERNAL_PACKAGE_SCRIPT
    - CPACK_EXTERNAL_BUILT_PACKAGES                         # Since 3.19
    # - CPackIFW
    - CPACK_IFW_ROOT
    - QTIFWDIR
    - CPACK_IFW_VERBOSE
    - CPACK_IFW_PACKAGE_TITLE
    - CPACK_IFW_PACKAGE_PUBLISHER
    - CPACK_IFW_PRODUCT_URL
    - CPACK_IFW_PACKAGE_ICON
    - CPACK_IFW_PACKAGE_WINDOW_ICON
    - CPACK_IFW_PACKAGE_LOGO
    - CPACK_IFW_PACKAGE_WATERMARK
    - CPACK_IFW_PACKAGE_BANNER
    - CPACK_IFW_PACKAGE_BACKGROUND
    - CPACK_IFW_PACKAGE_WIZARD_STYLE
    - CPACK_IFW_PACKAGE_STYLE_SHEET                         # Since 3.15
    - CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
    - CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
    - CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST               # Since 3.20
    - CPACK_IFW_PACKAGE_TITLE_COLOR
    - CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
    - CPACK_IFW_TARGET_DIRECTORY
    - CPACK_IFW_ADMIN_TARGET_DIRECTORY
    - CPACK_IFW_PACKAGE_GROUP
    - CPACK_IFW_PACKAGE_NAME
    - CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
    - CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
    - CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
    - CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
    - CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE      # Since 3.23
    - CPACK_IFW_PACKAGE_CONTROL_SCRIPT
    - CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR                   # Since 3.11
    - CPACK_IFW_PACKAGE_RESOURCES
    - CPACK_IFW_REPOSITORIES_ALL
    - CPACK_IFW_DOWNLOAD_ALL
    - CPACK_IFW_PACKAGE_PRODUCT_IMAGES                      # Since 3.23
    - CPACK_IFW_PACKAGE_RUN_PROGRAM                         # Since 3.23
    - CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS               # Since 3.23
    - CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION             # Since 3.23
    - CPACK_IFW_PACKAGE_SIGNING_IDENTITY                    # Since 3.23
    - CPACK_IFW_ARCHIVE_FORMAT                              # Since 3.23
    - CPACK_IFW_ARCHIVE_COMPRESSION                         # Since 3.23
    - CPACK_IFW_RESOLVE_DUPLICATE_NAMES
    - CPACK_IFW_PACKAGES_DIRECTORIES
    - CPACK_IFW_FRAMEWORK_VERSION
    - CPACK_IFW_BINARYCREATOR_EXECUTABLE
    - CPACK_IFW_REPOGEN_EXECUTABLE
    - CPACK_IFW_INSTALLERBASE_EXECUTABLE
    - CPACK_IFW_DEVTOOL_EXECUTABLE
    # - CPackNSIS
    - CPACK_NSIS_INSTALL_ROOT
    - CPACK_NSIS_MUI_ICON
    - CPACK_NSIS_MUI_UNIICON
    - CPACK_NSIS_INSTALLER_MUI_ICON_CODE
    - CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
    - CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
    - CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS
    - CPACK_NSIS_EXTRA_INSTALL_COMMANDS
    - CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
    - CPACK_NSIS_COMPRESSOR
    - CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
    - CPACK_NSIS_MODIFY_PATH
    - CPACK_NSIS_DISPLAY_NAME
    - CPACK_NSIS_PACKAGE_NAME
    - CPACK_NSIS_INSTALLED_ICON_NAME
    - CPACK_NSIS_HELP_LINK
    - CPACK_NSIS_URL_INFO_ABOUT
    - CPACK_NSIS_CONTACT
    - CPACK_NSIS_<compName>_INSTALL_DIRECTORY
    - CPACK_NSIS_CREATE_ICONS_EXTRA
    - CPACK_NSIS_DELETE_ICONS_EXTRA
    - CPACK_NSIS_EXECUTABLES_DIRECTORY
    - CPACK_NSIS_MUI_FINISHPAGE_RUN
    - CPACK_NSIS_MENU_LINKS
    - CPACK_NSIS_UNINSTALL_NAME                             # Since 3.17
    - CPACK_NSIS_WELCOME_TITLE                              # Since 3.17
    - CPACK_NSIS_WELCOME_TITLE_3LINES                       # Since 3.17
    - CPACK_NSIS_FINISH_TITLE                               # Since 3.17
    - CPACK_NSIS_FINISH_TITLE_3LINES                        # Since 3.17
    - CPACK_NSIS_MUI_HEADERIMAGE                            # Since 3.17
    - CPACK_NSIS_MANIFEST_DPI_AWARE                         # Since 3.18
    - CPACK_NSIS_BRANDING_TEXT                              # Since 3.20
    - CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION                # Since 3.20
    - CPACK_NSIS_EXECUTABLE                                 # Since 3.21
    - CPACK_NSIS_IGNORE_LICENSE_PAGE                        # Since 3.22
    # - CPackNuGet (since 3.12)
    - CPACK_NUGET_COMPONENT_INSTALL
    - CPACK_NUGET_PACKAGE_NAME
    - CPACK_NUGET_<compName>_PACKAGE_NAME
    - CPACK_NUGET_PACKAGE_VERSION
    - CPACK_NUGET_<compName>_PACKAGE_VERSION
    - CPACK_NUGET_PACKAGE_DESCRIPTION
    - CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION
    - CPACK_NUGET_PACKAGE_AUTHORS
    - CPACK_NUGET_<compName>_PACKAGE_AUTHORS
    - CPACK_NUGET_PACKAGE_TITLE
    - CPACK_NUGET_<compName>_PACKAGE_TITLE
    - CPACK_NUGET_PACKAGE_OWNERS
    - CPACK_NUGET_<compName>_PACKAGE_OWNERS
    - CPACK_NUGET_PACKAGE_HOMEPAGE_URL
    - CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL
    - CPACK_NUGET_PACKAGE_LICENSEURL
    - CPACK_NUGET_<compName>_PACKAGE_LICENSEURL
    - CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION                # Since 3.20
    - CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION     # Since 3.20
    - CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME                 # Since 3.20
    - CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME      # Since 3.20
    - CPACK_NUGET_PACKAGE_ICONURL
    - CPACK_NUGET_<compName>_PACKAGE_ICONURL
    - CPACK_NUGET_PACKAGE_ICON                              # Since 3.20
    - CPACK_NUGET_<compName>_PACKAGE_ICON                   # Since 3.20
    - CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY
    - CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY
    - CPACK_NUGET_PACKAGE_RELEASE_NOTES
    - CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES
    - CPACK_NUGET_PACKAGE_COPYRIGHT
    - CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT
    - CPACK_NUGET_PACKAGE_LANGUAGE                          # Since 3.20
    - CPACK_NUGET_<compName>_PACKAGE_LANGUAGE               # Since 3.20
    - CPACK_NUGET_PACKAGE_TAGS
    - CPACK_NUGET_<compName>_PACKAGE_TAGS
    - CPACK_NUGET_PACKAGE_DEPENDENCIES
    - CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES
    - CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION
    - CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION
    - CPACK_NUGET_PACKAGE_DEBUG
    # - CPackPackageMaker is deprecated and gonna be removed in next versions of CPack
    #   NOTE CPackPackageMaker has been removed in 3.24
    # - CPackProductBuild
    - CPACK_COMMAND_PRODUCTBUILD
    - CPACK_PRODUCTBUILD_IDENTIFIER                         # Since 3.23
    - CPACK_PRODUCTBUILD_IDENTITY_NAME
    - CPACK_PRODUCTBUILD_KEYCHAIN_PATH
    - CPACK_COMMAND_PKGBUILD
    - CPACK_PKGBUILD_IDENTITY_NAME
    - CPACK_PKGBUILD_KEYCHAIN_PATH
    - CPACK_PREFLIGHT_<COMP>_SCRIPT                         # Since 3.1?
    - CPACK_POSTFLIGHT_<COMP>_SCRIPT                        # Since 3.1?
    - CPACK_PRODUCTBUILD_RESOURCES_DIR
    - CPACK_PRODUCTBUILD_DOMAINS                            # Since 3.23
    - CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE                   # Since 3.23
    - CPACK_PRODUCTBUILD_DOMAINS_USER                       # Since 3.23
    - CPACK_PRODUCTBUILD_DOMAINS_ROOT                       # Since 3.23
    - CPACK_PRODUCTBUILD_BACKGROUND                         # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT               # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_SCALING                 # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE               # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_UTI                     # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA                # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT      # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING        # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE      # Since 3.17
    - CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI            # Since 3.17
    # - CPackRPM
    - CPACK_RPM_COMPONENT_INSTALL
    - CPACK_RPM_PACKAGE_SUMMARY
    - CPACK_RPM_<COMPONENT>_PACKAGE_SUMMARY
    - CPACK_RPM_PACKAGE_NAME
    - CPACK_RPM_<COMPONENT>_PACKAGE_NAME
    - CPACK_RPM_FILE_NAME
    - CPACK_RPM_<COMPONENT>_FILE_NAME
    - CPACK_RPM_MAIN_COMPONENT
    - CPACK_RPM_PACKAGE_EPOCH                               # Since 3.10
    - CPACK_RPM_PACKAGE_VERSION
    - CPACK_RPM_PACKAGE_ARCHITECTURE
    - CPACK_RPM_<COMPONENT>_PACKAGE_ARCHITECTURE
    - CPACK_RPM_PACKAGE_RELEASE
    - CPACK_RPM_PACKAGE_RELEASE_DIST
    - CPACK_RPM_PACKAGE_LICENSE
    - CPACK_RPM_PACKAGE_GROUP
    - CPACK_RPM_<COMPONENT>_PACKAGE_GROUP
    - CPACK_RPM_PACKAGE_VENDOR
    - CPACK_RPM_PACKAGE_URL
    - CPACK_RPM_<COMPONENT>_PACKAGE_URL
    - CPACK_RPM_PACKAGE_DESCRIPTION
    - CPACK_RPM_<COMPONENT>_PACKAGE_DESCRIPTION
    - CPACK_RPM_COMPRESSION_TYPE
    - CPACK_RPM_PACKAGE_AUTOREQ
    - CPACK_RPM_<COMPONENT>_PACKAGE_AUTOREQ
    - CPACK_RPM_PACKAGE_AUTOPROV
    - CPACK_RPM_<COMPONENT>_PACKAGE_AUTOPROV
    - CPACK_RPM_PACKAGE_AUTOREQPROV
    - CPACK_RPM_<COMPONENT>_PACKAGE_AUTOREQPROV
    - CPACK_RPM_PACKAGE_REQUIRES
    - CPACK_RPM_<COMPONENT>_PACKAGE_REQUIRES
    - CPACK_RPM_PACKAGE_CONFLICTS
    - CPACK_RPM_<COMPONENT>_PACKAGE_CONFLICTS
    - CPACK_RPM_PACKAGE_REQUIRES_PRE
    - CPACK_RPM_<COMPONENT>_PACKAGE_REQUIRES_PRE
    - CPACK_RPM_PACKAGE_REQUIRES_POST
    - CPACK_RPM_<COMPONENT>_PACKAGE_REQUIRES_POST
    - CPACK_RPM_PACKAGE_REQUIRES_POSTUN
    - CPACK_RPM_<COMPONENT>_PACKAGE_REQUIRES_POSTUN
    - CPACK_RPM_PACKAGE_REQUIRES_PREUN
    - CPACK_RPM_<COMPONENT>_PACKAGE_REQUIRES_PREUN
    - CPACK_RPM_PACKAGE_SUGGESTS
    - CPACK_RPM_<COMPONENT>_PACKAGE_SUGGESTS
    - CPACK_RPM_PACKAGE_PROVIDES
    - CPACK_RPM_<COMPONENT>_PACKAGE_PROVIDES
    - CPACK_RPM_PACKAGE_OBSOLETES
    - CPACK_RPM_<COMPONENT>_PACKAGE_OBSOLETES
    - CPACK_RPM_PACKAGE_RELOCATABLE
    - CPACK_RPM_SPEC_INSTALL_POST
    - CPACK_RPM_SPEC_MORE_DEFINE
    - CPACK_RPM_PACKAGE_DEBUG
    - CPACK_RPM_USER_BINARY_SPECFILE
    - CPACK_RPM_<COMPONENTNAME>_USER_BINARY_SPECFILE
    - CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
    - CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
    - CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
    - CPACK_RPM_PRE_TRANS_SCRIPT_FILE                       # Since 3.18
    - CPACK_RPM_POST_INSTALL_SCRIPT_FILE
    - CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
    - CPACK_RPM_POST_TRANS_SCRIPT_FILE                      # Since 3.18
    - CPACK_RPM_USER_FILELIST
    - CPACK_RPM_<COMPONENT>_USER_FILELIST
    - CPACK_RPM_CHANGELOG_FILE
    - CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
    - CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
    - CPACK_RPM_RELOCATION_PATHS
    - CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
    - CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
    - CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
    - CPACK_RPM_ADDITIONAL_MAN_DIRS
    - CPACK_RPM_DEFAULT_USER
    - CPACK_RPM_<COMPNAME>_DEFAULT_USER
    - CPACK_RPM_DEFAULT_GROUP
    - CPACK_RPM_<COMPNAME>_DEFAULT_GROUP
    - CPACK_RPM_DEFAULT_FILE_PERMISSIONS
    - CPACK_RPM_<COMPNAME>_DEFAULT_FILE_PERMISSIONS
    - CPACK_RPM_DEFAULT_DIR_PERMISSIONS
    - CPACK_RPM_<COMPNAME>_DEFAULT_DIR_PERMISSIONS
    - CPACK_RPM_INSTALL_WITH_EXEC                           # Since 3.11
    - CPACK_RPM_DEBUGINFO_PACKAGE
    - CPACK_RPM_<COMPONENT>_DEBUGINFO_PACKAGE
    - CPACK_BUILD_SOURCE_DIRS
    - CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
    - CPACK_RPM_<COMPONENT>_BUILD_SOURCE_DIRS_PREFIX
    - CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS
    - CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION
    - CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
    - CPACK_RPM_DEBUGINFO_FILE_NAME
    - CPACK_RPM_<COMPONENT>_DEBUGINFO_FILE_NAME
    - CPACK_RPM_FILE_NAME
    - CPACK_RPM_PACKAGE_SOURCES
    - CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
    - CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
    - CPACK_RPM_BUILDREQUIRES
    - CPACK_RPM_REQUIRES_EXCLUDE_FROM                       # Since 3.22
    # - CPack
    - CPACK_PACKAGE_NAME
    - CPACK_PACKAGE_VENDOR
    - CPACK_PACKAGE_DIRECTORY
    - CPACK_PACKAGE_VERSION_MAJOR
    - CPACK_PACKAGE_VERSION_MINOR
    - CPACK_PACKAGE_VERSION_PATCH
    - CPACK_PACKAGE_DESCRIPTION                             # Documented since 3.12
    - CPACK_PACKAGE_DESCRIPTION_FILE
    - CPACK_PACKAGE_DESCRIPTION_SUMMARY
    - CPACK_PACKAGE_HOMEPAGE_URL                            # Since 3.12
    - CPACK_PACKAGE_FILE_NAME
    - CPACK_PACKAGE_INSTALL_DIRECTORY
    - CPACK_PACKAGE_ICON
    - CPACK_PACKAGE_CHECKSUM
    - CPACK_PROJECT_CONFIG_FILE
    - CPACK_RESOURCE_FILE_LICENSE
    - CPACK_RESOURCE_FILE_README
    - CPACK_RESOURCE_FILE_WELCOME
    - CPACK_MONOLITHIC_INSTALL
    - CPACK_GENERATOR
    - CPACK_OUTPUT_CONFIG_FILE
    - CPACK_PACKAGE_EXECUTABLES
    - CPACK_STRIP_FILES
    - CPACK_VERBATIM_VARIABLES
    - CPACK_THREADS                                         # Since 3.20
    - CPACK_SOURCE_PACKAGE_FILE_NAME
    - CPACK_SOURCE_STRIP_FILES
    - CPACK_SOURCE_GENERATOR
    - CPACK_SOURCE_OUTPUT_CONFIG_FILE
    - CPACK_SOURCE_IGNORE_FILES
    - CPACK_CMAKE_GENERATOR
    - CPACK_INSTALL_CMAKE_PROJECTS
    - CPACK_SYSTEM_NAME
    - CPACK_PACKAGE_VERSION
    - CPACK_TOPLEVEL_TAG
    - CPACK_INSTALL_COMMANDS
    - CPACK_INSTALLED_DIRECTORIES
    - CPACK_PACKAGE_INSTALL_REGISTRY_KEY
    - CPACK_CREATE_DESKTOP_LINKS
    - CPACK_BINARY_<GENNAME>
    - CPACK_PRE_BUILD_SCRIPTS                               # Since 3.19
    - CPACK_POST_BUILD_SCRIPTS                              # Since 3.19
    - CPACK_PACKAGE_FILES                                   # Since 3.19
    # - CPackWIX
    - CPACK_WIX_UPGRADE_GUID
    - CPACK_WIX_PRODUCT_GUID
    - CPACK_WIX_LICENSE_RTF
    - CPACK_WIX_PRODUCT_ICON
    - CPACK_WIX_UI_REF
    - CPACK_WIX_UI_BANNER
    - CPACK_WIX_UI_DIALOG
    - CPACK_WIX_PROGRAM_MENU_FOLDER
    - CPACK_WIX_CULTURES
    - CPACK_WIX_TEMPLATE
    - CPACK_WIX_PATCH_FILE
    - CPACK_WIX_EXTRA_SOURCES
    - CPACK_WIX_EXTRA_OBJECTS
    - CPACK_WIX_EXTENSIONS
    - CPACK_WIX_<TOOL>_EXTENSIONS
    - CPACK_WIX_<TOOL>_EXTRA_FLAGS
    - CPACK_WIX_CMAKE_PACKAGE_REGISTRY
    - CPACK_WIX_PROPERTY_<PROPERTY>
    - CPACK_WIX_ROOT_FEATURE_TITLE
    - CPACK_WIX_ROOT_FEATURE_DESCRIPTION
    - CPACK_WIX_SKIP_PROGRAM_FOLDER
    - CPACK_WIX_ROOT_FOLDER_ID
    - CPACK_WIX_ROOT
    - CPACK_WIX_CUSTOM_XMLNS                                # Since 3.19
    - CPACK_WIX_SKIP_WIX_UI_EXTENSION                       # Since 3.23
    - CPACK_WIX_ARCHITECTURE                                # Since 3.24
    # - CTest
    # - Dart
    - BUILD_TESTING
    # - ExternalData
    - ExternalData_BINARY_ROOT
    - ExternalData_CUSTOM_SCRIPT_<key>
    - ExternalData_LINK_CONTENT
    - ExternalData_NO_SYMLINKS
    - ExternalData_OBJECT_STORES
    - ExternalData_SERIES_PARSE
    - ExternalData_SERIES_PARSE_PREFIX
    - ExternalData_SERIES_PARSE_NUMBER
    - ExternalData_SERIES_PARSE_SUFFIX
    - ExternalData_SERIES_MATCH
    - ExternalData_SOURCE_ROOT
    - ExternalData_TIMEOUT_ABSOLUTE
    - ExternalData_TIMEOUT_INACTIVITY
    - ExternalData_URL_ALGO_<algo>_<key>
    - ExternalData_URL_TEMPLATES
    - ExternalData_CUSTOM_LOCATION
    - ExternalData_CUSTOM_FILE
    - ExternalData_CUSTOM_ERROR
    # - FetchContent
    - FETCHCONTENT_QUIET
    - FETCHCONTENT_FULLY_DISCONNECTED
    - FETCHCONTENT_UPDATES_DISCONNECTED
    - FETCHCONTENT_TRY_FIND_PACKAGE_MODE                    # Since 3.24
    - FETCHCONTENT_SOURCE_DIR_<ucName>
    - FETCHCONTENT_UPDATES_DISCONNECTED_<ucName>
    # - FindXXX module "standard" variables
    - <package>_INCLUDE_DIRS
    - <package>_LIBRARIES
    - <package>_LIBRARY_DIRS
    - <package>_VERSION_STRING
    # NOTE For the other stanfard finders below variables matched
    # the regular expressions above gonna be omitted.
    # - FindALSA
    - ALSA_LIBRARY
    # - FindArmadillo
    - ALSA_LIBRARY
    # - FindASPELL
    - ASPELL_EXECUTABLE
    - ASPELL_DEFINITIONS
    # - FindAVIFile
    - AVIFILE_DEFINITIONS
    # - FindBacktrace
    - Backtrace_HEADER
    - Backtrace_LIBRARY
    # - FindBISON
    - BISON_EXECUTABLE
    - BISON_<Name>_DEFINED
    - BISON_<Name>_INPUT
    - BISON_<Name>_OUTPUT_SOURCE
    - BISON_<Name>_OUTPUT_HEADER
    - BISON_<Name>_OUTPUTS
    - BISON_<Name>_COMPILE_FLAGS
    # - FindBLAS
    - BLA_STATIC
    - BLA_VENDOR
    - BLA_F95
    - BLA_PREFER_PKGCONFIG
    - BLAS_LINKER_FLAGS
    - BLA_SIZEOF_INTEGER                                    # Since 3.22
    # - FindBoost
    - Boost_<COMPONENT>_LIBRARY
    - Boost_VERSION_MACRO
    - Boost_VERSION_COUNT
    - Boost_INCLUDE_DIR
    - Boost_LIBRARY_DIR_DEBUG
    - Boost_LIBRARY_DIR_RELEASE
    - Boost_<COMPONENT>_LIBRARY_DEBUG
    - Boost_<COMPONENT>_LIBRARY_RELEASE
    - BOOSTROOT
    - BOOST_INCLUDEDIR
    - BOOST_LIBRARYDIR
    - Boost_NO_SYSTEM_PATHS
    - Boost_ADDITIONAL_VERSIONS
    - Boost_USE_DEBUG_LIBS
    - Boost_USE_RELEASE_LIBS
    - Boost_USE_MULTITHREADED
    - Boost_USE_STATIC_LIBS
    - Boost_USE_DEBUG_RUNTIME
    - Boost_USE_DEBUG_PYTHON
    - Boost_USE_STLPORT
    - Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
    - Boost_COMPILER
    - Boost_LIB_PREFIX
    - Boost_ARCHITECTURE
    - Boost_THREADAPI
    - Boost_NAMESPACE
    - Boost_DEBUG
    - Boost_REALPATH
    - Boost_NO_WARN_NEW_VERSIONS
    # - FindBullet
    # - FindBZip2
    - BZIP2_NEED_PREFIX
    - BZIP2_INCLUDE_DIR
    # - FindCABLE
    - CABLE
    - CABLE_TCL_LIBRARY
    - CABLE_INCLUDE_DIR
    # - FindCoin3D
    # - FindCUDAToolkit
    - CUDAToolkit_NVCC_EXECUTABLE
    # - FindCups
    - CUPS_INCLUDE_DIR
    # - FindCURL
    - CURL_NO_CURL_CMAKE
    # - FindCurses
    - CURSES_CFLAGS
    - CURSES_HAVE_CURSES_H
    - CURSES_HAVE_NCURSES_H
    - CURSES_HAVE_NCURSES_NCURSES_H
    - CURSES_HAVE_NCURSES_CURSES_H
    - CURSES_NEED_NCURSES
    - CURSES_NEED_WIDE
    # - CURSES_LIBRARY deprecated
    # - FindCVS
    - CVS_EXECUTABLE
    # - FindCxxTest
    - CXXTEST_USE_PYTHON
    - CXXTEST_TESTGEN_ARGS
    - CXXTEST_PERL_TESTGEN_EXECUTABLE
    - CXXTEST_PYTHON_TESTGEN_EXECUTABLE
    - CXXTEST_TESTGEN_EXECUTABLE
    - CXXTEST_TESTGEN_INTERPRETER
    # - FindCygwin
    # - FindDart
    # - FindDCMTK
    # - FindDevIL
    # - FindDoxygen
    - DOXYGEN_<TAG>
    # - FindEnvModules
    - EnvModules_COMMAND
    # - FindEXPAT
    # - FindFLEX
    - FLEX_EXECUTABLE
    # - FindFLTK
    - FLTK_SKIP_OPENGL
    - FLTK_SKIP_FORMS
    - FLTK_SKIP_IMAGES
    - FLTK_SKIP_FLUID
    - FLTK_FLUID_EXECUTABLE
    - FLTK_WRAP_UI
    - FLTK_BASE_LIBRARY_RELEASE
    - FLTK_BASE_LIBRARY_DEBUG
    - FLTK_GL_LIBRARY_RELEASE
    - FLTK_GL_LIBRARY_DEBUG
    - FLTK_FORMS_LIBRARY_RELEASE
    - FLTK_FORMS_LIBRARY_DEBUG
    - FLTK_IMAGES_LIBRARY_RELEASE
    - FLTK_IMAGES_LIBRARY_DEBUG
    # - FindFLTK2
    - FLTK2_FLUID_EXECUTABLE
    - FLTK2_WRAP_UI
    - FLTK2_BASE_LIBRARY
    - FLTK2_GL_LIBRARY
    - FLTK2_IMAGES_LIBRARY
    # - FindFontconfig
    - Fontconfig_COMPILE_OPTIONS
    # - FindFreetype
    - FREETYPE_INCLUDE_DIR_ft2build
    - FREETYPE_INCLUDE_DIR_freetype2
    # - FindGCCXML
    - GCCXML
    # - FindGDAL
    - GDAL_LIBRARY
    - FindGDAL_SKIP_GDAL_CONFIG
    - GDAL_ADDITIONAL_LIBRARY_VERSIONS
    # - FindGettext
    - GETTEXT_MSGMERGE_EXECUTABLE
    - GETTEXT_MSGFMT_EXECUTABLE
    # - FindGIF
    - GIF_LIBRARY
    # - FindGit
    - GIT_EXECUTABLE
    # - FindGLEW
    - GLEW_USE_STATIC_LIBS
    - GLEW_VERBOSE
    # - FindGLUT
    - GLUT_glut_LIBRARY
    - GLUT_Xmu_LIBRARY
    - GLUT_Xi_LIBRARY
    # - FindGnuplot
    - GNUPLOT_EXECUTABLE
    # - FindGnuTLS
    - GNUTLS_DEFINITIONS
    # - FindGSL
    - GSL_CBLAS_LIBRARY
    - GSL_CBLAS_LIBRARY_DEBUG
    - GSL_CONFIG_EXECUTABLE
    - GSL_LIBRARY
    - GSL_LIBRARY_DEBUG
    # - FindGTest
    - GTEST_MSVC_SEARCH
    # - FindGTK
    # - FindGTK2
    - GTK2_TARGETS
    - GTK2_DEFINITIONS
    - GTK2_USE_IMPORTED_TARGETS
    - GTK2_DEBUG
    - GTK2_ADDITIONAL_SUFFIXES
    # - FindHDF5
    - HDF5_DEFINITIONS
    - HDF5_C_DEFINITIONS
    - HDF5_CXX_DEFINITIONS
    - HDF5_Fortran_DEFINITIONS
    - HDF5_IS_PARALLEL
    - HDF5_C_COMPILER_EXECUTABLE
    - HDF5_CXX_COMPILER_EXECUTABLE
    - HDF5_Fortran_COMPILER_EXECUTABLE
    - HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE
    - HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE
    - HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE
    - HDF5_DIFF_EXECUTABLE
    - HDF5_PREFER_PARALLEL
    - HDF5_FIND_DEBUG
    - HDF5_NO_FIND_PACKAGE_CONFIG_FILE
    # - FindHg
    - HG_EXECUTABLE
    #- <var-prefix>_WC_CHANGESET
    #- <var-prefix>_WC_REVISION
    # - FindHSPELL
    # - FindHTMLHelp
    - HTML_HELP_COMPILER
    - HTML_HELP_LIBRARY
    # - FindIce
    # - FindIconv
    - Iconv_IS_BUILT_IN
    - Iconv_LIBRARY
    # - FindIcotool
    - ICOTOOL_EXECUTABLE
    # - FindICU
    - ICU_MAKEFILE_INC
    - ICU_PKGDATA_INC
    - ICU_<P>_EXECUTABLE
    - ICU_<C>_LIBRARY
    - ICU_DEBUG
    # - FindImageMagick
    # - FindIntl
    - Intl_LIBRARY
    - Intl_IS_BUILT_IN
    # - FindITK
    # - FindJasper
    - JASPER_LIBRARY_RELEASE
    - JASPER_LIBARRY_DEBUG
    # - FindJava
    - Java_JAVA_EXECUTABLE
    - Java_JAVAC_EXECUTABLE
    - Java_JAVAH_EXECUTABLE
    - Java_JAVADOC_EXECUTABLE
    - Java_IDLJ_EXECUTABLE
    - Java_JAR_EXECUTABLE
    - Java_JARSIGNER_EXECUTABLE
    # - FindJNI
    - JAVA_AWT_LIBRARY
    - JAVA_JVM_LIBRARY
    - JAVA_INCLUDE_PATH
    - JAVA_INCLUDE_PATH2
    - JAVA_AWT_INCLUDE_PATH
    # - FindJPEG
    - JPEG_LIBRARY_RELEASE
    - JPEG_LIBRARY_DEBUG
    - JPEG_LIBRARY
    # - FindKDE3
    # - FindKDE4
    # - FindLAPACK
    - LAPACK_LINKER_FLAGS
    # - FindLATEX
    - LATEX_COMPILER
    - PDFLATEX_COMPILER
    - XELATEX_COMPILER
    - LUALATEX_COMPILER
    - BIBTEX_COMPILER
    - BIBER_COMPILER
    - MAKEINDEX_COMPILER
    - XINDY_COMPILER
    - DVIPS_CONVERTER
    - DVIPDF_CONVERTER
    - PS2PDF_CONVERTER
    - PDFTOPS_CONVERTER
    - LATEX2HTML_CONVERTER
    - HTLATEX_COMPILER
    # - FindLibArchive
    # - FindLibinput
    - Libinput_COMPILE_OPTIONS
    # - FindLibLZMA
    - LIBLZMA_HAS_AUTO_DECODER
    - LIBLZMA_HAS_EASY_ENCODER
    - LIBLZMA_HAS_LZMA_PRESET
    # - FindLibXml2
    - LIBXML2_DEFINITIONS
    - LIBXML2_XMLLINT_EXECUTABLE
    - LIBXML2_LIBRARY
    # - FindLibXslt
    - LIBXSLT_DEFINITIONS
    - LIBXSLT_XSLTPROC_EXECUTABLE
    # - FindLTTngUST
    - LTTNGUST_HAS_TRACEF
    - LTTNGUST_HAS_TRACELOG
    # - FindLua
    # - FindLua50
    # - FindLua51
    # - FindMatlab
    - MATLAB_FIND_DEBUG
    - MATLAB_ADDITIONAL_VERSIONS
    - Matlab_MAIN_PROGRAM
    - Matlab_MEX_LIBRARY
    - Matlab_MX_LIBRARY
    - Matlab_ENG_LIBRARY
    - Matlab_MAT_LIBRARY
    - Matlab_ENGINE_LIBRARY
    - Matlab_DATAARRAY_LIBRARY
    - Matlab_MEX_COMPILER
    - Matlab_MCC_COMPILER
    - Matlab_MEX_EXTENSION
    # - FindMFC
    # - FindMotif
    # - FindMPEG
    - MPEG_mpeg2_LIBRARY
    - MPEG_vo_LIBRARY
    # - FindMPEG2
    - MPEG2_mpeg2_LIBRARY
    - MPEG2_vo_LIBRARY
    # - FindMPI
    - MPI_<lang>_COMPILER
    - MPI_<lang>_COMPILE_OPTIONS
    - MPI_<lang>_COMPILE_DEFINITIONS
    - MPI_Fortran_HAVE_F77_HEADER
    - MPI_Fortran_HAVE_F90_MODULE
    - MPI_Fortran_HAVE_F08_MODULE
    - MPIEXEC_EXECUTABLE
    - MPIEXEC_NUMPROC_FLAG
    - MPIEXEC_MAX_NUMPROCS
    - MPIEXEC_PREFLAGS
    - MPIEXEC_POSTFLAGS
    - MPIEXEC_EXECUTABLE
    - MPI_HOME
    - MPI_COMPILER_FLAGS
    - MPI_EXECUTABLE_SUFFIX
    - MPI_GUESS_LIBRARY_NAME
    - MPI_ASSUME_NO_BUILTIN_MPI
    - MPI_SKIP_COMPILER_WRAPPER
    - MPI_SKIP_GUESSING
    - MPI_CXX_SKIP_MPICXX
    - MPI_<lang>_ADDITIONAL_INCLUDE_VARS
    - MPI_<lib_name>_LIBRARY
    - MPI_<lang>_LIB_NAMES
    - MPI_DETERMINE_Fortran_CAPABILITIES
    - MPI_SUBARRAYS_SUPPORTED
    - MPI_ASYNC_PROTECTS_NONBLOCKING
    - MPI_Fortran_F77_HEADER_SUBARRAYS
    - MPI_Fortran_F77_HEADER_ASYNCPROT
    - MPI_Fortran_F90_MODULE_SUBARRAYS
    - MPI_Fortran_F90_MODULE_ASYNCPROT
    - MPI_Fortran_F08_MODULE_SUBARRAYS
    - MPI_Fortran_F08_MODULE_ASYNCPROT
    # - FindMsys
    # - FindODBC
    - ODBC_CONFIG
    - ODBC_LIBRARY
    # - FindOpenACC
    - OpenACC_<lang>_FLAGS
    - OpenACC_<lang>_OPTIONS
    - OpenACC_<lang>_SPEC_DATE
    - OpenACC_ACCEL_TARGET
    # - FindOpenAL
    - OPENAL_LIBRARY
    # - FindOpenCL
    - OpenCL_LIBRARY
    # - FindOpenGL
    - OPENGL_egl_LIBRARY
    - OPENGL_glu_LIBRARY
    - OPENGL_glx_LIBRARY
    - OPENGL_opengl_LIBRARY
    - OPENGL_gl_LIBRARY
    - OpenGL_GL_PREFERENCE
    # - FindOpenMP
    - OpenMP_<lang>_FLAGS
    - OpenMP_<lang>_LIB_NAMES
    - OpenMP_<libname>_LIBRARY
    - OpenMP_Fortran_HAVE_OMPLIB_HEADER
    - OpenMP_Fortran_HAVE_OMPLIB_MODULE
    - OpenMP_<lang>_SPEC_DATE
    # - FindOpenSceneGraph
    # - FindOpenSSL
    - OPENSSL_CRYPTO_LIBRARY
    - OPENSSL_SSL_LIBRARY
    - OPENSSL_APPLINK_SOURCE
    - OPENSSL_USE_STATIC_LIBS
    - OPENSSL_MSVC_STATIC_RT
    # - FindOpenThreads
    # - Findosg
    # - Findosg_functions
    # - FindosgAnimation
    # - FindosgDB
    # - FindosgFX
    # - FindosgGA
    # - FindosgIntrospection
    # - FindosgManipulator
    # - FindosgParticle
    # - FindosgPresentation
    # - FindosgProducer
    # - FindosgQt
    # - FindosgShadow
    # - FindosgSim
    # - FindosgTerrain
    # - FindosgText
    # - FindosgUtil
    # - FindosgViewer
    # - FindosgVolume
    # - FindosgWidget
    # - FindPatch
    - Patch_EXECUTABLE
    # - FindPerl
    - PERL_EXECUTABLE
    # - FindPerlLibs
    - PERL_SITESEARCH
    - PERL_SITEARCH
    - PERL_SITELIB
    - PERL_VENDORARCH
    - PERL_VENDORLIB
    - PERL_ARCHLIB
    - PERL_PRIVLIB
    - PERL_UPDATE_ARCHLIB
    - PERL_UPDATE_PRIVLIB
    - PERL_EXTRA_C_FLAGS
    # - FindPHP4
    - PHP4_INCLUDE_PATH
    - PHP4_EXECUTABLE
    # - FindPhysFS
    - PHYSFS_LIBRARY
    # - FindPike
    - PIKE_INCLUDE_PATH
    - PIKE_EXECUTABLE
    # - FindPkgConfig
    - PKG_CONFIG_EXECUTABLE
    - PKG_CONFIG_VERSION_STRING
    - PKG_CONFIG_USE_CMAKE_PREFIX_PATH
    - <prefix>_MODULE_NAME                                  # Since 3.16
    - <XXX>_LINK_LIBRARIES
    - <XXX>_STATIC_LINK_LIBRARIES                           # Since 3.24
    - <XXX>_LDFLAGS
    - <XXX>_LDFLAGS_OTHER
    - <XXX>_CFLAGS
    - <XXX>_CFLAGS_OTHER
    # - FindPNG
    - PNG_DEFINITIONS
    - PNG_LIBRARY
    # - FindPostgreSQL
    # - FindProducer
    # - FindProtobuf
    - Protobuf_SRC_ROOT_FOLDER
    - Protobuf_IMPORT_DIRS
    - Protobuf_DEBUG
    - Protobuf_USE_STATIC_LIBS
    - Protobuf_LIBRARY
    - Protobuf_PROTOC_LIBRARY
    - Protobuf_PROTOC_EXECUTABLE
    - Protobuf_LIBRARY_DEBUG
    - Protobuf_PROTOC_LIBRARY_DEBUG
    - Protobuf_LITE_LIBRARY
    - Protobuf_LITE_LIBRARY_DEBUG
    # - FindPython
    - Python_EXECUTABLE
    - Python_INTERPRETER_ID
    - Python_STDLIB
    - Python_STDARCH
    - Python_SITELIB
    - Python_SITEARCH
    - Python_SOABI
    - Python_COMPILER
    - Python_COMPILER_ID
    - Python_DOTNET_LAUNCHER
    - Python_LINK_OPTIONS
    - Python_USE_STATIC_LIBS
    - Python_FIND_ABI
    - Python_FIND_STRATEGY
    - Python_FIND_REGISTRY
    - Python_FIND_FRAMEWORK
    - Python_FIND_VIRTUALENV
    - Python_FIND_IMPLEMENTATIONS
    - Python_FIND_UNVERSIONED_NAMES
    - Python_ARTIFACTS_INTERACTIVE
    # - FindPython2
    - Python2_EXECUTABLE
    - Python2_INTERPRETER_ID
    - Python2_STDLIB
    - Python2_STDARCH
    - Python2_SITELIB
    - Python2_SITEARCH
    - Python2_SOABI
    - Python2_COMPILER
    - Python2_COMPILER_ID
    - Python2_DOTNET_LAUNCHER
    - Python2_LINK_OPTIONS
    - Python2_USE_STATIC_LIBS
    - Python2_FIND_ABI
    - Python2_FIND_STRATEGY
    - Python2_FIND_REGISTRY
    - Python2_FIND_FRAMEWORK
    - Python2_FIND_VIRTUALENV
    - Python2_FIND_IMPLEMENTATIONS
    - Python2_FIND_UNVERSIONED_NAMES
    - Python2_ARTIFACTS_INTERACTIVE
    # - FindPython3
    - Python3_EXECUTABLE
    - Python3_INTERPRETER_ID
    - Python3_STDLIB
    - Python3_STDARCH
    - Python3_SITELIB
    - Python3_SITEARCH
    - Python3_SOABI
    - Python3_COMPILER
    - Python3_COMPILER_ID
    - Python3_DOTNET_LAUNCHER
    - Python3_LINK_OPTIONS
    - Python3_USE_STATIC_LIBS
    - Python3_FIND_ABI
    - Python3_FIND_STRATEGY
    - Python3_FIND_REGISTRY
    - Python3_FIND_FRAMEWORK
    - Python3_FIND_VIRTUALENV
    - Python3_FIND_IMPLEMENTATIONS
    - Python3_FIND_UNVERSIONED_NAMES
    - Python3_ARTIFACTS_INTERACTIVE
    # - FindQt3
    # - FindQt4
    # - FindQuickTime
    # - FindRTI
    - RTI_DEFINITIONS
    # - FindRuby
    - Ruby_EXECUTABLE
    - Ruby_FIND_VIRTUALENV
    # - FindSDL
    - SDL_LIBRARY
    - SDL_BUILDING_LIBRARY
    # - FindSDL_image
    - SDLIMAGE_LIBRARY
    # - FindSDL_mixer
    - SDLMIXER_LIBRARY
    # - FindSDL_net
    - SDLNET_LIBRARY
    # - FindSDL_sound
    - SDL_SOUND_LIBRARY
    # - FindSDL_ttf
    - SDLTTF_LIBRARY
    # - FindSelfPackers
    # - FindSquish
    - SQUISH_SERVER_EXECUTABLE
    - SQUISH_CLIENT_EXECUTABLE
    # - FindSQLite3
    # - FindSubversion
    - Subversion_SVN_EXECUTABLE
    - Subversion_VERSION_SVN
    # <var-prefix>_WC_URL
    # <var-prefix>_WC_ROOT
    # <var-prefix>_WC_REVISION
    # <var-prefix>_WC_LAST_CHANGED_AUTHOR
    # <var-prefix>_WC_LAST_CHANGED_DATE
    # <var-prefix>_WC_LAST_CHANGED_REV
    # <var-prefix>_WC_INFO
    # - FindSWIG
    - SWIG_EXECUTABLE
    # - FindTCL
    - TCL_INCLUDE_PATH
    - TCL_TCLSH
    - TK_LIBRARY
    - TK_INCLUDE_PATH
    - TK_WISH
    # - FindTclsh
    # - FindTclStub
    - TCL_STUB_LIBRARY
    - TK_STUB_LIBRARY
    - TTK_STUB_LIBRARY
    # - FindThreads
    - CMAKE_THREAD_LIBS_INIT
    - CMAKE_USE_SPROC_INIT
    - CMAKE_USE_WIN32_THREADS_INIT
    - CMAKE_USE_PTHREADS_INIT
    - CMAKE_HP_PTHREADS_INIT
    - CMAKE_THREAD_PREFER_PTHREAD
    - THREADS_PREFER_PTHREAD_FLAG
    # - FindTIFF
    - TIFF_LIBRARY_RELEASE
    - TIFF_LIBRARY_DEBUG
    - TIFFXX_LIBRARY_RELEASE
    - TIFFXX_LIBRARY_DEBUG
    # - FindUnixCommands
    # - FindVTK
    # - FindVulkan
    - Vulkan_LIBRARY
    - Vulkan_GLSLC_EXECUTABLE
    - Vulkan_GLSLANG_VALIDATOR_EXECUTABLE
    # - FindWget
    - WGET_EXECUTABLE
    # - FindWish
    # - FindwxWidgets
    - wxWidgets_CONFIGURATION
    - wxWidgets_EXCLUDE_COMMON_LIBRARIES
    - wxWidgets_USE_DEBUG
    - wxWidgets_USE_UNICODE
    - wxWidgets_USE_UNIVERSAL
    - wxWidgets_USE_STATIC
    - wxWidgets_DEFINITIONS
    - wxWidgets_DEFINITIONS_DEBUG
    - wxWidgets_CXX_FLAGS
    - wxWidgets_USE_FILE
    # - FindX11
    # - FindXalanC
    - XalanC_LIBRARY
    # - FindXCTest
    - XCTest_EXECUTABLE
    # - FindXercesC
    - XercesC_LIBRARY
    # - FindXMLRPC
    # - FindZLIB
    - ZLIB_USE_STATIC_LIBS                                  # Since 3.24
    # - FortranCInterface
    # The following vars gonna match by regex
    # - FortranCInterface_GLOBAL_FOUND
    # - FortranCInterface_MODULE_FOUND
    - FortranCInterface_GLOBAL_PREFIX
    - FortranCInterface_GLOBAL_SUFFIX
    - FortranCInterface_GLOBAL_CASE
    - FortranCInterface_GLOBAL__PREFIX
    - FortranCInterface_GLOBAL__SUFFIX
    - FortranCInterface_GLOBAL__CASE
    - FortranCInterface_MODULE_PREFIX
    - FortranCInterface_MODULE_MIDDLE
    - FortranCInterface_MODULE_SUFFIX
    - FortranCInterface_MODULE_CASE
    - FortranCInterface_MODULE__PREFIX
    - FortranCInterface_MODULE__MIDDLE
    - FortranCInterface_MODULE__SUFFIX
    - FortranCInterface_MODULE__CASE
    - FortranCInterface_VERIFIED_C
    - FortranCInterface_VERIFIED_CXX
    - FortranCInterface_GLOBAL_SYMBOLS
    - FortranCInterface_MODULE_SYMBOLS
    # - GNUInstallDirs
    - CMAKE_INSTALL_BINDIR
    - CMAKE_INSTALL_FULL_BINDIR
    - CMAKE_INSTALL_SBINDIR
    - CMAKE_INSTALL_FULL_SBINDIR
    - CMAKE_INSTALL_LIBEXECDIR
    - CMAKE_INSTALL_FULL_LIBEXECDIR
    - CMAKE_INSTALL_SYSCONFDIR
    - CMAKE_INSTALL_FULL_SYSCONFDIR
    - CMAKE_INSTALL_SHAREDSTATEDIR
    - CMAKE_INSTALL_FULL_SHAREDSTATEDIR
    - CMAKE_INSTALL_LOCALSTATEDIR
    - CMAKE_INSTALL_FULL_LOCALSTATEDIR
    - CMAKE_INSTALL_RUNSTATEDIR
    - CMAKE_INSTALL_FULL_RUNSTATEDIR
    - CMAKE_INSTALL_LIBDIR
    - CMAKE_INSTALL_FULL_LIBDIR
    - CMAKE_INSTALL_INCLUDEDIR
    - CMAKE_INSTALL_FULL_INCLUDEDIR
    - CMAKE_INSTALL_OLDINCLUDEDIR
    - CMAKE_INSTALL_FULL_OLDINCLUDEDIR
    - CMAKE_INSTALL_DATAROOTDIR
    - CMAKE_INSTALL_FULL_DATAROOTDIR
    - CMAKE_INSTALL_DATADIR
    - CMAKE_INSTALL_FULL_DATADIR
    - CMAKE_INSTALL_INFODIR
    - CMAKE_INSTALL_FULL_INFODIR
    - CMAKE_INSTALL_LOCALEDIR
    - CMAKE_INSTALL_FULL_LOCALEDIR
    - CMAKE_INSTALL_MANDIR
    - CMAKE_INSTALL_FULL_MANDIR
    - CMAKE_INSTALL_DOCDIR
    - CMAKE_INSTALL_FULL_DOCDIR
    # - GoogleTest
    - CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE
    # - InstallRequiredSystemLibraries
    - CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
    - CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP
    - CMAKE_INSTALL_DEBUG_LIBRARIES
    - CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY
    - CMAKE_INSTALL_UCRT_LIBRARIES
    - CMAKE_INSTALL_MFC_LIBRARIES
    - CMAKE_INSTALL_OPENMP_LIBRARIES
    - CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION
    - CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS
    - CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT
    # - TestForANSIForScope
    - CMAKE_NO_ANSI_FOR_SCOPE
    # - TestForANSIStreamHeaders
    - CMAKE_NO_ANSI_STREAM_HEADERS
    # - TestForSSTREAM
    - CMAKE_NO_ANSI_STRING_STREAM
    # - TestForSTDNamespace
    - CMAKE_NO_STD_NAMESPACE
    # - UseJava
    - CMAKE_JAVA_COMPILE_FLAGS
    - CMAKE_JAVA_INCLUDE_PATH
    - CMAKE_JNI_TARGET
    - CMAKE_JAR_CLASSES_PREFIX
    # - UseSWIG
    - UseSWIG_MODULE_VERSION                                # Since 3.12
    - CMAKE_SWIG_FLAGS
    - CMAKE_SWIG_OUTDIR
    - SWIG_OUTFILE_DIR
    - SWIG_MODULE_<name>_EXTRA_DEPS
    - SWIG_SOURCE_FILE_EXTENSIONS                           # Since 3.14
    - SWIG_USE_SWIG_DEPENDENCIES                            # Since 3.20

deprecated-or-internal-variables:
    - CMAKE_HOME_DIRECTORY
    - CMAKE_INTERNAL_PLATFORM_ABI
    - CMAKE_<LANG>_COMPILER_ABI
    - CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
    - CMAKE_<LANG>_COMPILER_VERSION_INTERNAL
    - CMAKE_<LANG>_PLATFORM_ID
    - CMAKE_NOT_USING_CONFIG_FLAGS
    - CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
    - CPACK_INSTALL_SCRIPT                                  # Deprecated since 3.16
    # Various undocumented variables (yet)
    - CMAKE_SUPPRESS_DEVELOPER_WARNINGS                     # CMake <= 3.10
    - CMAKE_SUPPRESS_DEVELOPER_ERRORS                       # CMake <= 3.10
    # The following variables used by CPack and some CMake modules,
    # but not documented (yet):
    # used by some modules like Deb and NSIS
    - CPACK_PACKAGE_CONTACT
    # used in CPack.cmake as default value for `CPACK_RPM_PACKAGE_RELOCATABLE`
    - CPACK_PACKAGE_RELOCATABLE
    # mentioned in CPack External generator but not documented (yet)
    - CPACK_TEMPORARY_DIRECTORY
    - CPACK_TOPLEVEL_DIRECTORY
    - CPACK_INSTALL_PREFIX
    # Mentioned in `file(GET_RUNTIME_DEPENDENCIES)` docs
    - CMAKE_OBJDUMP
    # Mentioned in "Deprecated and Removed Features" of release notes 3.21
    - CMAKE_SYSTEM_ARCH

# https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html
# NOTE Added to syntax file version 14 at 3.15.0 version of CMake
environment-variables:
    # Environment Variables that Control the Build
    - CMAKE_APPLE_SILICON_PROCESSOR                         # Since 3.19.2
    - CMAKE_BUILD_PARALLEL_LEVEL
    - CMAKE_BUILD_TYPE                                      # Since 3.22
    - CMAKE_COLOR_DIAGNOSTICS                               # Since 3.24
    - CMAKE_CONFIGURATION_TYPES                             # Since 3.22
    - CMAKE_CONFIG_TYPE
    - CMAKE_EXPORT_COMPILE_COMMANDS                         # Since 3.17
    - CMAKE_GENERATOR
    - CMAKE_GENERATOR_INSTANCE
    - CMAKE_GENERATOR_PLATFORM
    - CMAKE_GENERATOR_TOOLSET
    - CMAKE_INSTALL_MODE                                    # Since 3.22
    - CMAKE_<LANG>_COMPILER_LAUNCHER                        # Since 3.17
    - CMAKE_MSVCIDE_RUN_PATH
    - CMAKE_NO_VERBOSE
    - CMAKE_OSX_ARCHITECTURES
    - CMAKE_TOOLCHAIN_FILE                                  # Since 3.21
    - DESTDIR
    - LDFLAGS
    - MACOSX_DEPLOYMENT_TARGET
    - <PackageName>_ROOT
    - VERBOSE
    # Environment Variables for Languages
    - ASM<DIALECT>
    - ASM<DIALECT>FLAGS
    - CC
    - CFLAGS
    - CSFLAGS
    - CUDAARCHS                                             # Since 3.20
    - CUDACXX
    - CUDAFLAGS
    - CUDAHOSTCXX
    - CXX
    - CXXFLAGS
    - FC
    - FFLAGS
    - RC
    - RCFLAGS
    - SWIFTC
    # Environment Variables for CTest
    - CMAKE_CONFIG_TYPE
    - CTEST_INTERACTIVE_DEBUG_MODE
    - CTEST_OUTPUT_ON_FAILURE
    - CTEST_PARALLEL_LEVEL
    - CTEST_PROGRESS_OUTPUT
    - CTEST_USE_LAUNCHERS_DEFAULT
    - DASHBOARD_TEST_FROM_CTEST
    # Here are the `find_package` specific variables described at the
    # https://cmake.org/cmake/help/latest/command/find_package.html
    - <PackageName>_DIR
    - CMAKE_PREFIX_PATH
    - CMAKE_FRAMEWORK_PATH
    - CMAKE_APPBUNDLE_PATH
    - PATH
    # Environment Variables recognized by some standard modules
    - QTIFWDIR

scripting-commands:
    -
        name: break
        nulary?: true
    -
        name: cmake_host_system_information
        named-args: [
            RESULT
          , QUERY
            # Since 3.24
          , WINDOWS_REGISTRY
          , VALUE_NAMES
          , SUBKEYS
          , VALUE
          , VIEW
          , SEPARATOR
          , ERROR_VARIABLE
          ]
        special-args: [
            NUMBER_OF_LOGICAL_CORES
          , NUMBER_OF_PHYSICAL_CORES
          , HOSTNAME
          , FQDN
          , TOTAL_VIRTUAL_MEMORY
          , AVAILABLE_VIRTUAL_MEMORY
          , TOTAL_PHYSICAL_MEMORY
          , AVAILABLE_PHYSICAL_MEMORY
            # Since 3.10
          , IS_64BIT
          , HAS_FPU
          , HAS_MMX
          , HAS_MMX_PLUS
          , HAS_SSE
          , HAS_SSE2
          , HAS_SSE_FP
          , HAS_SSE_MMX
          , HAS_AMD_3DNOW
          , HAS_AMD_3DNOW_PLUS
          , HAS_IA64
          , HAS_SERIAL_NUMBER
          , PROCESSOR_SERIAL_NUMBER
          , PROCESSOR_NAME
          , PROCESSOR_DESCRIPTION
          , OS_NAME
          , OS_RELEASE
          , OS_VERSION
          , OS_PLATFORM
            # Since 3.22
          , DISTRIB_INFO
          , DISTRIB_<name>
            # Since 3.24
          , '64'
          , '32'
          , '64_32'
          , '32_64'
          , HOST
          , TARGET
          , BOTH
          ]
    -
        name: cmake_language
        named-args: [
            CALL
          , EVAL
          , CODE
            # Since 3.19
          , DEFER
          , DIRECTORY
          , ID
          , ID_VAR
          , GET_CALL_IDS
          , GET_CALL
          , CANCEL_CALL
            # Since 3.24
          , SET_DEPENDENCY_PROVIDER
          , SUPPORTED_METHODS
          ]
        # Since 3.24
        special-args: [FIND_PACKAGE, FETCHCONTENT_MAKEAVAILABLE_SERIAL]
    -
        name: cmake_minimum_required
        named-args: [VERSION, FATAL_ERROR]
    -
        name: cmake_parse_arguments
        named-args: [PARSE_ARGV]
    -
        name: cmake_path                                    # Since 3.20
        named-args: [
            # Decomposition
            GET
          , ROOT_NAME
          , ROOT_DIRECTORY
          , ROOT_PATH
          , FILENAME
          , EXTENSION
          , LAST_ONLY
          , STEM
          , RELATIVE_PART
          , PARENT_PATH
            # Query
          , HAS_ROOT_NAME
          , HAS_ROOT_DIRECTORY
          , HAS_ROOT_PATH
          , HAS_FILENAME
          , HAS_EXTENSION
          , HAS_STEM
          , HAS_RELATIVE_PART
          , HAS_PARENT_PATH
          , IS_ABSOLUTE
          , IS_RELATIVE
          , IS_PREFIX
          , NORMALIZE
          , COMPARE                                         # Since 3.??
          , EQUAL                                           # Since 3.??
          , NOT_EQUAL                                       # Since 3.??
            # Modification
          , SET
          , APPEND
          , OUTPUT_VARIABLE
          , APPEND_STRING
          , REMOVE_FILENAME
          , REPLACE_FILENAME
          , REMOVE_EXTENSION
          , REPLACE_EXTENSION
            # Generation
          , NORMAL_PATH
          , RELATIVE_PATH
          , BASE_DIRECTORY
          , ABSOLUTE_PATH
            # Native Conversion
          , NATIVE_PATH
          , CONVERT
          , TO_CMAKE_PATH_LIST
          , TO_NATIVE_PATH_LIST
            # Hashing
          , HASH
        ]
    -
        name: cmake_policy
        named-args: [GET, SET, PUSH, POP, VERSION]
        special-args: [OLD, NEW]
    -
        name: configure_file
        named-args: [
            COPYONLY
          , ESCAPE_QUOTES
          , NO_SOURCE_PERMISSIONS                           # Since 3.19
          , "@ONLY"
          , NEWLINE_STYLE
          , USE_SOURCE_PERMISSIONS                          # Since 3.20
          , FILE_PERMISSIONS                                # Since 3.20
          ]
        special-args: [UNIX, DOS, WIN32, LF, CRLF]
    -
        name: continue
        nulary?: true
    -
        name: elseif
        named-args: &if [
            NOT
          , AND
          , OR
          , COMMAND
          , POLICY
          , TARGET
          , TEST
          , EXISTS
          , IS_NEWER_THAN
          , IS_DIRECTORY
          , IS_SYMLINK
          , IS_ABSOLUTE
          , MATCHES
          , LESS
          , GREATER
          , EQUAL
          , LESS_EQUAL
          , GREATER_EQUAL
          , STRLESS
          , STRGREATER
          , STREQUAL
          , STRLESS_EQUAL
          , STRGREATER_EQUAL
          , VERSION_LESS
          , VERSION_GREATER
          , VERSION_EQUAL
          , VERSION_LESS_EQUAL
          , VERSION_GREATER_EQUAL
          , IN_LIST
          , DEFINED
          , PATH_EQUAL                                      # Since 3.24
          ]
        has-target-name-after-kw: TARGET
        nested-parentheses?: true
    -
        name: else
        nulary?: true
    -
        name: endforeach
        nulary?: true
        end-region: foreach
    -
        name: endfunction
        nulary?: true
        end-region: function
    -
        name: endif
        nulary?: true
        end-region: if
    -
        name: endmacro
        nulary?: true
        end-region: macro
    -
        name: endwhile
        nulary?: true
        end-region: while
    -
        name: execute_process
        named-args: [
            COMMAND
          , WORKING_DIRECTORY
          , TIMEOUT
          , RESULT_VARIABLE
          , RESULTS_VARIABLE                                # Since 3.10
          , OUTPUT_VARIABLE
          , ERROR_VARIABLE
          , INPUT_FILE
          , OUTPUT_FILE
          , ERROR_FILE
          , OUTPUT_QUIET
          , ERROR_QUIET
          , COMMAND_ECHO                                    # Since 3.15
          , OUTPUT_STRIP_TRAILING_WHITESPACE
          , ERROR_STRIP_TRAILING_WHITESPACE
          , ENCODING
          , ECHO_OUTPUT_VARIABLE                            # Since 3.18
          , ECHO_ERROR_VARIABLE                             # Since 3.18
          , COMMAND_ERROR_IS_FATAL                          # Since 3.19
          ]
        special-args: [
            NONE
          , AUTO
          , ANSI
          , OEM
          , UTF8
          , STDERR                                          # Since 3.15: the value for `COMMAND_ECHO`
          , STDOUT                                          # Since 3.15: the value for `COMMAND_ECHO`
          , ANY                                             # Since 3.19: the value for `COMMAND_ERROR_IS_FATAL`
          , LAST                                            # Since 3.19: the value for `COMMAND_ERROR_IS_FATAL`
          ]
        nested-parentheses?: true
    -
        name: file
        named-args: [
            WRITE
          , APPEND
          , TOUCH                                           # Since 3.12
          , TOUCH_NOCREATE                                  # Since 3.12
          , READ
          , OFFSET
          , LIMIT
          , HEX
          , STRINGS
          , LENGTH_MAXIMUM
          , LENGTH_MINIMUM
          , LIMIT_COUNT
          , LIMIT_INPUT
          , LIMIT_OUTPUT
          , NEWLINE_CONSUME
          , NO_HEX_CONVERSION
          , REGEX
          , ENCODING
          , MD5
          , SHA1
          , SHA224
          , SHA256
          , SHA384
          , SHA512
          , SHA3_224
          , SHA3_256
          , SHA3_384
          , SHA3_512
          , GLOB
          , GLOB_RECURSE
          , LIST_DIRECTORIES
          , RELATIVE
          , CONFIGURE_DEPENDS                               # Since 3.12
          , FOLLOW_SYMLINKS
          , RENAME
          , REMOVE
          , REMOVE_RECURSE
          , MAKE_DIRECTORY
          , RELATIVE_PATH
          , TO_CMAKE_PATH
          , TO_NATIVE_PATH
          , DOWNLOAD
          , UPLOAD
          , INACTIVITY_TIMEOUT
          , LOG
          , SHOW_PROGRESS
          , STATUS
          , TIMEOUT
          , USERPWD
          , HTTPHEADER
          , EXPECTED_HASH
          , EXPECTED_MD5
          , RANGE_START                                     # Since 3.24
          , RANGE_END                                       # Since 3.24
          , TLS_VERIFY
          , TLS_CAINFO
          , TIMESTAMP
          , UTC
          , GENERATE
          , OUTPUT
          , INPUT
          , CONTENT
          , CONDITION
          , TARGET                                          # Since 3.19
          , COPY
          , INSTALL
          , DESTINATION
          , FILE_PERMISSIONS
          , DIRECTORY_PERMISSIONS
          , NO_SOURCE_PERMISSIONS
          , USE_SOURCE_PERMISSIONS
          , FOLLOW_SYMLINK_CHAIN                            # Since 3.15
          , FILES_MATCHING
          , PATTERN
          , REGEX
          , EXCLUDE
          , PERMISSIONS
          , LOCK
          , DIRECTORY
          , RELEASE
          , GUARD
          , RESULT_VARIABLE
          , TIMEOUT
            # Sub-options of UPLOAD/DOWNLOAD since 3.11
          , NETRC
          , NETRC_FILE
            # New sub-options since 3.14
          , READ_SYMLINK
          , SIZE
            # New sub-options since 3.16
          , GET_RUNTIME_DEPENDENCIES
          , RESOLVED_DEPENDENCIES_VAR
          , UNRESOLVED_DEPENDENCIES_VAR
          , EXECUTABLES
          , LIBRARIES
          , MODULES
          , DIRECTORIES
          , BUNDLE_EXECUTABLE
          , PRE_INCLUDE_REGEXES
          , PRE_EXCLUDE_REGEXES
          , POST_INCLUDE_REGEXES
          , POST_EXCLUDE_REGEXES
          , POST_INCLUDE_FILES                              # Since 3.21
          , POST_EXCLUDE_FILES                              # Since 3.21
            # New sub-options since 3.18
          , ARCHIVE_CREATE
          , FILES
          , FORMAT
          , COMPRESSION
          , COMPRESSION_LEVEL                               # Since 3.19
          , MTIME
          , VERBOSE
          , ARCHIVE_EXTRACT
          , LIST_ONLY
          , CONFIGURE
          , ESCAPE_QUOTES
          , "@ONLY"
          , NEWLINE_STYLE
            # New sub-options since 3.19
          , CHMOD
          , CHMOD_RECURSE
          , REAL_PATH
          , BASE_DIRECTORY
            # New sub-options since 3.21
          , COPY_FILE
          , RESULT
          , ONLY_IF_DIFFERENT
          , EXPAND_TILDE
          , NO_REPLACE
          ]
        special-args: [
            UTF-8
          , UTF-16LE
          , UTF-16BE
          , UTF-32LE
          , UTF-32B
          , FUNCTION
          , FILE
          , PROCESS
          , OWNER_READ
          , OWNER_WRITE
          , OWNER_EXECUTE
          , GROUP_READ
          , GROUP_WRITE
          , GROUP_EXECUTE
          , WORLD_READ
          , WORLD_WRITE
          , WORLD_EXECUTE
          , SETUID
          , SETGID
            # Special args for NETRC options since 3.11
          , IGNORED
          , OPTIONAL
          , REQUIRED
            # Special args for `FORMAT` named argument since 3.18
          , 7zip
          , gnutar
          , pax
          , paxr
          , raw
          , zip
            # Special args for `TYPE` named argument since 3.18
          , None
          , BZip2
          , GZip
          , XZ
          , Zstd
            # Special args for `NEWLINE_STYLE` named argument since 3.18
          , UNIX
          , DOS
          , WIN32
          , LF
          , CRLF
          ]
    -
        name: find_file
        named-args: &find_file [
            NAMES
          , HINTS
          , PATHS
          , PATH_SUFFIXES
          , DOC
          , NO_CACHE                                        # Since 3.21
          , REQUIRED                                        # Since 3.18
          , NO_DEFAULT_PATH
          , NO_PACKAGE_ROOT_PATH
          , NO_CMAKE_PATH
          , NO_CMAKE_ENVIRONMENT_PATH
          , NO_SYSTEM_ENVIRONMENT_PATH
          , NO_CMAKE_SYSTEM_PATH
          , CMAKE_FIND_ROOT_PATH_BOTH
          , ONLY_CMAKE_FIND_ROOT_PATH
          , NO_CMAKE_FIND_ROOT_PATH
          , NO_CMAKE_INSTALL_PREFIX                         # Since 3.24
          , REGISTRY_VIEW                                   # Since 3.24
          ]
        # Since 3.24
        special-args: &reg_view_special ['64', '32', '64_32', '32_64', HOST, TARGET, BOTH]
    -
        name: find_library
        named-args: &find_library [
            NAMES
          , NAMES_PER_DIR
          , HINTS
          , PATHS
          , PATH_SUFFIXES
          , DOC
          , NO_CACHE                                        # Since 3.21
          , REQUIRED                                        # Since 3.18
          , NO_DEFAULT_PATH
          , NO_PACKAGE_ROOT_PATH
          , NO_CMAKE_PATH
          , NO_CMAKE_ENVIRONMENT_PATH
          , NO_SYSTEM_ENVIRONMENT_PATH
          , NO_CMAKE_SYSTEM_PATH
          , CMAKE_FIND_ROOT_PATH_BOTH
          , ONLY_CMAKE_FIND_ROOT_PATH
          , NO_CMAKE_FIND_ROOT_PATH
          , NO_CMAKE_INSTALL_PREFIX                         # Since 3.24
          , REGISTRY_VIEW                                   # Since 3.24
          ]
        special-args: *reg_view_special                     # Since 3.24
    -
        name: find_package
        named-args: [
            EXACT
          , QUIET
          , MODULE
          , REQUIRED
          , COMPONENTS
          , OPTIONAL_COMPONENTS
          , NO_POLICY_SCOPE
          , CONFIG
          , NO_MODULE
          , NAMES
          , CONFIGS
          , HINTS
          , PATHS
          , PATH_SUFFIXES
          , NO_DEFAULT_PATH
          , NO_PACAKGE_ROOT_PATH
          , NO_CMAKE_PATH
          , NO_CMAKE_ENVIRONMENT_PATH
          , NO_SYSTEM_ENVIRONMENT_PATH
          , NO_CMAKE_PACKAGE_REGISTRY
          , NO_CMAKE_SYSTEM_PATH
          , NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
          , CMAKE_FIND_ROOT_PATH_BOTH
          , ONLY_CMAKE_FIND_ROOT_PATH
          , NO_CMAKE_FIND_ROOT_PATH
          , NO_CMAKE_INSTALL_PREFIX                         # Since 3.24
          , BYPASS_PROVIDER                                 # Since 3.24
          , REGISTRY_VIEW                                   # Since 3.24
          , GLOBAL                                          # Since 3.24
          ]
        special-args: *reg_view_special                     # Since 3.24
    -
        name: find_path
        named-args: *find_file
        special-args: *reg_view_special                     # Since 3.24
    -
        name: find_program
        named-args: *find_library
        special-args: *reg_view_special                     # Since 3.24
    -
        name: foreach
        named-args: [
            RANGE
          , IN
          , LISTS
          , ITEMS
          , ZIP_LISTS                                       # Since 3.17
          ]
        start-region: foreach
    -
        name: function
        start-region: function
    -
        name: get_cmake_property
        property-args: [global-properties]
        special-args: [
            COMMANDS
          , COMPONENTS
          , MACROS
          , VARIABLES
          , CACHE_VARIABLES
          ]
    -
        name: get_directory_property
        named-args: [DIRECTORY, DEFINITION]
        property-args: &get_directory_property [directory-properties]
    -
        name: get_filename_component
        named-args: [
            DIRECTORY
          , NAME
          , EXT
          , NAME_WE
          , PATH
          , CACHE
          , BASE_DIR
          , ABSOLUTE
          , REALPATH
          , PROGRAM
          , PROGRAM_ARGS
          , LAST_EXT                                        # Since 3.14
          , NAME_WLE                                        # Since 3.14
          ]
    -
        name: get_property
        named-args: [
            GLOBAL
          , DIRECTORY
          , TARGET
          , SOURCE
          , TARGET_DIRECTORY                                # `SOURCE` sub-option since 3.18
          , DIRECTORY                                       # `SOURCE` sub-option since 3.18
          , INSTALL
          , TEST
          , CACHE
          , VARIABLE
          , PROPERTY
          , SET
          , DEFINED
          , BRIEF_DOCS
          , FULL_DOCS
          ]
        property-args: &get-property [
            global-properties
          , directory-properties
          , target-properties
          , test-properties
          , source-properties
          , cache-properties
          , install-properties
          ]
    -
        name: if
        named-args: *if
        has-target-name-after-kw: TARGET
        nested-parentheses?: true
        start-region: if
    -
        name: include
        named-args: [OPTIONAL, RESULT_VARIABLE, NO_POLICY_SCOPE]
    -
        # Since 3.10
        name: include_guard
        named-args: [DIRECTORY, GLOBAL]
    -
        name: list
        named-args: [
            LENGTH
          , GET
          , APPEND
          , FILTER
          , INCLUDE
          , EXCLUDE
          , REGEX
          , FIND
          , INSERT
          , REMOVE_ITEM
          , REMOVE_AT
          , REMOVE_DUPLICATES
          , REVERSE
          , SORT
            # Since 3.13
          , COMPARE
          , CASE
          , ORDER
            # Since 3.12
          , JOIN
          , SUBLIST
          , TRANSFORM
            # `TRANSFORM`'s actions
            # NOTE Another `APPEND` named arg has already added
          , PREPEND
          , TOLOWER
          , TOLOWER
          , STRIP
          , GENEX_STRIP
          , REPLACE
            # `TRANSFORM`'s selectors
          , AT
          , FOR
            # NOTE Another `REGEX` named arg has already added
          , OUTPUT_VARIABLE
            # Since 3.15
            # NOTE Another `PREPEND` named arg has already added
          , POP_FRONT
          , POP_BACK
          ]
        # Since 3.13
        special-args: [
            STRING
          , FILE_BASENAME
          , SENSITIVE
          , INSENSITIVE
          , ASCENDING
          , DESCENDING
          , NATURAL                                         # Since 3.18
          ]
    -
        name: macro
        start-region: macro
    -
        name: mark_as_advanced
        named-args: [CLEAR, FORCE]
    -
        name: math
        named-args: [
            EXPR
          , OUTPUT_FORMAT                                   # Since 3.13
          ]
        # Since 3.13
        special-args: [DECIMAL, HEXADECIMAL]
    -
        name: message
        named-args: [
            STATUS
          , WARNING
          , AUTHOR_WARNING
          , SEND_ERROR
          , FATAL_ERROR
          , DEPRECATION
            # Since 3.15
          , NOTICE
          , VERBOSE
          , DEBUG
          , TRACE
            # Since 3.17
          , CHECK_START
          , CHECK_PASS
          , CHECK_FAIL
          ]
    -
        name: option
    -
        name: return
        nulary?: true
    -
        name: separate_arguments
        named-args: [
            NATIVE_COMMAND
          , UNIX_COMMAND
          , WINDOWS_COMMAND
          , PROGRAM                                         # Since 3.19
          , SEPARATE_ARGS                                   # Since 3.19
          ]
    -
        name: set_directory_properties
        named-args: [PROPERTIES]
        property-args: *get-property
    -
        name: set_property
        named-args: [
            GLOBAL
          , DIRECTORY
          , TARGET
          , DIRECTORY
          , SOURCE
          , TARGET_DIRECTORY                                # `SOURCE` sub-option since 3.18
          , DIRECTORY                                       # `SOURCE` sub-option since 3.18
          , INSTALL
          , TEST
          , CACHE
          , VARIABLE
          , APPEND
          , APPEND_STRING
          , PROPERTY
          ]
        property-args: *get-property
    -
        name: set
        named-args: [PARENT_SCOPE, CACHE, FORCE]
        special-args: [BOOL, FILEPATH, PATH, STRING, INTERNAL, STATIC]
    -
        name: site_name
    -
        name: string
        named-args: [
            FIND
          , REVERSE
          , REPLACE
          , REGEX
          , MATCH
          , MATCHALL
          , APPEND
          , PREPEND                                         # Since 3.10
          , CONCAT
          , JOIN                                            # Since 3.12
          , TOLOWER
          , TOUPPER
          , LENGTH
          , SUBSTRING
          , STRIP
          , GENEX_STRIP
          , REPEAT                                          # Since 3.15
          , COMPARE
          , LESS
          , GREATER
          , EQUAL
          , NOTEQUAL
          , LESS_EQUAL
          , GREATER_EQUAL
          , MD5
          , SHA1
          , SHA224
          , SHA256
          , SHA384
          , SHA512
          , SHA3_224
          , SHA3_256
          , SHA3_384
          , SHA3_512
          , ASCII
          , HEX                                             # Since 3.18
          , CONFIGURE
          , "@ONLY"
          , ESCAPE_QUOTES
          , RANDOM
          , LENGTH
          , ALPHABET
          , RANDOM_SEED
          , TIMESTAMP
          , UTC
          , MAKE_C_IDENTIFIER
          , UUID
          , NAMESPACE
          , NAME
          , TYPE
          , UPPER
            # Since 3.19
          , JSON
          , ERROR_VARIABLE
          , GET
          , TYPE
          , MEMBER
          , LENGTH
          , REMOVE
          , SET
          , EQUAL
          ]
    -
        name: unset
        named-args: [CACHE, PARENT_SCOPE]
    -
        name: variable_watch
    -
        name: while
        named-args: *if
        has-target-name-after-kw: TARGET
        nested-parentheses?: true
        start-region: while

project-commands:
    -
        name: add_compile_definitions                       # Since 3.12
    -
        name: add_compile_options
    -
        name: add_custom_command
        named-args: [
            OUTPUT
          , COMMAND
          , ARGS
          , MAIN_DEPENDENCY
          , DEPENDS
          , BYPRODUCTS
          , IMPLICIT_DEPENDS
          , WORKING_DIRECTORY
          , COMMENT
          , DEPFILE
          , JOB_POOL                                        # Since 3.15
          , VERBATIM
          , APPEND
          , USES_TERMINAL
          , COMMAND_EXPAND_LISTS
          , TARGET
          , PRE_BUILD
          , PRE_LINK
          , POST_BUILD
          ]
        nested-parentheses?: true
        has-target-name-after-kw: TARGET
    -
        name: add_custom_target
        named-args: [
            ALL
          , COMMAND
          , DEPENDS
          , BYPRODUCTS
          , IMPLICIT_DEPENDS
          , WORKING_DIRECTORY
          , COMMENT
          , DEPFILE
          , JOB_POOL                                        # Since 3.15
          , VERBATIM
          , APPEND
          , USES_TERMINAL
          , COMMAND_EXPAND_LISTS
          , SOURCES
          ]
        first-arg-is-target?: true
        nested-parentheses?: true
    -
        name: add_definitions
    -
        name: add_dependencies
        first-args-are-targets?: true
    -
        name: add_executable
        named-args: [WIN32, MACOSX_BUNDLE, EXCLUDE_FROM_ALL, IMPORTED, GLOBAL, ALIAS]
        first-arg-is-target?: true
    -
        name: add_library
        named-args: [STATIC, SHARED, MODULE, OBJECT, EXCLUDE_FROM_ALL, IMPORTED, UNKNOWN, GLOBAL, ALIAS, INTERFACE]
        first-arg-is-target?: true
        has-target-name-after-kw: ALIAS
    -
        name: add_link_options
    -
        name: add_subdirectory
        named-args: [EXCLUDE_FROM_ALL]
    -
        name: add_test
        named-args: [NAME, COMMAND, COMMAND_EXPAND_LISTS, CONFIGURATIONS, WORKING_DIRECTORY]
        nested-parentheses?: true
    -
        name: aux_source_directory
    -
        name: build_command
        named-args: [
            CONFIGURATION
          , PARALLEL_LEVEL                                  # Since 3.21
          , TARGET
          ]
        has-target-name-after-kw: TARGET
    -
        name: create_test_sourcelist
        named-args: [EXTRA_INCLUDE, FUNCTION]
    -
        name: define_property
        named-args: [
            GLOBAL
          , DIRECTORY
          , DIRECTORY
          , SOURCE
          , TEST
          , VARIABLE
          , CACHED_VARIABLE
          , PROPERTY
          , INHERITED
          , BRIEF_DOCS
          , FULL_DOCS
          , INITIALIZE_FROM_VARIABLE                        # Since 3.23
          ]
        property-args: *get-property
    -
        name: enable_language
        named-args: [OPTIONAL]
        special-args: &langs [
            ASM
          , ASM-ATT
          , ASM_NASM
          , ASM_MASM
          , C
          , CSharp
          , CXX
          , CUDA
          , HIP                                             # Since 3.21
          , ISPC                                            # Since 3.19
          , Java
          , OBJC                                            # Since 3.16
          , OBJCXX                                          # Since 3.16
          , RC
          , Fortran
          , Swift
          ]
    -
        name: enable_testing
    -
        name: export
        named-args: [EXPORT, NAMESPACE, FILE, TARGETS, APPEND, EXPORT_LINK_INTERFACE_LIBRARIES, ANDROID_MK]
        has-target-names-after-kw: TARGETS
    -
        name: fltk_wrap_ui
    -
        name: get_source_file_property
        named-args: [
            # Sice 3.18
            TARGET_DIRECTORY
          , DIRECTORY
          ]
        property-args: &get_source_file_property [source-properties]
    -
        name: get_target_property
        second-arg-is-target?: true
        property-args: &get_target_property [target-properties]
    -
        name: get_test_property
        property-args: &get_test_property [test-properties]
    -
        name: include_directories
        named-args: [AFTER, BEFORE, SYSTEM]
    -
        name: include_external_msproject
        named-args: [TYPE, GUID, PLATFORM]
    -
        name: include_regular_expression
    -
        name: install
        named-args: [
            # Common
            DESTINATION
          , PERMISSIONS
          , CONFIGURATIONS
          , COMPONENT
          , NAMELINK_COMPONENT                              # Since 3.12
          , EXCLUDE_FROM_ALL
          , RENAME
          , OPTIONAL
          , TYPE                                            # Since 3.20
            # Installing Targets
          , TARGETS
          , EXPORT
          , ARCHIVE
          , LIBRARY
          , RUNTIME
          , OBJECTS
          , FRAMEWORK
          , BUNDLE
          , PRIVATE_HEADER
          , PUBLIC_HEADER
          , RESOURCE
          , FILE_SET                                        # Since 3.23
          , INCLUDES
          , NAMELINK_ONLY
          , NAMELINK_SKIP
          , RUNTIME_DEPENDENCIES                            # Since 3.21
            # Installing Files
          , FILES
          , PROGRAMS
            # Installing Directories
          , DIRECTORY
          , FILE_PERMISSIONS
          , DIRECTORY_PERMISSIONS
          , USE_SOURCE_PERMISSIONS
          , MESSAGE_NEVER
          , FILES_MATCHING
          , PATTERN
          , REGEX
          , EXCLUDE
            # Custom Installation Logic
          , SCRIPT
          , CODE
            # Installing Exports
          , NAMESPACE
          , FILE
          , EXPORT_ANDROID_MK
          , EXPORT_LINK_INTERFACE_LIBRARIES
            # Installing Imported Runtime Artifacts (since 3.21)
          , IMPORTED_RUNTIME_ARTIFACTS
          , RUNTIME_DEPENDENCY_SET
            # Installing Runtime Dependencies (since 3.21)
          , PRE_INCLUDE_REGEXES
          , PRE_EXCLUDE_REGEXES
          , POST_INCLUDE_REGEXES
          , POST_EXCLUDE_REGEXES
          , POST_INCLUDE_FILES
          , POST_EXCLUDE_FILES
          , DIRECTORIES
          ]
        special-args: &valid_permissions [
            OWNER_READ
          , OWNER_WRITE
          , OWNER_EXECUTE
          , GROUP_READ
          , GROUP_WRITE
          , GROUP_EXECUTE
          , WORLD_READ
          , WORLD_WRITE
          , WORLD_EXECUTE
          , SETUID
          , SETGID
          ]
        has-target-names-after-kw: TARGETS
    -
        name: link_directories
        named-args: [AFTER, BEFORE]
    -
        name: link_libraries
        named-args: [debug, optimized, general]
    -
        name: load_cache
        named-args: [READ_WITH_PREFIX, EXCLUDE, INCLUDE_INTERNALS]
    -
        name: project
        named-args: [
            VERSION
          , DESCRIPTION                                     # Since 3.8 or 3.9 (?)
          , HOMEPAGE_URL                                    # Since 3.12
          , LANGUAGES
          ]
        special-args: [
            ASM
          , ASM-ATT
          , ASM_NASM
          , ASM_MASM
          , C
          , CSharp
          , CXX
          , CUDA
          , HIP                                             # Since 3.21
          , ISPC                                            # Since 3.19
          , Java
          , OBJC                                            # Since 3.16
          , OBJCXX                                          # Since 3.16
          , RC
          , Fortran
          , Swift
          , NONE                                            # This one is different from `enable_language`
          ]
    -
        name: qt_wrap_cpp
    -
        name: qt_wrap_ui
    -
        name: remove_definitions
    -
        name: set_source_files_properties
        named-args: [
            PROPERTIES
          , TARGET_DIRECTORY                                # Since 3.18
          , DIRECTORY                                       # Since 3.18
          ]
        property-args: *get_source_file_property
    -
        name: set_target_properties
        named-args: [PROPERTIES]
        property-args: *get_target_property
        first-args-are-targets?: true                       # NOTE Multiple target args
    -
        name: set_tests_properties
        named-args: [PROPERTIES]
        property-args: *get_test_property
    -
        name: source_group
        named-args: [FILES, REGULAR_EXPRESSION, TREE, PREFIX]
    -
        name: target_compile_definitions
        named-args: &target_compile_definitions [INTERFACE, PUBLIC, PRIVATE]
        first-arg-is-target?: true
    -
        name: target_compile_features
        named-args: *target_compile_definitions
        special-args: [
            # CMAKE_CXX_KNOWN_FEATURES
            cxx_std_98
          , cxx_std_11
          , cxx_std_14
          , cxx_std_17
          , cxx_std_20                                      # Since 3.12
          , cxx_std_23                                      # Since 3.20
          , cxx_aggregate_default_initializers
          , cxx_alias_templates
          , cxx_alignas
          , cxx_alignof
          , cxx_attributes
          , cxx_attribute_deprecated
          , cxx_auto_type
          , cxx_binary_literals
          , cxx_constexpr
          , cxx_contextual_conversions
          , cxx_decltype_incomplete_return_types
          , cxx_decltype
          , cxx_decltype_auto
          , cxx_default_function_template_args
          , cxx_defaulted_functions
          , cxx_defaulted_move_initializers
          , cxx_delegating_constructors
          , cxx_deleted_functions
          , cxx_digit_separators
          , cxx_enum_forward_declarations
          , cxx_explicit_conversions
          , cxx_extended_friend_declarations
          , cxx_extern_templates
          , cxx_final
          , cxx_func_identifier
          , cxx_generalized_initializers
          , cxx_generic_lambdas
          , cxx_inheriting_constructors
          , cxx_inline_namespaces
          , cxx_lambdas
          , cxx_lambda_init_captures
          , cxx_local_type_template_args
          , cxx_long_long_type
          , cxx_noexcept
          , cxx_nonstatic_member_init
          , cxx_nullptr
          , cxx_override
          , cxx_range_for
          , cxx_raw_string_literals
          , cxx_reference_qualified_functions
          , cxx_relaxed_constexpr
          , cxx_return_type_deduction
          , cxx_right_angle_brackets
          , cxx_rvalue_references
          , cxx_sizeof_member
          , cxx_static_assert
          , cxx_strong_enums
          , cxx_thread_local
          , cxx_trailing_return_types
          , cxx_unicode_literals
          , cxx_uniform_initialization
          , cxx_unrestricted_unions
          , cxx_user_literals
          , cxx_variable_templates
          , cxx_variadic_macros
          , cxx_variadic_templates
          , cxx_template_template_parameters
            # CMAKE_C_KNOWN_FEATURES
          , c_std_90
          , c_std_99
          , c_std_11
          , c_std_17                                        # Since 3.21
          , c_std_23                                        # Since 3.21
          , c_function_prototypes
          , c_restrict
          , c_static_assert
          , c_variadic_macros
            # CMAKE_CUDA_KNOWN_FEATURES (since 3.17)
          , cuda_std_03
          , cuda_std_11
          , cuda_std_14
          , cuda_std_17
          , cuda_std_20
          , cuda_std_23                                     # Since 3.21
          ]
        first-arg-is-target?: true
    -
        name: target_compile_options
        named-args: &target_compile_options [BEFORE, INTERFACE, PUBLIC, PRIVATE]
        first-arg-is-target?: true
    -
        name: target_include_directories
        named-args: [
            AFTER                                           # Since 3.20
          , BEFORE
          , SYSTEM
          , INTERFACE
          , PUBLIC
          , PRIVATE
          ]
        first-arg-is-target?: true
    -
        # Since 3.13
        name: target_link_directories
        named-args: *target_compile_options
        first-arg-is-target?: true
    -
        name: target_link_libraries
        named-args: *target_compile_definitions
        first-arg-is-target?: true
    -
        name: target_link_options
        named-args: *target_compile_definitions
        first-arg-is-target?: true
    -
        # Since 3.16
        name: target_precompile_headers
        named-args: [INTERFACE, PUBLIC, PRIVATE, REUSE_FROM]
        first-arg-is-target?: true
    -
        name: target_sources
        named-args: [
            INTERFACE
          , PUBLIC
          , PRIVATE
            # Since 3.23
          , FILE_SET
          , TYPE
          , BASE_DIRS
          , FILES
          ]
        first-arg-is-target?: true
    -
        name: try_compile
        named-args: [
            CMAKE_FLAGS
          , OUTPUT_VARIABLE
          , SOURCES
          , COMPILE_DEFINITIONS
          , LINK_LIBRARIES
          , LINK_OPTIONS                                    # Since 3.14
          , COPY_FILE
          , COPY_FILE_ERROR
          , <LANG>_STANDARD
          , <LANG>_STANDARD_REQUIRED
          , <LANG>_EXTENSIONS
          ]
    -
        name: try_run
        named-args: [
            RUN_RESULT_VAR
          , COMPILE_RESULT_VAR
          , CMAKE_FLAGS
          , COMPILE_DEFINITIONS
          , LINK_LIBRARIES
          , LINK_OPTIONS                                    # Since 3.14
          , COMPILE_OUTPUT_VARIABLE
          , RUN_OUTPUT_VARIABLE
          , OUTPUT_VARIABLE
          , WORKING_DIRECTORY                               # Since 3.20
          , ARGS
          ]

ctest-commands:
    -
        name: ctest_build
        named-args: [BUILD, APPEND, CONFIGURATION, FLAGS, PROJECT_NAME, TARGET, NUMBER_ERRORS, NUMBER_WARNINGS, RETURN_VALUE, CAPTURE_CMAKE_ERROR]
    -
        name: ctest_configure
        named-args: [BUILD, SOURCE, APPEND, OPTIONS, RETURN_VALUE, QUIET, CAPTURE_CMAKE_ERROR]
    -
        name: ctest_coverage
        named-args: [BUILD, LABELS, APPEND, RETURN_VALUE, CAPTURE_CMAKE_ERROR, QUIET]
    -
        name: ctest_empty_binary_directory
    -
        name: ctest_memcheck
        named-args: [
            BUILD
          , APPEND
          , START
          , END
          , STRIDE
          , EXCLUDE
          , INCLUDE
          , EXCLUDE_LABEL
          , INCLUDE_LABEL
          , EXCLUDE_FIXTURE
          , EXCLUDE_FIXTURE_SETUP
          , EXCLUDE_FIXTURE_CLEANUP
          , PARALLEL_LEVEL
          , TEST_LOAD
          , SCHEDULE_RANDOM
          , STOP_TIME
          , RETURN_VALUE
          , DEFECT_COUNT
          , QUIET
          ]
    -
        name: ctest_read_custom_files
    -
        name: ctest_run_script
        named-args: [NEW_PROCESS, RETURN_VALUE]
    -
        name: ctest_sleep
    -
        name: ctest_start
        named-args: [TRACK, APPEND, QUIET]
    -
        name: ctest_submit
        named-args: [
            PARTS
          , FILES
          , BUILD_ID                                        # Since 3.15
          , SUBMIT_URL                                      # Since 3.14
          , HTTPHEADER
          , RETRY_COUNT
          , RETRY_DELAY
          , RETURN_VALUE
          , QUIET
          , CDASH_UPLOAD
          , CDASH_UPLOAD_TYPE
          ]
    -
        name: ctest_test
        named-args: [
            BUILD
          , APPEND
          , START
          , END
          , STRIDE
          , EXCLUDE
          , INCLUDE
          , EXCLUDE_LABEL
          , INCLUDE_LABEL
          , EXCLUDE_FIXTURE
          , EXCLUDE_FIXTURE_SETUP
          , EXCLUDE_FIXTURE_CLEANUP
          , PARALLEL_LEVEL
          , TEST_LOAD
          , SCHEDULE_RANDOM
          , STOP_ON_FAILURE                                 # Since 3.18
          , STOP_TIME
          , RETURN_VALUE
          , CAPTURE_CMAKE_ERROR
          , REPEAT                                          # Since 3.17
          , QUIET
          ]
        special-args: [
            # Since 3.17
            UNTIL_FAIL
          , UNTIL_PASS
          , AFTER_TIMEOUT
          ]
    -
        name: ctest_update
        named-args: [SOURCE, RETURN_VALUE, QUIET]
    -
        name: ctest_upload
        named-args: [FILES, CAPTURE_CMAKE_ERROR, QUIET]

modules:
    # The modules listed here are part of the CMake distribution:
    # https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html
    utility:
        - AndroidTestUtilities
        - BundleUtilities
        - CheckCCompilerFlag
        - CheckCompilerFlag
        - CheckCSourceCompiles
        - CheckCSourceRuns
        - CheckCXXCompilerFlag
        - CheckCXXSourceCompiles
        - CheckCXXSourceRuns
        - CheckCXXSymbolExists
        - CheckFortranCompilerFlag
        - CheckFortranFunctionExists
        - CheckFortranSourceCompiles
        - CheckFortranSourceRuns
        - CheckFunctionExists
        - CheckIncludeFileCXX
        - CheckIncludeFile
        - CheckIncludeFiles
        - CheckIPOSupported
        - CheckLanguage
        - CheckLibraryExists
        - CheckLinkerFlag
        - CheckOBJCCompilerFlag
        - CheckOBJCSourceCompiles
        - CheckOBJCSourceRuns
        - CheckOBJCXXCompilerFlag
        - CheckOBJCXXSourceCompiles
        - CheckOBJCXXSourceRuns
        - CheckPIESupported
        - CheckPrototypeDefinition
        - CheckSourceCompiles
        - CheckSourceRuns
        - CheckStructHasMember
        - CheckSymbolExists
        - CheckTypeSize
        - CheckVariableExists
        - CMakeAddFortranSubdirectory
        - CMakeBackwardCompatibilityCXX
        - CMakeDependentOption
        - CMakeFindDependencyMacro
        - CMakeFindFrameworks
        # NOTE The commented modules below are not for `include()`
        # - CMakeFindPackageMode
        # - CMakeGraphVizOptions
        - CMakePackageConfigHelpers
        - CMakePrintHelpers
        - CMakePrintSystemInformation
        - CMakePushCheckState
        # NOTE The commented module below is not for `include()`
        # - CMakeVerifyManifest
        - CPack
        - CPackComponent
        - CPackIFW
        - CPackIFWConfigureFile
        - CSharpUtilities
        - CTest
        - CTestCoverageCollectGCOV
        - CTestScriptMode
        - CTestUseLaunchers
        - Dart
        - DeployQt4
        - ExternalData
        - ExternalProject
        - FeatureSummary
        - FetchContent
        - FindPackageHandleStandardArgs
        - FindPackageMessage
        - FortranCInterface
        - GenerateExportHeader
        - GNUInstallDirs
        - GoogleTest
        - InstallRequiredSystemLibraries
        - ProcessorCount
        - SelectLibraryConfigurations
        # NOTE The commented module below is not for `include()`
        # - SquishTestScript
        - TestForANSIForScope
        - TestForANSIStreamHeaders
        - TestForSSTREAM
        - TestForSTDNamespace
        - UseEcos
        - UseJava
        - UseSWIG
        - UsewxWidgets

    finder:
        - FindALSA
        - FindArmadillo
        - FindASPELL
        - FindAVIFile
        - FindBacktrace
        - FindBISON
        - FindBLAS
        - FindBoost
        - FindBullet
        - FindBZip2
        - FindCABLE
        - FindCoin3D
        - FindCUDAToolkit
        - FindCups
        - FindCURL
        - FindCurses
        - FindCVS
        - FindCxxTest
        - FindCygwin
        - FindDart
        - FindDCMTK
        - FindDevIL
        - FindDoxygen
        - FindEnvModules
        - FindEXPAT
        - FindFLEX
        - FindFLTK
        - FindFLTK2
        - FindFontconfig
        - FindFreetype
        - FindGCCXML
        - FindGDAL
        - FindGettext
        - FindGIF
        - FindGit
        - FindGLEW
        - FindGLUT
        - FindGnuplot
        - FindGnuTLS
        - FindGSL
        - FindGTest
        - FindGTK
        - FindGTK2
        - FindHDF5
        - FindHg
        - FindHSPELL
        - FindHTMLHelp
        - FindIce
        - FindIconv
        - FindIcotool
        - FindICU
        - FindImageMagick
        - FindIntl
        - FindITK
        - FindJasper
        - FindJava
        - FindJNI
        - FindJPEG
        - FindKDE3
        - FindKDE4
        - FindLAPACK
        - FindLATEX
        - FindLibArchive
        - FindLibinput
        - FindLibLZMA
        - FindLibXml2
        - FindLibXslt
        - FindLTTngUST
        - FindLua
        - FindLua50
        - FindLua51
        - FindMatlab
        - FindMFC
        - FindMotif
        - FindMPEG
        - FindMPEG2
        - FindMPI
        - FindMsys
        - FindODBC
        - FindOpenACC
        - FindOpenAL
        - FindOpenCL
        - FindOpenGL
        - FindOpenMP
        - FindOpenSceneGraph
        - FindOpenSSL
        - FindOpenThreads
        - Findosg
        - Findosg_functions
        - FindosgAnimation
        - FindosgDB
        - FindosgFX
        - FindosgGA
        - FindosgIntrospection
        - FindosgManipulator
        - FindosgParticle
        - FindosgPresentation
        - FindosgProducer
        - FindosgQt
        - FindosgShadow
        - FindosgSim
        - FindosgTerrain
        - FindosgText
        - FindosgUtil
        - FindosgViewer
        - FindosgVolume
        - FindosgWidget
        - FindPatch
        - FindPerl
        - FindPerlLibs
        - FindPHP4
        - FindPhysFS
        - FindPike
        - FindPkgConfig
        - FindPNG
        - FindPostgreSQL
        - FindProducer
        - FindProtobuf
        - FindPython
        - FindPython2
        - FindPython3
        - FindQt3
        - FindQt4
        - FindQuickTime
        - FindRTI
        - FindRuby
        - FindSDL
        - FindSDL_image
        - FindSDL_mixer
        - FindSDL_net
        - FindSDL_sound
        - FindSDL_ttf
        - FindSelfPackers
        - FindSquish
        - FindSQLite3
        - FindSubversion
        - FindSWIG
        - FindTCL
        - FindTclsh
        - FindTclStub
        - FindThreads
        - FindTIFF
        - FindUnixCommands
        - FindVTK
        - FindVulkan
        - FindWget
        - FindWish
        - FindwxWidgets
        - FindX11
        - FindXalanC
        - FindXCTest
        - FindXercesC
        - FindXMLRPC
        - FindZLIB

    deprecated:
        # Deprecated Utility Modules
        - AddFileDependencies
        - CMakeDetermineVSServicePack
        - CMakeExpandImportedTargets
        - CMakeForceCompiler
        - CMakeParseArguments
        - Documentation
        - MacroAddFileDependencies
        - TestCXXAcceptsFlag
        - UseJavaClassFilelist
        - UseJavaSymlinks
        - UsePkgConfig
        - Use_wxWindows
        - WriteBasicConfigVersionFile
        - WriteCompilerDetectionHeader
        # Deprecated Find Modules
        - FindCUDA
        - FindPythonInterp
        - FindPythonLibs
        - FindQt
        - FindwxWindows
        # Legacy CPack Modules
        - CPackArchive
        - CPackBundle
        - CPackCygwin
        - CPackDeb
        - CPackDMG
        - CPackFreeBSD
        - CPackNSIS
        - CPackNuGet
        - CPackPackageMaker
        - CPackProductBuild
        - CPackRPM
        - CPackWIX
        # ATTENTION The following modules still in the list of the standard modules
        # however, the docs claims that they have been deprecated
        - GetPrerequisites
        - TestBigEndian

standard-module-commands:
    # AndroidTestUtilities
    -
        name: android_add_test_data
        named-args:
            - FILES
            - FILES_DEST
            - LIBS
            - LIBS_DEST
            - DEVICE_OBJECT_STORE
            - DEVICE_TEST_DIR
            - NO_LINK_REGEX
    # BundleUtilities
    - name: fixup_bundle
    - name: copy_and_fixup_bundle
    - name: verify_app
    - name: get_bundle_main_executable
    - name: get_dotapp_dir
    - name: get_bundle_and_executable
    - name: get_bundle_all_executables
    - name: get_item_key
    - name: get_item_rpaths
    - name: clear_bundle_keys
    - name: set_bundle_key_values
    - name: get_bundle_keys
    - name: copy_resolved_item_into_bundle
    - name: copy_resolved_framework_into_bundle
    - name: fixup_bundle_item
    - name: verify_bundle_prerequisites
    - name: verify_bundle_symlinks
    # CheckCCompilerFlag
    - name: check_c_compiler_flag
    # CheckCompilerFlag
    - name: check_compiler_flag
    # CheckCSourceCompiles
    -
        name: check_c_source_compiles
        named-args: &ccsc [FAIL_REGEX]
    # CheckCSourceRuns
    - name: check_c_source_runs
    # CheckCXXCompilerFlag
    - name: check_cxx_compiler_flag
    # CheckCXXSourceCompiles
    -
        name: check_cxx_source_compiles
        named-args: *ccsc
    # CheckCXXSourceRuns
    - name: check_cxx_source_runs
    # CheckCXXSymbolExists
    - name: check_cxx_symbol_exists
    # CheckFortranCompilerFlag
    - name: check_fortran_compiler_flag
    # CheckFortranFunctionExists
    - name: check_fortran_function_exists
    # CheckFortranSourceCompiles
    -
        name: check_fortran_source_compiles
        named-args: &frse [FAIL_REGEX, SRC_EXT]
    # CheckFortranSourceRuns
    -
        name: check_fortran_source_runs
        named-args: &se [SRC_EXT]
    # CheckFunctionExists
    - name: check_function_exists
    # CheckIncludeFileCXX
    - name: check_include_file_cxx
    # CheckIncludeFile
    - name: check_include_file
    # CheckIncludeFiles
    -
        name: check_include_files
        named-args: &l [LANGUAGE]
        special-args: &ccxx [C, CXX]
    # CheckIPOSupported
    -
        name: check_ipo_supported
        named-args: [RESULT, OUTPUT, LANGUAGES]
        special-args: &ccxxf [C, CXX, Fortran]
    # CheckLanguage
    -
        name: check_language
        special-args: *langs
    # CheckLibraryExists
    - name: check_library_exists
    # CheckLinkerFlag
    - name: check_linker_flag
    # CheckOBJCCompilerFlag
    - name: check_objc_compiler_flag
    # CheckOBJCSourceCompiles
    -
        name: check_objc_source_compiles
        named-args: *ccsc
    # CheckOBJCSourceRuns
    - name: check_objc_source_runs
    # CheckOBJCXXCompilerFlag
    - name: check_objcxx_compiler_flag
    # CheckOBJCXXSourceCompiles
    -
        name: check_objcxx_source_compiles
        named-args: *ccsc
    # CheckOBJCXXSourceRuns
    - name: check_objcxx_source_runs
    # CheckPIESupported
    -
        name: check_pie_supported
        named-args: [OUTPUT_VARIABLE, LANGUAGES]
        special-args: [
            C, CXX, Fortran,
            # Since 3.23
            OBJC, OBJCXX, CUDA, HIP
          ]
    # CheckPrototypeDefinition
    - name: check_prototype_definition
    # CheckSourceCompiles
    -
        name: check_source_compiles
        named-args: *frse
    # CheckSourceRuns
    -
        name: check_source_runs
        named-args: *se
    # CheckStructHasMember
    -
        name: check_struct_has_member
        named-args: *l
        special-args: *ccxx
    # CheckSymbolExists
    - name: check_symbol_exists
    # CheckTypeSize
    -
        name: check_type_size
        named-args: [BUILTIN_TYPES_ONLY, LANGUAGE]
        special-args: *ccxx
    # CheckVariableExists
    - name: check_variable_exists
    # CMakeAddFortranSubdirectory
    -
        name: cmake_add_fortran_subdirectory
        named-args:
            - PROJECT
            - ARCHIVE_DIR
            - RUNTIME_DIR
            - LIBRARIES
            - LINK_LIBRARIES
            - LINK_LIBS
            - CMAKE_COMMAND_LINE
            - NO_EXTERNAL_INSTALL
    # CMakeBackwardCompatibilityCXX
    # CMakeDependentOption
    - name: cmake_dependent_option
    # CMakeFindDependencyMacro
    - name: find_dependency
    # CMakeFindFrameworks
    # CMakeFindPackageMode
    # CMakeGraphVizOptions
    # CMakePackageConfigHelpers
    -
        name: configure_package_config_file
        named-args:
            - INSTALL_DESTINATION
            - PATH_VARS
            - NO_SET_AND_CHECK_MACRO
            - NO_CHECK_REQUIRED_COMPONENTS_MACRO
            - INSTALL_PREFIX
    -
        name: write_basic_package_version_file
        named-args:
            - VERSION
            - COMPATIBILITY
            - ARCH_INDEPENDENT
        special-args: [AnyNewerVersion, SameMajorVersion, SameMinorVersion, ExactVersion]
    # CMakePrintHelpers
    -
        name: cmake_print_properties
        named-args:
            - TARGETS
            - SOURCES
            - DIRECTORIES
            - TESTS
            - CACHE_ENTRIES
            - PROPERTIES
        has-target-names-after-kw: TARGETS
    # CMakePrintSystemInformation
    # CMakePushCheckState
    -
        name: cmake_push_check_state
        named-args: [RESET]
    - name: cmake_pop_check_state
    - name: cmake_reset_check_state
    # CMakeVerifyManifest
    # CPack
    # CPackComponent
    -
        name: cpack_add_component
        named-args:
            - DISPLAY_NAME
            - DESCRIPTION
            - HIDDEN
            - REQUIRED
            - DISABLED
            - GROUP
            - DEPENDS
            - INSTALL_TYPES
            - DOWNLOADED
            - ARCHIVE_FILE
            - PLIST
    -
        name: cpack_add_component_group
        named-args:
            - DISPLAY_NAME
            - DESCRIPTION
            - PARENT_GROUP
            - EXPANDED
            - BOLD_TITLE
    -
        name: cpack_add_install_type
        named-args: [DISPLAY_NAME]
    -
        name: cpack_configure_downloads
        named-args:
            - UPLOAD_DIRECTORY
            - ALL
            - ADD_REMOVE
            - NO_ADD_REMOVE
    # CPackIFW
    -
        name: cpack_ifw_configure_component
        named-args:
            - COMMON
            - ESSENTIAL
            - VIRTUAL
            - FORCED_INSTALLATION
            - REQUIRES_ADMIN_RIGHTS]
            - NAME
            - DISPLAY_NAME
            - DESCRIPTION
            - UPDATE_TEXT
            - VERSION
            - RELEASE_DATE
            - SCRIPT
            - PRIORITY
            - SORTING_PRIORITY
            - DEPENDS
            - DEPENDENCIES
            - AUTO_DEPEND_ON
            - LICENSES
            - DEFAULT
            - USER_INTERFACES
            - TRANSLATIONS
            - REPLACES
            - CHECKABLE
    -
        name: cpack_ifw_configure_component_group
        named-args:
            - VIRTUAL
            - FORCED_INSTALLATION
            - REQUIRES_ADMIN_RIGHTS
            - NAME
            - DISPLAY_NAME
            - DESCRIPTION
            - UPDATE_TEXT
            - VERSION
            - RELEASE_DATE
            - SCRIPT
            - PRIORITY
            - SORTING_PRIORITY
            - DEPENDS
            - DEPENDENCIES
            - AUTO_DEPEND_ON
            - LICENSES
            - DEFAULT
            - USER_INTERFACES
            - TRANSLATIONS
            - REPLACES
            - CHECKABLE
    -
        name: cpack_ifw_add_repository
        named-args:
            - DISABLED
            - URL
            - USERNAME
            - PASSWORD
            - DISPLAY_NAME
    -
        name: cpack_ifw_update_repository
        named-args:
            - ADD
            - REMOVE
            - URL
            - REPLACE
            - OLD_URL
            - NEW_URL
            - USERNAME
            - PASSWORD
            - DISPLAY_NAME
    - name: cpack_ifw_add_package_resources
    # CPackIFWConfigureFile
    - name: cpack_ifw_configure_file
    # CSharpUtilities
    - name: csharp_set_windows_forms_properties
    - name: csharp_set_designer_cs_properties
    - name: csharp_set_xaml_cs_properties
    - name: csharp_get_filename_keys
    - name: csharp_get_filename_key_base
    - name: csharp_get_dependentupon_name
    # CTest
    # CTestCoverageCollectGCOV
    -
        name: ctest_coverage_collect_gcov
        named-args:
            - TARBALL
            - TARBALL_COMPRESSION
            - SOURCE
            - BUILD
            - GCOV_COMMAND
            - GCOV_OPTIONS
            - GLOB
            - DELETE
            - QUIET
    # CTestScriptMode
    # CTestUseLaunchers
    # Dart
    # DeployQt4
    - name: write_qt4_conf
    - name: resolve_qt4_paths
    - name: fixup_qt4_executable
    - name: install_qt4_plugin_path
    - name: install_qt4_plugin
    - name: install_qt4_executable
    # ExternalData
    - name: ExternalData_Expand_Arguments
    - name: ExternalData_Add_Test
    -
        name: ExternalData_Add_Target
        named-args: [SHOW_PROGRESS]
    # ExternalProject
    -
        name: ExternalProject_Add
        named-args:
            - PREFIX
            - TMP_DIR
            - STAMP_DIR
            - LOG_DIR
            - DOWNLOAD_DIR
            - SOURCE_DIR
            - BINARY_DIR
            - INSTALL_DIR
            - DOWNLOAD_COMMAND
            - URL
            - URL_HASH
            - URL_MD5
            - DOWNLOAD_NAME
            - DOWNLOAD_EXTRACT_TIMESTAMP                    # Since 3.24
            - DOWNLOAD_NO_EXTRACT
            - DOWNLOAD_NO_PROGRESS
            - TIMEOUT
            - INACTIVITY_TIMEOUT
            - HTTP_USERNAME
            - HTTP_PASSWORD
            - HTTP_HEADER
            - TLS_VERIFY
            - TLS_CAINFO
            - NETRC
            - NETRC_FILE
            - GIT_REPOSITORY
            - GIT_TAG
            - GIT_REMOTE_NAME
            - GIT_SUBMODULES
            - GIT_SUBMODULES_RECURSE
            - GIT_SHALLOW
            - GIT_PROGRESS
            - GIT_CONFIG
            - GIT_REMOTE_UPDATE_STRATEGY
            - SVN_REPOSITORY
            - SVN_REVISION
            - SVN_USERNAME
            - SVN_PASSWORD
            - SVN_TRUST_CERT
            - HG_REPOSITORY
            - HG_TAG
            - CVS_REPOSITORY
            - CVS_MODULE
            - CVS_TAG
            - UPDATE_COMMAND
            - UPDATE_DISCONNECTED
            - PATCH_COMMAND
            - CONFIGURE_COMMAND
            - CMAKE_COMMAND
            - CMAKE_GENERATOR
            - CMAKE_GENERATOR_PLATFORM
            - CMAKE_GENERATOR_TOOLSET
            - CMAKE_GENERATOR_INSTANCE
            - CMAKE_ARGS
            - CMAKE_CACHE_ARGS
            - CMAKE_CACHE_DEFAULT_ARGS
            - SOURCE_SUBDIR
            - CONFIGURE_HANDLED_BY_BUILD
            - BUILD_COMMAND
            - BUILD_IN_SOURCE
            - BUILD_ALWAYS
            - BUILD_BYPRODUCTS
            - INSTALL_COMMAND
            - TEST_COMMAND
            - TEST_BEFORE_INSTALL
            - TEST_AFTER_INSTALL
            - TEST_EXCLUDE_FROM_MAIN
            - LOG_DOWNLOAD
            - LOG_UPDATE
            - LOG_PATCH
            - LOG_CONFIGURE
            - LOG_BUILD
            - LOG_INSTALL
            - LOG_TEST
            - LOG_MERGED_STDOUTERR
            - LOG_OUTPUT_ON_FAILURE
            - USES_TERMINAL_DOWNLOAD
            - USES_TERMINAL_UPDATE
            - USES_TERMINAL_PATCH                           # Since 3.23
            - USES_TERMINAL_CONFIGURE
            - USES_TERMINAL_BUILD
            - USES_TERMINAL_INSTALL
            - USES_TERMINAL_TEST
            - DEPENDS
            - EXCLUDE_FROM_ALL
            - STEP_TARGETS
            - INDEPENDENT_STEP_TARGETS
            - LIST_SEPARATOR
            - COMMAND
        special-args: [IGNORED, OPTIONAL, REQUIRED, CHECKOUT, REBASE, REBASE_CHECKOUT]
        property-args: *get_target_property
    - name: ExternalProject_Get_Property
    -
        name: ExternalProject_Add_Step
        named-args:
            - COMMAND
            - COMMENT
            - DEPENDEES
            - DEPENDERS
            - DEPENDS
            - INDEPENDENT
            - BYPRODUCTS
            - ALWAYS
            - EXCLUDE_FROM_MAIN
            - WORKING_DIRECTORY
            - LOG
            - USES_TERMINAL
    -
        name: ExternalProject_Add_StepTargets
        named-args:
            - NO_DEPENDS
    - name: ExternalProject_Add_StepDependencies
    # FeatureSummary
    -
        name: feature_summary
        named-args:
            - FILENAME
            - APPEND
            - VAR
            - INCLUDE_QUIET_PACKAGES
            - FATAL_ON_MISSING_REQUIRED_PACKAGES
            - DESCRIPTION
            - DEFAULT_DESCRIPTION
            - QUIET_ON_EMPTY
            - WHAT
            - ALL
            - PACKAGES_FOUND
            - PACKAGES_NOT_FOUND
            - ENABLED_FEATURES
            - DISABLED_FEATURES
    -
        name: set_package_properties
        named-args:
            - PROPERTIES
            - URL
            - DESCRIPTION
            - TYPE
            - RUNTIME
            - OPTIONAL
            - RECOMMENDED
            - REQUIRED
            - PURPOSE
    - name: add_feature_info
    - name: set_package_info
    - name: set_feature_info
    - name: print_enabled_features
    - name: print_disabled_features
    # FetchContent
    -
        name: FetchContent_Declare
        named-args:
            - DOWNLOAD_COMMAND
            - URL
            - URL_HASH
            - URL_MD5
            - DOWNLOAD_NAME
            - DOWNLOAD_NO_EXTRACT
            - DOWNLOAD_NO_PROGRESS
            - TIMEOUT
            - INACTIVITY_TIMEOUT
            - HTTP_USERNAME
            - HTTP_PASSWORD
            - HTTP_HEADER
            - TLS_VERIFY
            - TLS_CAINFO
            - NETRC
            - NETRC_FILE
            - GIT_REPOSITORY
            - GIT_TAG
            - GIT_REMOTE_NAME
            - GIT_SUBMODULES
            - GIT_SUBMODULES_RECURSE
            - GIT_SHALLOW
            - GIT_PROGRESS
            - GIT_CONFIG
            - GIT_REMOTE_UPDATE_STRATEGY
            - SVN_REPOSITORY
            - SVN_REVISION
            - SVN_USERNAME
            - SVN_PASSWORD
            - SVN_TRUST_CERT
            - HG_REPOSITORY
            - HG_TAG
            - CVS_REPOSITORY
            - CVS_MODULE
            - CVS_TAG
            - UPDATE_COMMAND
            - UPDATE_DISCONNECTED
            - PATCH_COMMAND
            - SOURCE_SUBDIR
    -
        name: FetchContent_Populate
        named-args:
            - QUIET
            - SUBBUILD_DIR
            - SOURCE_DIR
            - BINARY_DIR
            - DOWNLOAD_COMMAND
            - URL
            - URL_HASH
            - URL_MD5
            - DOWNLOAD_NAME
            - DOWNLOAD_NO_EXTRACT
            - DOWNLOAD_NO_PROGRESS
            - TIMEOUT
            - INACTIVITY_TIMEOUT
            - HTTP_USERNAME
            - HTTP_PASSWORD
            - HTTP_HEADER
            - TLS_VERIFY
            - TLS_CAINFO
            - NETRC
            - NETRC_FILE
            - GIT_REPOSITORY
            - GIT_TAG
            - GIT_REMOTE_NAME
            - GIT_SUBMODULES
            - GIT_SUBMODULES_RECURSE
            - GIT_SHALLOW
            - GIT_PROGRESS
            - GIT_CONFIG
            - GIT_REMOTE_UPDATE_STRATEGY
            - SVN_REPOSITORY
            - SVN_REVISION
            - SVN_USERNAME
            - SVN_PASSWORD
            - SVN_TRUST_CERT
            - HG_REPOSITORY
            - HG_TAG
            - CVS_REPOSITORY
            - CVS_MODULE
            - CVS_TAG
            - UPDATE_COMMAND
            - UPDATE_DISCONNECTED
            - PATCH_COMMAND
            - SOURCE_SUBDIR
    -
        name: FetchContent_GetProperties
        named-args:
            - SOURCE_DIR
            - BINARY_DIR
            - POPULATED
    - name: FetchContent_MakeAvailable
    # FindPackageHandleStandardArgs
    -
        name: find_package_handle_standard_args
        named-args:
            - DEFAULT_MSG
            - FOUND_VAR
            - REQUIRED_VARS
            - VERSION_VAR
            - HANDLE_VERSION_RANGE
            - HANDLE_COMPONENTS
            - CONFIG_MODE
            - NAME_MISMATCHED
            - REASON_FAILURE_MESSAGE
            - FAIL_MESSAGE
    -
        name: find_package_check_version
        named-args:
            - HANDLE_VERSION_RANGE
            - RESULT_MESSAGE_VARIABLE
    # FindPackageMessage
    - name: find_package_message
    # FortranCInterface
    -
        name: FortranCInterface_HEADER
        named-args:
            - MACRO_NAMESPACE
            - SYMBOL_NAMESPACE
            - SYMBOLS
    -
        name: FortranCInterface_VERIFY
        named-args: [CXX, QUIET]
    # GenerateExportHeader
    -
        name: generate_export_header
        named-args:
            - BASE_NAME
            - EXPORT_MACRO_NAME
            - EXPORT_FILE_NAME
            - DEPRECATED_MACRO_NAME
            - NO_EXPORT_MACRO_NAME
            - INCLUDE_GUARD_NAME
            - STATIC_DEFINE
            - NO_DEPRECATED_MACRO_NAME
            - DEFINE_NO_DEPRECATED
            - PREFIX_NAME
            - CUSTOM_CONTENT_FROM_VARIABLE
        first-arg-is-target?: true
    # GetPrerequisites (NOTE The module has functions but has been deprecated)
    # GNUInstallDirs
    - name: GNUInstallDirs_get_absolute_install_dir
    # GoogleTest
    -
        name: gtest_add_tests
        named-args:
            - TARGET
            - SOURCES
            - EXTRA_ARGS
            - WORKING_DIRECTORY
            - TEST_PREFIX
            - TEST_SUFFIX
            - SKIP_DEPENDENCY
            - TEST_LIST
        has-target-name-after-kw: TARGET
    -
        name: gtest_discover_tests                          # Since 3.10
        named-args:
            - EXTRA_ARGS
            - WORKING_DIRECTORY
            - TEST_PREFIX
            - TEST_SUFFIX
            - TEST_FILTER                                   # Since 3.22
            - NO_PRETTY_TYPES
            - NO_PRETTY_VALUES
            - PROPERTIES
            - TEST_LIST
            - DISCOVERY_TIMEOUT
            - XML_OUTPUT_DIR
            - DISCOVERY_MODE
        special-args: [POST_BUILD, PRE_TEST]
        first-arg-is-target?: true
    # InstallRequiredSystemLibraries
    # ProcessorCount
    - name: processorcount
    # SelectLibraryConfigurations
    - name: select_library_configurations
    # SquishTestScript
    # TestBigEndian
    - name: test_big_endian
    # TestForANSIForScope
    # TestForANSIStreamHeaders
    # TestForSSTREAM
    # TestForSTDNamespace
    # UseEcos
    - name: ecos_add_include_directories
    - name: ecos_add_executable
    - name: ecos_add_target_lib
    - name: ecos_adjust_directory
    - name: ecos_use_arm_elf_tools
    - name: ecos_use_i386_elf_tools
    - name: ecos_use_ppc_eabi_tools
    # UseJava
    -
        name: add_jar
        named-args:
            - SOURCES
            - RESOURCES
            - NAMESPACE
            - INCLUDE_JARS
            - ENTRY_POINT
            - VERSION
            - MANIFEST
            - OUTPUT_NAME
            - OUTPUT_DIR
            - GENERATE_NATIVE_HEADERS
            - DESTINATION
            - INSTALL
            - BUILD
        first-arg-is-target?: true
    -
        name: install_jar
        named-args: &dc [DESTINATION, COMPONENT]
        first-arg-is-target?: true
    -
        name: install_jni_symlink
        named-args: *dc
        first-arg-is-target?: true
    -
        name: create_javah
        named-args:
            - TARGET
            - GENERATED_FILES
            - CLASSES
            - CLASSPATH
            - DEPENDS
            - OUTPUT_NAME
            - OUTPUT_DIR
        has-target-name-after-kw: TARGET
    -
        name: install_jar_exports
        named-args:
            - TARGETS
            - NAMESPACE
            - FILE
            - DESTINATION
            - COMPONENT
        has-target-names-after-kw: TARGETS
    -
        name: export_jars
        named-args:
            - TARGETS
            - NAMESPACE
            - FILE
        has-target-names-after-kw: TARGETS
    -
        name: find_jar
        named-args:
            - NAMES
            - PATHS
            - ENV
            - VERSIONS
            - DOC
    -
        name: create_javadoc
        named-args:
            - PACKAGES
            - FILES
            - SOURCEPATH
            - CLASSPATH
            - INSTALLPATH
            - DOCTITLE
            - WINDOWTITLE
            - AUTHOR
            - USE
            - VERSION
    # UseSWIG
    -
        name: swig_add_library
        named-args:
            - TYPE
            - SHARED
            - MODULE
            - STATIC
            - USE_BUILD_SHARED_LIBS
            - LANGUAGE
            - NO_PROXY
            - OUTPUT_DIR
            - OUTFILE_DIR
            - SOURCES
    - name: swig_link_libraries
    # UsewxWidgets
    # NOTE Some standard finder modules also provide commands
    # FindSquish
    -
        name: squish_add_test
        named-args:
            - AUT
            - SUITE
            - TEST
            - SETTINGSGROUP
            - PRE_COMMAND
            - POST_COMMAND
    # FindBISON
    -
        name: bison_target
        named-args:
            - COMPILE_FLAGS
            - DEFINES_FILE
            - VERBOSE
            - REPORT_FILE
    # FindCxxTest
    - name: cxxtest_add_test
    # FindDoxygen
    -
        name: doxygen_add_docs
        named-args: [ALL, USE_STAMP_FILE, WORKING_DIRECTORY, COMMENT]
    # FindEnvModules
    -
        name: env_module
        named-args: [COMMAND, OUTPUT_VARIABLE, RESULT_VARIABLE]
    -
        name: env_module_swap
        named-args: [OUTPUT_VARIABLE, RESULT_VARIABLE]
    - name: env_module_list
    - name: env_module_avail
    # FindFLEX
    -
        name: flex_target
        named-args:
            - COMPILE_FLAGS
            - DEFINES_FILE
    - name: add_flex_bison_dependency
    # FindGettext
    -
        name: gettext_create_translations
        named-args: [ALL]
    -
        name: gettext_process_pot_file
        named-args: [ALL, INSTALL_DESTINATION, LANGUAGES]
    -
        name: gettext_process_po_files
        named-args: [ALL, INSTALL_DESTINATION, PO_FILES]
    # FindHg
    - name: hg_wc_info
    # FindMatlab
    - name: matlab_get_version_from_release_name
    - name: matlab_get_release_name_from_version
    - name: matlab_extract_all_installed_versions_from_registry
    - name: matlab_get_all_valid_matlab_roots_from_registry
    - name: matlab_get_mex_suffix
    - name: matlab_get_version_from_matlab_run
    -
        name: matlab_add_unit_test
        named-args:
            - NAME
            - UNITTEST_FILE
            - CUSTOM_TEST_COMMAND
            - UNITTEST_PRECOMMAND
            - TIMEOUT
            - ADDITIONAL_PATH
            - MATLAB_ADDITIONAL_STARTUP_OPTIONS
            - TEST_ARGS
            - NO_UNITTEST_FRAMEWORK
    -
        name: matlab_add_mex
        named-args:
            - NAME
            - EXECUTABLE
            - MODULE
            - SHARED
            - SRC
            - OUTPUT_NAME
            - DOCUMENTATION
            - LINK_TO
            - R2017b
            - R2018a
            - EXCLUDE_FROM_ALL
            - NO_IMPLICIT_LINK_TO_MATLAB_LIBRARIES          # Since 3.24
    # FindPkgConfig
    -
        name: pkg_check_modules
        named-args: &pkgcm
            - REQUIRED
            - QUIET
            - NO_CMAKE_PATH
            - NO_CMAKE_ENVIRONMENT_PATH
            - IMPORTED_TARGET
            - GLOBAL
            - STATIC_TARGET                                 # Since 3.24
    -
        name: pkg_search_module
        named-args: *pkgcm
    -
        name: pkg_get_variable
    # FindProtobuf
    -
        name: protobuf_generate_cpp
        named-args: [DESCRIPTORS, EXPORT_MACRO]
    -
        name: protobuf_generate_python
    # FindPython
    -
        name: Python_add_library
        named-args: [STATIC, SHARED, MODULE, WITH_SOABI]
    # FindSubversion
    -
        name: Subversion_WC_INFO
        named-args: [IGNORE_SVN_FAILURE]
    -
        name: Subversion_WC_LOG
    # FindXCTest
    - name: xctest_add_bundle
    - name: xctest_add_test
