# CMake 3.18 https://cmake.org/cmake/help/latest/index.html

#! Keywords			===========================================================
# https://cmake.org/cmake/help/latest/manual/cmake-language.7.html
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 CACHE ENV)
elseif()
else()
endif()
foreach(RANGE
	IN LISTS ITEMS
	ZIP_LISTS)
endforeach()
while()
endwhile()
break()
continue()
macro()
endmacro()
function(ARGC ARGV)
endfunction()
return()

#! Commands			===========================================================
# cmake --help-command-list
# https://cmake.org/cmake/help/latest/manual/cmake-commands.7.html
# Scripting Commands
cmake_host_system_information(RESULT QUERY)
cmake_language(CALL STATUS
	EVAL CODE)
cmake_minimum_required(VERSION FATAL_ERROR)
cmake_parse_arguments(PARSE_ARGV)
cmake_policy(VERSION
	SET NEW OLD
	GET
	PUSH
	POP)
configure_file(COPYONLY ESCAPE_QUOTES ONLY NEWLINE_STYLE)
execute_process(COMMAND
	WORKING_DIRECTORY
	TIMEOUT
	RESULT_VARIABLE
	RESULTS_VARIABLE
	OUTPUT_VARIABLE
	ERROR_VARIABLE
	INPUT_FILE
	OUTPUT_FILE
	ERROR_FILE
	OUTPUT_QUIET
	ERROR_QUIET
	COMMAND_ECHO
	OUTPUT_STRIP_TRAILING_WHITESPACE
	ERROR_STRIP_TRAILING_WHITESPACE
	ENCODING
	ECHO_OUTPUT_VARIABLE
	ECHO_ERROR_VARIABLE
)
file(
	# Reading
	READ OFFSET LIMIT HEX
	STRINGS
		LENGTH_MAXIMUM
		LENGTH_MINIMUM
		LIMIT_COUNT
		LIMIT_INPUT
		LIMIT_OUTPUT
		NEWLINE_CONSUME
		NO_HEX_CONVERSION
		REGEX
		ENCODING
	HASH
	TIMESTAMP UTC
	GET_RUNTIME_DEPENDENCIES
	RESOLVED_DEPENDENCIES_VAR
	UNRESOLVED_DEPENDENCIES_VAR
	CONFLICTING_DEPENDENICES_PREFIX
	EXECUTABLES
	LIBRARIES
	MODULES
	DIRECTORIES
	BUNDLE_EXECUTABLE
	PRE_INCLUDE_REGEXES
	PRE_EXCLUDE_REGEXES
	POST_INCLUDE_REGEXES
	POST_EXCLUDE_REGEXES
	# Writing
	WRITE
	APPEND
	TOUCH
	TOUCH_NOCREATE
	GENERATE
		OUTPUT
		INPUT
		CONTENT
		CONDITION
	CONFIGURE
		OUTPUT
		CONTENT
		ESCAPE_QUOTES ONLY
		NEWLINE_STYLE
	# Filesystem
	GLOB
		LIST_DIRECTORIES
		RELATIVE
		CONFIGURE_DEPENDS
	GLOB_RECURSE
		FOLLOW_SYMLINKS
		LIST_DIRECTORIES
		RELATIVE
		CONFIGURE_DEPENDS
	RENAME
	REMOVE
	REMOVE_RECURSE
	MAKE_DIRECTORY
	COPY INSTALL DESTINATION
		FILE_PERMISSIONS
		DIRECTORY_PERMISSIONS
		NO_SOURCE_PERMISSIONS
		USE_SOURCE_PERMISSIONS
		FOLLOW_SYMLINK_CHAIN
		FILES_MATCHING
		PATTERN REGEX
		EXCLUDE PERMISSIONS
	SIZE
	READ_SYMLINK
	CREATE_LINK
		RESULT
		COPY_ON_ERROR
		SYMBOLIC
	# Path Conversion
	RELATIVE_PATH
	TO_CMAKE_PATH
	TO_NATIVE_PATH
	# Transfer
	DOWNLOAD
		INACTIVITY_TIMEOUT
		LOG
		SHOW_PROGRESS
		STATUS
		TIMEOUT
		USERPWD
		HTTPHEADER
		NETRC
			IGNORED OPTIONAL REQUIRED
		NETRC_FILE
		EXPECTED_HASH ALGO
		EXPECTED_MD5
		TLS_VERIFY
		TLS_CAINFO
	UPLOAD
	# Locking
	LOCK DIRECTORY RELEASE
		GUARD FUNCTION FILE PROCESS
		RESULT_VARIABLE
		TIMEOUT
	# Archiving
	ARCHIVE_CREATE OUTPUT
		PATHS
		FORMAT
		COMPRESSION
		MTIME
		VERBOSE
	ARCHIVE_EXTRACT INPUT
		DESTINATION
		PATTERNS
		LIST_ONLY
		VERBOSE
)
find_file()					# find_path()
find_library(NAMES_PER_DIR)	# find_path()
find_package(				# find_path()
	EXACT
	QUIET
	COMPONENTS
	OPTIONAL_COMPONENTS
	CONFIG NO_MODULE
	NO_POLICY_SCOPE
	NAMES
	CONFIGS
	NO_CMAKE_PACKAGE_REGISTRY
	NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
)
find_path(
	NAMES
	HINTS ENV
	PATHS ENV
	PATH_SUFFIXES
	DOC
	REQUIRED
	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
)
find_program(NAMES_PER_DIR)	# find_path()
get_cmake_property()
get_directory_property(DIRECTORY DEFINITION)
get_filename_component(CACHE
	DIRECTORY NAME EXT NAME_WE LAST_EXT NAME_WLE
	BASE_DIR ABSOLUTE REALPATH
	PROGRAM PROGRAM_ARGS)
get_property(GLOBAL
	DIRECTORY
	TARGET
	SOURCE
		DIRECTORY TARGET_DIRECTORY
	INSTALL
	TEST
	CACHE
	VARIABLE
	PROPERTY
	SET DEFINED BRIEF_DOCS FULL_DOCS)
include(OPTIONAL RESULT_VARIABLE NO_POLICY_SCOPE)
include_guard(DIRECTORY GLOBAL)
list(
	# Reading
	LENGTH
	GET
	JOIN
	SUBLIST
	# Search
	FIND
	# Modification
	APPEND
	FILTER INCLUDE EXCLUDE REGEX
	INSERT
	POP_BACK
	POP_FRONT
	PREPEND
	REMOVE_ITEM
	REMOVE_AT
	REMOVE_DUPLICATES
	TRANSFORM OUTPUT_VARIABLE
		AT FOR REGEX
	# Ordering
	REVERSE
	SORT
		COMPARE STRING FILE_BASENAME
		CASE SENSITIVE INSENSITIVE
		ORDER ASCENDING DESCENDING
)
mark_as_advanced(CLEAR FORCE)
math(EXPR OUTPUT_FORMAT HEXADECIMAL DECIMAL)
message(FATAL_ERROR SEND_ERROR WARNING AUTHOR_WARNING DEPRECATION NOTICE STATUS VERBOSE DEBUG TRACE
	CHECK_START CHECK_PASS CHECK_FAIL
)
option()
separate_arguments(UNIX_COMMAND WINDOWS_COMMAND NATIVE_COMMAND)
set(PARENT_SCOPE CACHE ENV FORCE
	BOOL FILEPATH PATH STRING INTERNAL)
set_directory_properties(PROPERTIES)
set_property(GLOBAL
	DIRECTORY
	TARGET
	SOURCE
		DIRECTORY TARGET_DIRECTORY
	INSTALL
	TEST
	CACHE
	APPEND APPEND_STRING
	PROPERTY)
site_name()
string(
	# Search and Replace
	FIND REVERSE
	REPLACE
	# Regular Expressions
	REGEX MATCH MATCHAL REPLACE
	# Manipulation
	APPEND
	PREPEND
	CONCAT
	JOIN
	TOLOWER
	TOUPPER
	LENGTH
	SUBSTRING
	STRIP
	GENEX_STRIP
	REPEAT
	# Comparison
	COMPARE LESS GREATER EQUAL NOTEQUAL LESS_EQUAL GREATER_EQUAL
	# Hashing
	MD5 SHA1 SHA224 SHA256 SHA384 SHA512 SHA3_224 SHA3_256 SHA3_384 SHA3_512
	# Generation
	ASCII
	CONFIGURE ESCAPE_QUOTES
	MAKE_C_IDENTIFIER
	RANDOM LENGTH ALPHABET RANDOM_SEED
	TIMESTAMP UTC
	UUID NAMESPACE NAME TYPE MD5 SHA1 UPPER)
unset(CACHE PARENT_SCOPE ENV)
variable_watch()

# Project Commands
add_compile_definitions()
add_compile_options()
add_custom_command( # Generating Files
	OUTPUT
	COMMAND ARGS
	MAIN_DEPENDENCY
	DEPENDS
	BYPRODUCTS
	IMPLICIT_DEPENDS
	WORKING_DIRECTORY
	COMMENT
	DEPFILE
	JOB_POOL
	VERBATIM
	APPEND
	USES_TERMINAL
	COMMAND_EXPAND_LISTS)
add_custom_command( # Build Events
	TARGET
	PRE_BUILD PRE_LINK POST_BUILD
	COMMAND ARGS
	BYPRODUCTS
	WORKING_DIRECTORY
	COMMENT
	VERBATIM
	USES_TERMINAL
	COMMAND_EXPAND_LISTS)
add_custom_target(ALL
	COMMAND
	DEPENDS
	BYPRODUCTS
	WORKING_DIRECTORY
	COMMENT
	JOB_POOL
	VERBATIM
	USES_TERMINAL
	COMMAND_EXPAND_LISTS
	SOURCES)
add_definitions()
add_dependencies()
add_executable(
	WIN32 MACOSX_BUNDLE EXCLUDE_FROM_ALL
	IMPORTED GLOBAL
	ALIAS)
add_library(
	# Normal Libraries
	STATIC SHARED MODULE
	EXCLUDE_FROM_ALL
	# Imported Libraries
	SHARED STATIC MODULE OBJECT UNKNOWN
	IMPORTED GLOBAL
	OBJECT
	ALIAS
	INTERFACE)
add_link_options()
add_subdirectory(EXCLUDE_FROM_ALL)
add_test(NAME COMMAND
	CONFIGURATIONS
	WORKING_DIRECTORY
	COMMAND_EXPAND_LISTS)
aux_source_directory()
build_command(CONFIGURATION TARGET PROJECT_NAME)
create_test_sourcelist(EXTRA_INCLUDE FUNCTION)
define_property(GLOBAL
	DIRECTORY
	TARGET
	SOURCE
	TEST
	VARIABLE
	CACHED_VARIABLE
	PROPERTY INHERITED
	BRIEF_DOCS
	FULL_DOCS)
enable_language(OPTIONAL)
enable_testing()
export(EXPORT NAMESPACE FILE
	TARGETS APPEND EXPORT_LINK_INTERFACE_LIBRARIES
	PACKAGE
	ANDROID_MK)
fltk_wrap_ui()
get_source_file_property(DIRECTORY TARGET_DIRECTORY)
get_target_property()
get_test_property()
include_directories(AFTER BEFORE SYSTEM)
include_external_msproject(TYPE GUID PLATFORM)
include_regular_expression()
install(
	# Installing Targets
	TARGETS
		EXPORT
		ARCHIVE LIBRARY RUNTIME OBJECTS FRAMEWORK BUNDLE PRIVATE_HEADER PUBLIC_HEADER RESOURCE
		DESTINATION
		PERMISSIONS
		CONFIGURATIONS
		COMPONENT
		NAMELINK_COMPONENT
		OPTIONAL
		EXCLUDE_FROM_ALL
		NAMELINK_ONLY NAMELINK_SKIP
		INCLUDES DESTINATION
	# Installing Files
	FILES PROGRAMS
		TYPE
		DESTINATION
		PERMISSIONS
		CONFIGURATIONS
		COMPONENT
		RENAME
		OPTIONAL
		EXCLUDE_FROM_ALL
	# Installing Directories
	DIRECTORY
		TYPE
		DESTINATION
		FILE_PERMISSIONS
		DIRECTORY_PERMISSIONS
		USE_SOURCE_PERMISSIONS
		OPTIONAL
		MESSAGE_NEVER
		CONFIGURATIONS
		COMPONENT
		EXCLUDE_FROM_ALL
		FILES_MATCHING
		PATTERN REGEX
		EXCLUDE
		PERMISSIONS
	# Custom Installation Logic
	SCRIPT CODE
		COMPONENT
		EXCLUDE_FROM_ALL
	# Installing Exports
	EXPORT
		DESTINATION
		NAMESPACE
		FILE
		PERMISSIONS
		CONFIGURATIONS
		EXPORT_LINK_INTERFACE_LIBRARIES
		COMPONENT
		EXCLUDE_FROM_ALL
	EXPORT_ANDROID_MK DESTINATION
)
link_directories(AFTER BEFORE)
link_libraries()
load_cache(READ_WITH_PREFIX
	EXCLUDE INCLUDE_INTERNALS)
project(VERSION DESCRIPTION HOMEPAGE_URL LANGUAGES)
remove_definitions()
set_source_files_properties(DIRECTORY TARGET_DIRECTORY PROPERTIES)
set_target_properties(PROPERTIES)
set_tests_properties(PROPERTIES)
source_group(FILES REGULAR_EXPRESSION
	TREE PREFIX FILES)
target_compile_definitions(INTERFACE PUBLIC PRIVATE)
target_compile_features()
target_compile_options(BEFORE)
target_include_directories(SYSTEM BEFORE)
target_link_directories(BEFORE)
target_link_libraries()
target_link_options(BEFORE)
target_precompile_headers(REUSE_FROM)
target_sources()
try_compile(
	# Try Compiling Whole Projects
	CMAKE_FLAGS OUTPUT_VARIABLE
	# Try Compiling Source Files
	SOURCES
	CMAKE_FLAGS
	COMPILE_DEFINITIONS
	LINK_OPTIONS
	LINK_LIBRARIES
	OUTPUT_VARIABLE
	COPY_FILE
	COPY_FILE_ERROR)
try_run(CMAKE_FLAGS
	COMPILE_DEFINITIONS
	LINK_OPTIONS
	LINK_LIBRARIES
	COMPILE_OUTPUT_VARIABLE
	RUN_OUTPUT_VARIABLE
	OUTPUT_VARIABLE
	ARGS)

# CTest Commands
ctest_build(BUILD
	APPEND
	CONFIGURATION
	FLAGS
	PROJECT_NAME
	TARGET
	NUMBER_ERRORS
	NUMBER_WARNINGS
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_configure(BUILD
	SOURCE
	APPEND
	OPTIONS
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_coverage(BUILD
	APPEND
	LABELS
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_empty_binary_directory()
ctest_memcheck(DEFECT_COUNT)	# ctest_test()
ctest_read_custom_files()
ctest_run_script(NEW_PROCESS RETURN_VALUE)
ctest_sleep()
ctest_start(GROUP APPEND QUIET)
ctest_submit(
	PARTS
	FILES
	CDASH_UPLOAD CDASH_UPLOAD_TYPE
	SUBMIT_URL
	BUILD_ID
	HTTPHEADER
	RETRY_COUNT
	RETRY_DELAY
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	QUIET)
ctest_test(BUILD
	APPEND
	START
	END
	STRIDE
	EXCLUDE
	INCLUDE
	EXCLUDE_LABEL
	INCLUDE_LABEL
	EXCLUDE_FIXTURE
	EXCLUDE_FIXTURE_SETUP
	EXCLUDE_FIXTURE_CLEANUP
	PARALLEL_LEVEL
	RESOURCE_SPEC_FILE
	TEST_LOAD
	SCHEDULE_RANDOM
	STOP_ON_FAILURE
	STOP_TIME
	RETURN_VALUE
	CAPTURE_CMAKE_ERROR
	REPEAT
	QUIET)
ctest_update(SOURCE RETURN_VALUE CAPTURE_CMAKE_ERROR QUIET)
ctest_upload(FILES QUIET CAPTURE_CMAKE_ERROR)

# Deprecated Commands

#! Generator Expressions	===================================================
# https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html
# Logical Operators
$<BOOL:string>
$<AND:conditions>
$<OR:conditions>
$<NOT:condition>
# String Comparisons
$<STREQUAL:string1, string2>
$<EQUAL:value1, value2>
$<IN_LIST:string, list>
$<VERSION_LESS:v1, v2>
$<VERSION_GREATER:v1, v2>
$<VERSION_EQUAL:v1, v2>
$<VERSION_LESS_EQUAL:v1, v2>
$<VERSION_GREATER_EQUAL:v1, v2>
# Variable Queries
$<TARGET_EXISTS:target>
$<CONFIG:cfg>
$<PLATFORM_ID:platform_ids>
$<C_COMPILER_ID:compiler_ids>
$<CXX_COMPILER_ID:compiler_ids>
$<CUDA_COMPILER_ID:compiler_ids>
$<OBJC_COMPILER_ID:compiler_ids>
$<OBJCXX_COMPILER_ID:compiler_ids>
$<Fortran_COMPILER_ID:compiler_ids>
$<C_COMPILER_VERSION:version>
$<CXX_COMPILER_VERSION:version>
$<CUDA_COMPILER_VERSION:version>
$<OBJC_COMPILER_VERSION:version>
$<OBJCXX_COMPILER_VERSION:version>
$<Fortran_COMPILER_VERSION:version>
$<TARGET_POLICY:policy>
$<COMPILE_FEATURES:features>
$<COMPILE_LANG_AND_ID:language, compiler_ids>
$<COMPILE_LANGUAGE:languages>
$<LINK_LANG_AND_ID:language,compiler_ids>
$<LINK_LANGUAGE:languages>
$<DEVICE_LINK:list>
$<HOST_LINK:list>
# Escaped Characters
$<ANGLE-R>
$<COMMA>
$<SEMICOLON>
# Conditional Expressions
$<IF:condition, true_string, false_string>
# String Transformations
$<JOIN:list, string>
$<REMOVE_DUPLICATES:list>
$<FILTER:list, INCLUDE | EXCLUDE, regex>
$<LOWER_CASE:string>
$<UPPER_CASE:string>
$<GENEX_EVAL:expr>
$<TARGET_GENEX_EVAL:tgt, expr>
# Variable Queries
$<CONFIG>
$<CONFIGURATION>
$<PLATFORM_ID>
$<C_COMPILER_ID>
$<CXX_COMPILER_ID>
$<CUDA_COMPILER_ID>
$<OBJC_COMPILER_ID>
$<OBJCXX_COMPILER_ID>
$<Fortran_COMPILER_ID>
$<C_COMPILER_VERSION>
$<CXX_COMPILER_VERSION>
$<CUDA_COMPILER_VERSION>
$<OBJC_COMPILER_VERSION>
$<OBJCXX_COMPILER_VERSION>
$<Fortran_COMPILER_VERSION>
$<COMPILE_LANGUAGE>
$<LINK_LANGUAGE>
# Target-Dependent Queries
$<TARGET_NAME_IF_EXISTS:tgt>
$<TARGET_FILE:tgt>
$<TARGET_FILE_BASE_NAME:tgt>
$<TARGET_FILE_PREFIX:tgt>
$<TARGET_FILE_SUFFIX:tgt>
$<TARGET_FILE_NAME:tgt>
$<TARGET_FILE_DIR:tgt>
$<TARGET_LINKER_FILE:tgt>
$<TARGET_LINKER_FILE_BASE_NAME:tgt>
$<TARGET_LINKER_FILE_PREFIX:tgt>
$<TARGET_LINKER_FILE_SUFFIX:tgt>
$<TARGET_LINKER_FILE_NAME:tgt>
$<TARGET_LINKER_FILE_DIR:tgt>
$<TARGET_SONAME_FILE:tgt>
$<TARGET_SONAME_FILE_NAME:tgt>
$<TARGET_SONAME_FILE_DIR:tgt>
$<TARGET_PDB_FILE:tgt>
$<TARGET_PDB_FILE_BASE_NAME:tgt>
$<TARGET_PDB_FILE_NAME:tgt>
$<TARGET_PDB_FILE_DIR:tgt>
$<TARGET_BUNDLE_DIR:tgt>
$<TARGET_BUNDLE_CONTENT_DIR:tgt>
$<TARGET_PROPERTY:tgt,prop>
$<TARGET_PROPERTY:prop>
$<INSTALL_PREFIX>
# Output-Related Expressions
$<TARGET_NAME:...>
$<LINK_ONLY:...>
$<INSTALL_INTERFACE:...>
$<BUILD_INTERFACE:...>
$<MAKE_C_IDENTIFIER:...>
$<TARGET_OBJECTS:objLib>
$<SHELL_PATH:...>

#! Properties		===========================================================
# cmake --help-property-list
# https://cmake.org/cmake/help/latest/manual/cmake-properties.7.html
# Properties of Global Scope
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
CMAKE_CXX_KNOWN_FEATURES
CMAKE_ROLE
DEBUG_CONFIGURATIONS
DISABLED_FEATURES
ECLIPSE_EXTRA_CPROJECT_CONTENTS
ECLIPSE_EXTRA_NATURES
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
JOB_POOLS
PACKAGES_FOUND
PACKAGES_NOT_FOUND
PREDEFINED_TARGETS_FOLDER
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

# Properties on Directories
ADDITIONAL_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
LINK_DIRECTORIES
LINK_OPTIONS
LISTFILE_STACK
MACROS
PARENT_DIRECTORY
RULE_LAUNCH_COMPILE
RULE_LAUNCH_CUSTOM
RULE_LAUNCH_LINK
SOURCE_DIR
SUBDIRECTORIES
TESTS
TEST_INCLUDE_FILES
VARIABLES
VS_GLOBAL_SECTION_POST_<section>
VS_GLOBAL_SECTION_PRE_<section>
VS_STARTUP_PROJECT

# Properties on Targets
ADDITIONAL_CLEAN_FILES
AIX_EXPORT_ALL_SYMBOLS
ALIAS_GLOBAL
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
AUTOGEN_PARALLEL
AUTOGEN_TARGET_DEPENDS
AUTOMOC
AUTOMOC_COMPILER_PREDEFINES
AUTOMOC_DEPEND_FILTERS
AUTOMOC_EXECUTABLE
AUTOMOC_MACRO_NAMES
AUTOMOC_MOC_OPTIONS
AUTOMOC_PATH_PREFIX
AUTORCC
AUTORCC_EXECUTABLE
AUTORCC_OPTIONS
AUTOUIC
AUTOUIC_EXECUTABLE
AUTOUIC_OPTIONS
AUTOUIC_SEARCH_PATHS
BINARY_DIR
BUILD_RPATH
BUILD_RPATH_USE_ORIGIN
BUILD_WITH_INSTALL_NAME_DIR
BUILD_WITH_INSTALL_RPATH
BUNDLE_EXTENSION
BUNDLE
C_EXTENSIONS
C_STANDARD
C_STANDARD_REQUIRED
COMMON_LANGUAGE_RUNTIME
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
CUDA_PTX_COMPILATION
CUDA_SEPARABLE_COMPILATION
CUDA_RESOLVE_DEVICE_SYMBOLS
CUDA_RUNTIME_LIBRARY
CUDA_EXTENSIONS
CUDA_STANDARD
CUDA_STANDARD_REQUIRED
CXX_EXTENSIONS
CXX_STANDARD
CXX_STANDARD_REQUIRED
DEBUG_POSTFIX
DEFINE_SYMBOL
DEPLOYMENT_REMOTE_DIRECTORY
DEPLOYMENT_ADDITIONAL_FILES
DEPRECATION
DISABLE_PRECOMPILE_HEADERS
DOTNET_TARGET_FRAMEWORK
DOTNET_TARGET_FRAMEWORK_VERSION
EchoString
ENABLE_EXPORTS
EXCLUDE_FROM_ALL
EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
EXCLUDE_FROM_DEFAULT_BUILD
EXPORT_NAME
EXPORT_PROPERTIES
FOLDER
Fortran_FORMAT
Fortran_MODULE_DIRECTORY
Fortran_PREPROCESS
FRAMEWORK
FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>
FRAMEWORK_VERSION
GENERATOR_FILE_NAME
GHS_INTEGRITY_APP
GHS_NO_SOURCE_GROUP_FILE
GNUtoMS
HAS_CXX
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
IMPORTED_COMMON_LANGUAGE_RUNTIME
IMPORTED_CONFIGURATIONS
IMPORTED_GLOBAL
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
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
INTERFACE_LINK_DIRECTORIES
INTERFACE_LINK_LIBRARIES
INTERFACE_LINK_OPTIONS
INTERFACE_PRECOMPILE_HEADERS
INTERFACE_POSITION_INDEPENDENT_CODE
INTERFACE_SOURCES
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
INTERPROCEDURAL_OPTIMIZATION
IOS_INSTALL_COMBINED
JOB_POOL_COMPILE
JOB_POOL_LINK
JOB_POOL_PRECOMPILE_HEADER
LABELS
<LANG>_CLANG_TIDY
<LANG>_COMPILER_LAUNCHER
<LANG>_CPPCHECK
<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
LINKER_LANGUAGE
LINK_DIRECTORIES
LINK_FLAGS_<CONFIG>
LINK_FLAGS
LINK_INTERFACE_LIBRARIES_<CONFIG>
LINK_INTERFACE_LIBRARIES
LINK_INTERFACE_MULTIPLICITY_<CONFIG>
LINK_INTERFACE_MULTIPLICITY
LINK_LIBRARIES
LINK_OPTIONS
LINK_SEARCH_END_STATIC
LINK_SEARCH_START_STATIC
LINK_WHAT_YOU_USE
LOCATION_<CONFIG>
LOCATION
MACHO_COMPATIBILITY_VERSION
MACHO_CURRENT_VERSION
MACOSX_BUNDLE_INFO_PLIST
MACOSX_BUNDLE
MACOSX_FRAMEWORK_INFO_PLIST
MACOSX_RPATH
MANUALLY_ADDED_DEPENDENCIES
MAP_IMPORTED_CONFIG_<CONFIG>
MSVC_RUNTIME_LIBRARY
NAME
NO_SONAME
NO_SYSTEM_FROM_IMPORTED
OBJC_EXTENSIONS
OBJC_STANDARD
OBJC_STANDARD_REQUIRED
OBJCXX_EXTENSIONS
OBJCXX_STANDARD
OBJCXX_STANDARD_REQUIRED
OSX_ARCHITECTURES_<CONFIG>
OSX_ARCHITECTURES
OUTPUT_NAME_<CONFIG>
OUTPUT_NAME
PCH_WARN_INVALID
PDB_NAME_<CONFIG>
PDB_NAME
PDB_OUTPUT_DIRECTORY_<CONFIG>
PDB_OUTPUT_DIRECTORY
POSITION_INDEPENDENT_CODE
PRECOMPILE_HEADERS
PRECOMPILE_HEADERS_REUSE_FROM
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
SUFFIX
Swift_DEPENDENCIES_FILE
Swift_LANGUAGE_VERSION
Swift_MODULE_DIRECTORY
Swift_MODULE_NAME
TYPE
UNITY_BUILD
UNITY_BUILD_BATCH_SIZE
UNITY_BUILD_CODE_AFTER_INCLUDE
UNITY_BUILD_CODE_BEFORE_INCLUDE
UNITY_BUILD_MODE
VERSION
VISIBILITY_INLINES_HIDDEN
VS_CONFIGURATION_TYPE
VS_DEBUGGER_COMMAND
VS_DEBUGGER_COMMAND_ARGUMENTS
VS_DEBUGGER_ENVIRONMENT
VS_DEBUGGER_WORKING_DIRECTORY
VS_DESKTOP_EXTENSIONS_VERSION
VS_DOTNET_REFERENCE_<refname>
VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>
VS_DOTNET_REFERENCES
VS_DOTNET_REFERENCES_COPY_LOCAL
VS_DOTNET_TARGET_FRAMEWORK_VERSION
VS_DOTNET_DOCUMENTATION_FILE
VS_DPI_AWARE
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
VS_KEYWORD
VS_MOBILE_EXTENSIONS_VERSION
VS_NO_SOLUTION_DEPLOY
VS_PACKAGE_REFERENCES
VS_PLATFORM_TOOLSET
VS_PROJECT_IMPORT
VS_SCC_AUXPATH
VS_SCC_LOCALPATH
VS_SCC_PROJECTNAME
VS_SCC_PROVIDER
VS_SDK_REFERENCES
VS_SOLUTION_DEPLOY
VS_SOURCE_SETTINGS_<tool>
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
XCODE_PRODUCT_TYPE
XCODE_SCHEME_ADDRESS_SANITIZER
XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
XCODE_SCHEME_ARGUMENTS
XCODE_SCHEME_DEBUG_AS_ROOT
XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
XCODE_SCHEME_ENVIRONMENT
XCODE_SCHEME_EXECUTABLE
XCODE_SCHEME_GUARD_MALLOC
XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
XCODE_SCHEME_MALLOC_GUARD_EDGES
XCODE_SCHEME_MALLOC_SCRIBBLE
XCODE_SCHEME_MALLOC_STACK
XCODE_SCHEME_THREAD_SANITIZER
XCODE_SCHEME_THREAD_SANITIZER_STOP
XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
XCODE_SCHEME_WORKING_DIRECTORY
XCODE_SCHEME_ZOMBIE_OBJECTS
XCTEST

# Expaned
<LANG>_CLANG_TIDY
	C_CLANG_TIDY
	CXX_CLANG_TIDY
<LANG>_COMPILER_LAUNCHER
	C_COMPILER_LAUNCHER
	CXX_COMPILER_LAUNCHER
	CUDA_COMPILER_LAUNCHER
	Fortran_COMPILER_LAUNCHER
<LANG>_CPPCHECK
	C_CPPCHECK
	CXX_CPPCHECK
<LANG>_CPPLINT
	C_CPPLINT
	CXX_CPPLINT
<LANG>_INCLUDE_WHAT_YOU_USE
	C_INCLUDE_WHAT_YOU_USE
	CXX_INCLUDE_WHAT_YOU_USE

# Properties on Tests
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
PROCESSORS
REQUIRED_FILES
RESOURCE_GROUPS
RESOURCE_LOCK
RUN_SERIAL
SKIP_REGULAR_EXPRESSION
SKIP_RETURN_CODE
TIMEOUT
TIMEOUT_AFTER_MATCH
WILL_FAIL
WORKING_DIRECTORY

# Properties on Source Files
ABSTRACT
AUTORCC_OPTIONS
AUTOUIC_OPTIONS
COMPILE_DEFINITIONS
COMPILE_FLAGS
COMPILE_OPTIONS
EXTERNAL_OBJECT
Fortran_FORMAT
Fortran_PREPROCESS
GENERATED
HEADER_FILE_ONLY
INCLUDE_DIRECTORIES
KEEP_EXTENSION
LABELS
LANGUAGE
LOCATION
MACOSX_PACKAGE_LOCATION
OBJECT_DEPENDS
OBJECT_OUTPUTS
SKIP_AUTOGEN
SKIP_AUTOMOC
SKIP_AUTORCC
SKIP_AUTOUIC
SKIP_PRECOMPILE_HEADERS
SKIP_UNITY_BUILD_INCLUSION
Swift_DEPENDENCIES_FILE
Swift_DIAGNOSTICS_FILE
SYMBOLIC
UNITY_GROUP
VS_COPY_TO_OUT_DIR
VS_CSHARP_<tagname>
VS_DEPLOYMENT_CONTENT
VS_DEPLOYMENT_LOCATION
VS_INCLUDE_IN_VSIX
VS_RESOURCE_GENERATOR
VS_SETTINGS
VS_SHADER_DISABLE_OPTIMIZATIONS
VS_SHADER_ENABLE_DEBUG
VS_SHADER_ENTRYPOINT
VS_SHADER_FLAGS
VS_SHADER_MODEL
VS_SHADER_OBJECT_FILE_NAME
VS_SHADER_OUTPUT_HEADER_FILE
VS_SHADER_TYPE
VS_SHADER_VARIABLE_NAME
VS_TOOL_OVERRIDE
VS_XAML_TYPE
WRAP_EXCLUDE
XCODE_EXPLICIT_FILE_TYPE
XCODE_FILE_ATTRIBUTES
XCODE_LAST_KNOWN_FILE_TYPE

# Properties on Cache Entries
ADVANCED
HELPSTRING
MODIFIED
STRINGS
TYPE
VALUE

# Properties on Installed Files
CPACK_DESKTOP_SHORTCUTS
CPACK_NEVER_OVERWRITE
CPACK_PERMANENT
CPACK_START_MENU_SHORTCUTS
CPACK_STARTUP_SHORTCUTS
CPACK_WIX_ACL

# Deprecated Properties on Directories
# Deprecated Properties on Targets
# Deprecated Properties on Source Files

# Query key for cmake_host_system_information()
NUMBER_OF_LOGICAL_CORES
NUMBER_OF_PHYSICAL_CORES
HOSTNAME
FQDN
TOTAL_VIRTUAL_MEMORY
AVAILABLE_VIRTUAL_MEMORY
TOTAL_PHYSICAL_MEMORY
AVAILABLE_PHYSICAL_MEMORY
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

#! Variables		===========================================================
# cmake --help-variable-list
# https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html
# Variables that Provide Information
CMAKE_AR
CMAKE_ARGC
CMAKE_ARGV0
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_CPACK_COMMAND
CMAKE_CROSSCOMPILING
CMAKE_CROSSCOMPILING_EMULATOR
CMAKE_CTEST_COMMAND
CMAKE_CURRENT_BINARY_DIR
CMAKE_CURRENT_FUNCTION
CMAKE_CURRENT_FUNCTION_LIST_DIR
CMAKE_CURRENT_FUNCTION_LIST_FILE
CMAKE_CURRENT_FUNCTION_LIST_LINE
CMAKE_CURRENT_LIST_DIR
CMAKE_CURRENT_LIST_FILE
CMAKE_CURRENT_LIST_LINE
CMAKE_CURRENT_SOURCE_DIR
CMAKE_DEBUG_TARGET_PROPERTIES
CMAKE_DIRECTORY_LABELS
CMAKE_DL_LIBS
CMAKE_DOTNET_TARGET_FRAMEWORK
CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION
CMAKE_EDIT_COMMAND
CMAKE_EXECUTABLE_SUFFIX
CMAKE_EXTRA_GENERATOR
CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
CMAKE_FIND_DEBUG_MODE
CMAKE_FIND_PACKAGE_NAME
CMAKE_FIND_PACKAGE_SORT_DIRECTION
CMAKE_FIND_PACKAGE_SORT_ORDER
CMAKE_GENERATOR
CMAKE_GENERATOR_INSTANCE
CMAKE_GENERATOR_PLATFORM
CMAKE_GENERATOR_TOOLSET
CMAKE_IMPORT_LIBRARY_PREFIX
CMAKE_IMPORT_LIBRARY_SUFFIX
CMAKE_JOB_POOL_COMPILE
CMAKE_JOB_POOL_LINK
CMAKE_JOB_POOL_PRECOMPILE_HEADER
CMAKE_JOB_POOLS
CMAKE_<LANG>_COMPILER_AR
CMAKE_<LANG>_COMPILER_RANLIB
CMAKE_<LANG>_LINK_LIBRARY_SUFFIX
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_MINIMUM_REQUIRED_VERSION
CMAKE_MINOR_VERSION
CMAKE_NETRC
CMAKE_NETRC_FILE
CMAKE_PARENT_LIST_FILE
CMAKE_PATCH_VERSION
CMAKE_PROJECT_DESCRIPTION
CMAKE_PROJECT_HOMEPAGE_URL
CMAKE_PROJECT_NAME
CMAKE_PROJECT_VERSION
CMAKE_PROJECT_VERSION_MAJOR
CMAKE_PROJECT_VERSION_MINOR
CMAKE_PROJECT_VERSION_PATCH
CMAKE_PROJECT_VERSION_TWEAK
CMAKE_RANLIB
CMAKE_ROOT
CMAKE_RULE_MESSAGES
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
CMAKE_Swift_NUM_THREADS
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_NAME_DEFAULT
CMAKE_VS_PLATFORM_TOOLSET
CMAKE_VS_PLATFORM_TOOLSET_CUDA
CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR
CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
CMAKE_VS_PLATFORM_TOOLSET_VERSION
CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
CMAKE_XCODE_GENERATE_SCHEME
CMAKE_XCODE_PLATFORM_TOOLSET
<PROJECT-NAME>_BINARY_DIR
<PROJECT-NAME>_DESCRIPTION
<PROJECT-NAME>_HOMEPAGE_URL
<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
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
CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES
CMAKE_CODELITE_USE_TARGETS
CMAKE_COLOR_MAKEFILE
CMAKE_CONFIGURATION_TYPES
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
CMAKE_ECLIPSE_VERSION
CMAKE_ERROR_DEPRECATED
CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
CMAKE_EXECUTE_PROCESS_COMMAND_ECHO
CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_PACKAGE_REGISTRY
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
CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
CMAKE_FIND_PACKAGE_PREFER_CONFIG
CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS
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
CMAKE_FIND_USE_CMAKE_PATH
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
CMAKE_FIND_USE_PACKAGE_REGISTRY
CMAKE_FIND_USE_PACKAGE_ROOT_PATH
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
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
CMAKE_INSTALL_MESSAGE
CMAKE_INSTALL_PREFIX
CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
CMAKE_LIBRARY_PATH
CMAKE_LINK_DIRECTORIES_BEFORE
CMAKE_MFC_FLAG
CMAKE_MAXIMUM_RECURSION_DEPTH
CMAKE_MESSAGE_CONTEXT
CMAKE_MESSAGE_CONTEXT_SHOW
CMAKE_MESSAGE_INDENT
CMAKE_MESSAGE_LOG_LEVEL
CMAKE_MODULE_PATH
CMAKE_POLICY_DEFAULT_CMP<NNNN>
CMAKE_POLICY_WARNING_CMP<NNNN>
CMAKE_PREFIX_PATH
CMAKE_PROGRAM_PATH
CMAKE_PROJECT_INCLUDE
CMAKE_PROJECT_INCLUDE_BEFORE
CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE
CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
CMAKE_STAGING_PREFIX
CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS
CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE
CMAKE_SUPPRESS_REGENERATION
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
CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER
CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
CMAKE_XCODE_SCHEME_ENVIRONMENT
CMAKE_XCODE_SCHEME_GUARD_MALLOC
CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE
CMAKE_XCODE_SCHEME_MALLOC_STACK
CMAKE_XCODE_SCHEME_THREAD_SANITIZER
CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP
CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER
CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP
CMAKE_XCODE_SCHEME_WORKING_DIRECTORY
CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS
<PackageName>_ROOT

# 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
GHS-MULTI
IOS
MINGW
MSVC
MSVC10
MSVC11
MSVC12
MSVC14
MSVC60
MSVC70
MSVC71
MSVC80
MSVC90
MSVC_IDE
MSVC_TOOLSET_VERSION
MSVC_VERSION
MSYS
UNIX
WIN32
WINCE
WINDOWS_PHONE
WINDOWS_STORE
XCODE
XCODE_VERSION

# Variables that Control the Build
CMAKE_AIX_EXPORT_ALL_SYMBOLS
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
CMAKE_AUTOGEN_PARALLEL
CMAKE_AUTOGEN_VERBOSE
CMAKE_AUTOMOC
CMAKE_AUTOMOC_COMPILER_PREDEFINES
CMAKE_AUTOMOC_DEPEND_FILTERS
CMAKE_AUTOMOC_MACRO_NAMES
CMAKE_AUTOMOC_MOC_OPTIONS
CMAKE_AUTOMOC_PATH_PREFIX
CMAKE_AUTORCC
CMAKE_AUTORCC_OPTIONS
CMAKE_AUTOUIC
CMAKE_AUTOUIC_OPTIONS
CMAKE_AUTOUIC_SEARCH_PATHS
CMAKE_BUILD_RPATH
CMAKE_BUILD_RPATH_USE_ORIGIN
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
CMAKE_CTEST_ARGUMENTS
CMAKE_CUDA_SEPARABLE_COMPILATION
CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
CMAKE_CUDA_RUNTIME_LIBRARY
CMAKE_DEBUG_POSTFIX
CMAKE_DEFAULT_BUILD_TYPE
CMAKE_DEFAULT_CONFIGS
CMAKE_DISABLE_PRECOMPILE_HEADERS
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
CMAKE_FRAMEWORK
CMAKE_FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>
CMAKE_Fortran_FORMAT
CMAKE_Fortran_MODULE_DIRECTORY
CMAKE_Fortran_PREPROCESS
CMAKE_GHS_NO_SOURCE_GROUP_FILE
CMAKE_GLOBAL_AUTOGEN_TARGET
CMAKE_GLOBAL_AUTOGEN_TARGET_NAME
CMAKE_GLOBAL_AUTORCC_TARGET
CMAKE_GLOBAL_AUTORCC_TARGET_NAME
CMAKE_GNUtoMS
CMAKE_INCLUDE_CURRENT_DIR
CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
CMAKE_INSTALL_NAME_DIR
CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH
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
CMAKE_<LANG>_CPPLINT
CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE
CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG
CMAKE_<LANG>_LINK_LIBRARY_FLAG
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
CMAKE_MSVC_RUNTIME_LIBRARY
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
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
CMAKE_UNITY_BUILD_BATCH_SIZE
CMAKE_USE_RELATIVE_PATHS
CMAKE_VISIBILITY_INLINES_HIDDEN
CMAKE_VS_GLOBALS
CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD
CMAKE_VS_JUST_MY_CODE_DEBUGGING
CMAKE_VS_SDK_EXCLUDE_DIRECTORIES
CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES
CMAKE_VS_SDK_INCLUDE_DIRECTORIES
CMAKE_VS_SDK_LIBRARY_DIRECTORIES
CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES
CMAKE_VS_SDK_REFERENCE_DIRECTORIES
CMAKE_VS_SDK_SOURCE_DIRECTORIES
CMAKE_VS_WINRT_BY_DEFAULT
CMAKE_WIN32_EXECUTABLE
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
CMAKE_XCODE_ATTRIBUTE_<an-attribute>
EXECUTABLE_OUTPUT_PATH
LIBRARY_OUTPUT_PATH

# Expaned
CMAKE_<LANG>_CLANG_TIDY
	CMAKE_C_CLANG_TIDY
	CMAKE_CXX_CLANG_TIDY
CMAKE_<LANG>_COMPILER_LAUNCHER
	CMAKE_C_COMPILER_LAUNCHER
	CMAKE_CXX_COMPILER_LAUNCHER
	CMAKE_Fortran_COMPILER_LAUNCHER
	CMAKE_CUDA_COMPILER_LAUNCHER
CMAKE_<LANG>_CPPCHECK
	CMAKE_C_CPPCHECK
	CMAKE_CXX_CPPCHECK
CMAKE_<LANG>_CPPLINT
	CMAKE_C_CPPLINT
	CMAKE_CXX_CPPLINT
CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE
	CMAKE_C_INCLUDE_WHAT_YOU_USE
	CMAKE_CXX_INCLUDE_WHAT_YOU_USE

# Variables for Languages
CMAKE_COMPILER_IS_GNUCC
CMAKE_COMPILER_IS_GNUCXX
CMAKE_COMPILER_IS_GNUG77
CMAKE_CUDA_ARCHITECTURES
CMAKE_CUDA_COMPILE_FEATURES
CMAKE_CUDA_HOST_COMPILER
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_PREDEFINES_COMMAND
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_<CONFIG>
CMAKE_<LANG>_FLAGS_<CONFIG>_INIT
CMAKE_<LANG>_FLAGS_DEBUG
CMAKE_<LANG>_FLAGS_DEBUG_INIT
CMAKE_<LANG>_FLAGS_INIT
CMAKE_<LANG>_FLAGS_MINSIZEREL
CMAKE_<LANG>_FLAGS_MINSIZEREL_INIT
CMAKE_<LANG>_FLAGS_RELEASE
CMAKE_<LANG>_FLAGS_RELEASE_INIT
CMAKE_<LANG>_FLAGS_RELWITHDEBINFO
CMAKE_<LANG>_FLAGS_RELWITHDEBINFO_INIT
CMAKE_<LANG>_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
CMAKE_<LANG>_LINKER_WRAPPER_FLAG_SEP
CMAKE_<LANG>_LINK_EXECUTABLE
CMAKE_<LANG>_OUTPUT_EXTENSION
CMAKE_<LANG>_SIMULATE_ID
CMAKE_<LANG>_SIMULATE_VERSION
CMAKE_<LANG>_SIZEOF_DATA_PTR
CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS
CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES
CMAKE_<LANG>_STANDARD_LIBRARIES
CMAKE_OBJC_EXTENSIONS
CMAKE_OBJC_STANDARD
CMAKE_OBJC_STANDARD_REQUIRED
CMAKE_OBJCXX_EXTENSIONS
CMAKE_OBJCXX_STANDARD
CMAKE_OBJCXX_STANDARD_REQUIRED
CMAKE_Swift_LANGUAGE_VERSION
CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>

# Expaned
CMAKE_<LANG>_FLAGS
	CMAKE_C_FLAGS
	CMAKE_CXX_FLAGS
	CMAKE_CUDA_FLAGS
	CMAKE_Fortran_FLAGS
CMAKE_<LANG>_SIZEOF_DATA_PTR
	CMAKE_C_SIZEOF_DATA_PTR
	CMAKE_CXX_SIZEOF_DATA_PTR

# 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_TESTS_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
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
CTEST_RUN_CURRENT_SCRIPT
CTEST_SCP_COMMAND
CTEST_SITE
CTEST_SUBMIT_URL
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
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
CPACK_PACKAGING_INSTALL_PREFIX
CPACK_SET_DESTDIR
CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION

# Variables specific to cpack generators
# https://cmake.org/cmake/help/latest/manual/cpack-generators.7.html

# Variable Expansion Operators
CACHE
ENV

# 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

# Environment Variables
# https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html
# Environment Variables that Change Behavior
CMAKE_PREFIX_PATH
# Environment Variables that Control the Build
CMAKE_BUILD_PARALLEL_LEVEL
CMAKE_CONFIG_TYPE
CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_GENERATOR
CMAKE_GENERATOR_INSTANCE
CMAKE_GENERATOR_PLATFORM
CMAKE_GENERATOR_TOOLSET
CMAKE_<LANG>_COMPILER_LAUNCHER
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
	ASM_NASM
	ASM_MASM
	ASM-ATT
ASM<DIALECT>FLAGS
	ASMFLAGS
	ASM_NASMFLAGS
	ASM_MASMFLAGS
	ASM-ATTFLAGS
CC
CFLAGS
CSFLAGS
CUDACXX
CUDAFLAGS
CUDAHOSTCXX
CXX
CXXFLAGS
FC
FFLAGS
OBJC
OBJCXX
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

# Environment Variables for the CMake curses interface
CCMAKE_COLORS

#! Values			===========================================================
# Build variant
Debug MinSizeRel Release RelWithDebInfo
# if()
ON YES TRUE OFF NO FALSE IGNORE NOTFOUND
# NEWLINE_STYLE for configure_file()
UNIX DOS WIN32 LF CRLF
# ENCODING for execute_process()
NONE AUTO ANSI OEM UTF8 UTF-8
# ENCODING for file()
UTF-16LE UTF-16BE UTF-32LE UTF-32BE
# PERMISSIONS for install()
OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_WRITE GROUP_EXECUTE
WORLD_READ WORLD_WRITE WORLD_EXECUTE
SETUID SETGID
# TYPE for install()
BIN SBIN LIB INCLUDE SYSCONF SHAREDSTATE LOCALSTATE RUNSTATE DATA INFO LOCALE MAN DOC
# PARTS for ctest_submit()
Start Update Configure Build Test Coverage MemCheck Notes ExtraFiles Upload Submit Done
