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
    - 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                               # Sine 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>
    - <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_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_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
    - 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_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_INCLUDE_DIRECTORIES
    - INTERFACE_LINK_DEPENDS                                # Since 3.13
    - INTERFACE_LINK_DIRECTORIES                            # Since 3.13
    - INTERFACE_LINK_LIBRARIES
    - 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
    - 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>_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_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
    - 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
    - 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
    - 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_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_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
    - WIN32_EXECUTABLE
    - WINDOWS_EXPORT_ALL_SYMBOLS
    - XCODE_ATTRIBUTE_<an-attribute>
    - XCODE_EXPLICIT_FILE_TYPE
    - XCODE_GENERATE_SCHEME                                 # Since 3.15
    - 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_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
    - XCTEST

test-properties:
    - ATTACHED_FILES_ON_FAIL
    - ATTACHED_FILES
    - COST
    - DEPENDS
    - DISABLED
    - ENVIRONMENT
    - 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
    #   * 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
    # 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
    - TARGET_BUNDLE_CONTENT_DIR
    - TARGET_PROPERTY
    - INSTALL_PREFIX
    # Output-Related Expressions
    - TARGET_NAME
    - LINK_ONLY
    - INSTALL_INTERFACE
    - BUILD_INTERFACE
    - MAKE_C_IDENTIFIER
    - TARGET_OBJECTS
    - SHELL_PATH

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_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_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_PLATFORM_NAME
    - CMAKE_VS_PLATFORM_TOOLSET
    - CMAKE_VS_PLATFORM_TOOLSET_CUDA
    - CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
    - CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
    - CMAKE_XCODE_GENERATE_SCHEME
    - CMAKE_XCODE_PLATFORM_TOOLSET
    - <PROJECT-NAME>_BINARY_DIR
    - <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
    - 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_CODEBLOCKS_COMPILER_ID                          # Since 3.11
    - CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES               # Since 3.10
    - CMAKE_CODELITE_USE_TARGETS
    - 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_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_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_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_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_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_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_TOP_LEVEL_PROJECT_ONLY           # Since 3.13
    - 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_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
    # Variables that Describe the System
    - ANDROID
    - APPLE
    - BORLAND
    - 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_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_<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>_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_WHAT_YOU_USE
    - 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_OSX_ARCHITECTURES
    - CMAKE_OSX_DEPLOYMENT_TARGET
    - CMAKE_OSX_SYSROOT
    - CMAKE_PCH_WARN_INVALID                                # Since 3.18
    - 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_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_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_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_<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>_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>_FLAGS
    - 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_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_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_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_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
    - PACKAGE_FIND_VERSION
    - PACKAGE_FIND_VERSION_MAJOR
    - PACKAGE_FIND_VERSION_MINOR
    - PACKAGE_FIND_VERSION_PATCH
    - PACKAGE_FIND_VERSION_TWEAK
    - PACKAGE_FIND_VERSION_COUNT
    - PACKAGE_VERSION
    - PACKAGE_VERSION_EXACT
    - PACKAGE_VERSION_COMPATIBLE
    - PACKAGE_VERSION_UNSUITABLE
    # NOTE <SMTH>_VERSION and components already defined above, so skipped here
    - <package>_FOUND
    - <package>_VERSION_COUNT
    - <package>_FIND_REQUIRED
    - <package>_FIND_QUIETLY
    - <package>_FIND_VERSION
    - <package>_FIND_VERSION_MAJOR
    - <package>_FIND_VERSION_MINOR
    - <package>_FIND_VERSION_PATCH
    - <package>_FIND_VERSION_TWEAK
    - <package>_FIND_VERSION_COUNT
    - <package>_FIND_VERSION_EXACT
    - <package>_FIND_COMPONENTS
    - <package>_FIND_REQUIRED_<c>
    - <package>_CONSIDERED_CONFIGS
    - <package>_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
    # Well known CMake's official module's variables
    # - CheckCCompilerFlag
    # - CheckCSourceCompiles
    # - CheckCSourceRuns
    # - CheckCxxCompilerFlag
    # - CheckCxxSourceCompiles
    # - CheckCxxSourceRuns
    # - CheckCXXSymbolExists
    # - CheckFortranCompilerFlag
    # - CheckFortranFunctionExists
    # - CheckFortranSourceCompiles
    # - CheckFortranSourceCompiles
    # - CheckFunctionExists
    # - CheckIncludeFileCXX
    # - CheckIncludeFile
    # - CheckIncludeFiles
    # - CheckLibraryExists
    # - 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_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_DIR
    - CPACK_DMG_SLA_LANGUAGES
    - CPACK_DMG_<component>_FILE_NAME                       # Since 3.17
    - 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
    # - 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_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_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_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
    # - 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_ICONURL
    - CPACK_NUGET_<compName>_PACKAGE_ICONURL
    - 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_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
    # - CPackProductBuild
    - CPACK_COMMAND_PRODUCTBUILD
    - 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_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
    - 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_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>
    # - 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
    # - 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
    # - FindXXX module "standard" variables
    - <package>_INCLUDE_DIRS
    - <package>_LIBRARIES
    - <package>_LIBRARY_DIRS
    - <package>_VERSION_STRING
    # - FindDoxygen
    - DOXYGEN_<TAG>
    # - FindPkgConfig
    - PKG_CONFIG_EXECUTABLE
    - PKG_CONFIG_VERSION_STRING
    - PKG_CONFIG_USE_CMAKE_PREFIX_PATH
    - <prefix>_MODULE_NAME                                  # Since 3.16
    # - 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
    # - 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
    # - 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
    # - UseSWIG
    - CMAKE_SWIG_FLAGS
    - CMAKE_SWIG_OUTDIR
    - SWIG_OUTFILE_DIR
    - SWIG_MODULE_<name>_EXTRA_DEPS
    - SWIG_SOURCE_FILE_EXTENSIONS                           # Since 3.14

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

# 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_BUILD_PARALLEL_LEVEL
    - CMAKE_CONFIG_TYPE
    - CMAKE_EXPORT_COMPILE_COMMANDS                         # Since 3.17
    - CMAKE_GENERATOR
    - CMAKE_GENERATOR_INSTANCE
    - CMAKE_GENERATOR_PLATFORM
    - CMAKE_GENERATOR_TOOLSET
    - CMAKE_<LANG>_COMPILER_LAUNCHER                        # Since 3.17
    - CMAKE_MSVCIDE_RUN_PATH
    - CMAKE_NO_VERBOSE
    - CMAKE_OSX_ARCHITECTURES
    - DESTDIR
    - LDFLAGS
    - MACOSX_DEPLOYMENT_TARGET
    - <PackageName>_ROOT
    - VERBOSE
    # Environment Variables for Languages
    - ASM<DIALECT>
    - ASM<DIALECT>FLAGS
    - CC
    - CFLAGS
    - CSFLAGS
    - 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

scripting-commands:
    -
        name: break
        nulary?: true
    -
        name: cmake_host_system_information
        named-args: [RESULT, QUERY]
        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
          ]
    -
        name: cmake_language
        named-args: [CALL, EVAL, CODE]
    -
        name: cmake_minimum_required
        named-args: [VERSION, FATAL_ERROR]
    -
        name: cmake_parse_arguments
        named-args: [PARSE_ARGV]
    -
        name: cmake_policy
        named-args: [GET, SET, PUSH, POP, VERSION]
        special-args: [OLD, NEW]
    -
        name: configure_file
        named-args: [COPYONLY, ESCAPE_QUOTES, "@ONLY", NEWLINE_STYLE]
        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
          ]
        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
          ]
        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`
          ]
        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
          , TLS_VERIFY
          , TLS_CAINFO
          , TIMESTAMP
          , UTC
          , GENERATE
          , OUTPUT
          , INPUT
          , CONTENT
          , CONDITION
          , 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
            # New sub-options since 3.18
          , ARCHIVE_CREATE
          , FILES
          , FORMAT
          , TYPE
          , MTIME
          , VERBOSE
          , ARCHIVE_EXTRACT
          , LIST_ONLY
          , CONFIGURE
          , ESCAPE_QUOTES
          , "@ONLY"
          , NEWLINE_STYLE
          ]
        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
          , 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
          ]
    -
        name: find_library
        named-args: &find_library [
            NAMES
          , NAMES_PER_DIR
          , HINTS
          , PATHS
          , PATH_SUFFIXES
          , DOC
          , 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
          ]
    -
        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
          ]
    -
        name: find_path
        named-args: *find_file
    -
        name: find_program
        named-args: *find_library
    -
        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
        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]
    -
        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
          ]
    -
        name: unset
        named-args: [CACHE, PARENT_SCOPE]
    -
        name: variable_watch
    -
        name: while
        named-args: *if
        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
    -
        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
          ]
        nested-parentheses?: true
    -
        name: add_definitions
    -
        name: add_dependencies
    -
        name: add_executable
        named-args: [WIN32, MACOSX_BUNDLE, EXCLUDE_FROM_ALL, IMPORTED, GLOBAL, ALIAS]
    -
        name: add_library
        named-args: [STATIC, SHARED, MODULE, OBJECT, EXCLUDE_FROM_ALL, IMPORTED, UNKNOWN, GLOBAL, ALIAS, INTERFACE]
    -
        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, 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]
        property-args: *get-property
    -
        name: enable_language
        named-args: [OPTIONAL]
        special-args: [
            ASM
          , ASM-ATT
          , ASM_NASM
          , ASM_MASM
          , C
          , CSharp
          , CXX
          , CUDA
          , 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]
    -
        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
        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
            # Installing Targets
          , TARGETS
          , EXPORT
          , ARCHIVE
          , LIBRARY
          , RUNTIME
          , OBJECTS
          , FRAMEWORK
          , BUNDLE
          , PRIVATE_HEADER
          , PUBLIC_HEADER
          , RESOURCE
          , INCLUDES
          , NAMELINK_ONLY
          , NAMELINK_SKIP
            # 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
          ]
        special-args: &valid_permissions [
            OWNER_READ
          , OWNER_WRITE
          , OWNER_EXECUTE
          , GROUP_READ
          , GROUP_WRITE
          , GROUP_EXECUTE
          , WORLD_READ
          , WORLD_WRITE
          , WORLD_EXECUTE
          , SETUID
          , SETGID
          ]
    -
        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
          , 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
    -
        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]
    -
        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_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_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
          ]
    -
        name: target_compile_options
        named-args: &target_compile_options [BEFORE, INTERFACE, PUBLIC, PRIVATE]
    -
        name: target_include_directories
        named-args: [BEFORE, SYSTEM, INTERFACE, PUBLIC, PRIVATE]
    -
        # Since 3.13
        name: target_link_directories
        named-args: *target_compile_options
    -
        name: target_link_libraries
        named-args: *target_compile_definitions
    -
        name: target_link_options
        named-args: *target_compile_definitions
    -
        # Since 3.16
        name: target_precompile_headers
        named-args: [INTERFACE, PUBLIC, PRIVATE, REUSE_FROM]
    -
        name: target_sources
        named-args: *target_compile_definitions
    -
        name: try_compile
        named-args: [
            RESULT_VAR
          , 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
          , 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]
