<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
  This file is part of KDE's kate project.

  Copyright 2004 Alexander Neundorf (neundorf@kde.org)
  Copyright 2005 Dominik Haumann (dhdev@gmx.de)
  Copyright 2007,2008,2013,2014 Matthew Woehlke (mw_triad@users.sourceforge.net)
  Copyright 2013,2014 Alex Turbov (i.zaufi@gmail.com)

 **********************************************************************
 * This library is free software; you can redistribute it and/or      *
 * modify it under the terms of the GNU Lesser General Public         *
 * License as published by the Free Software Foundation; either       *
 * version 2 of the License, or (at your option) any later version.   *
 *                                                                    *
 * This library is distributed in the hope that it will be useful,    *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  *
 * Lesser General Public License for more details.                    *
 *                                                                    *
 * You should have received a copy of the GNU Lesser General Public   *
 * License along with this library; if not, write to the              *
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,   *
 * Boston, MA  02110-1301, USA.                                       *
 **********************************************************************
 -->
<!-- generated for "cmake version 2.8.12.1" -->
<language
    name="CMake"
    version="1.30"
    kateversion="3.4"
    section="Other"
    extensions="CMakeLists.txt;*.cmake;*.cmake.in"
    style="CMake"
    mimetype="text/x-cmake"
    author="Alexander Neundorf (neundorf@kde.org)"
    license="LGPL"
  >
  <highlighting>

    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
    <list name = "commands">
      <!-- generated list -->
      <item> add_compile_options </item>
      <item> add_custom_command </item>
      <item> add_custom_target </item>
      <item> add_definitions </item>
      <item> add_dependencies </item>
      <item> add_executable </item>
      <item> add_library </item>
      <item> add_subdirectory </item>
      <item> add_test </item>
      <item> aux_source_directory </item>
      <item> break </item>
      <item> build_command </item>
      <item> build_name </item>
      <item> cmake_host_system_information </item>
      <item> cmake_minimum_required </item>
      <item> cmake_policy </item>
      <item> configure_file </item>
      <item> create_test_sourcelist </item>
      <item> define_property </item>
      <item> else </item>
      <item> elseif </item>
      <item> enable_language </item>
      <item> enable_testing </item>
      <item> endforeach </item>
      <item> endfunction </item>
      <item> endif </item>
      <item> endmacro </item>
      <item> endwhile </item>
      <item> exec_program </item>
      <item> execute_process </item>
      <item> export </item>
      <item> export_library_dependencies </item>
      <item> file </item>
      <item> find_file </item>
      <item> find_library </item>
      <item> find_package </item>
      <item> find_path </item>
      <item> find_program </item>
      <item> fltk_wrap_ui </item>
      <item> foreach </item>
      <item> function </item>
      <item> get_cmake_property </item>
      <item> get_directory_property </item>
      <item> get_filename_component </item>
      <item> get_property </item>
      <item> get_source_file_property </item>
      <item> get_target_property </item>
      <item> get_test_property </item>
      <item> if </item>
      <item> include </item>
      <item> include_directories </item>
      <item> include_external_msproject </item>
      <item> include_regular_expression </item>
      <item> install </item>
      <item> install_files </item>
      <item> install_programs </item>
      <item> install_targets </item>
      <item> link_directories </item>
      <item> link_libraries </item>
      <item> list </item>
      <item> load_cache </item>
      <item> load_command </item>
      <item> macro </item>
      <item> make_directory </item>
      <item> mark_as_advanced </item>
      <item> math </item>
      <item> message </item>
      <item> option </item>
      <item> output_required_files </item>
      <item> project </item>
      <item> qt_wrap_cpp </item>
      <item> qt_wrap_ui </item>
      <item> remove </item>
      <item> remove_definitions </item>
      <item> return </item>
      <item> separate_arguments </item>
      <item> set </item>
      <item> set_directory_properties </item>
      <item> set_property </item>
      <item> set_source_files_properties </item>
      <item> set_target_properties </item>
      <item> set_tests_properties </item>
      <item> site_name </item>
      <item> source_group </item>
      <item> string </item>
      <item> subdir_depends </item>
      <item> subdirs </item>
      <item> target_compile_definitions </item>
      <item> target_compile_options </item>
      <item> target_include_directories </item>
      <item> target_link_libraries </item>
      <item> try_compile </item>
      <item> try_run </item>
      <item> unset </item>
      <item> use_mangled_mesa </item>
      <item> utility_source </item>
      <item> variable_requires </item>
      <item> variable_watch </item>
      <item> while </item>
      <item> write_file </item>
    </list>

    <list name="itkvtk_commands">
      <item> itk_wrap_tcl </item>
      <item> vtk_make_instantiator </item>
      <item> vtk_wrap_java </item>
      <item> vtk_wrap_python </item>
      <item> vtk_wrap_tcl </item>
    </list>

    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
    <list name="special_args">
      <!-- generated list -->
      <item> AFTER </item>
      <item> ALIAS </item>
      <item> ALL </item>
      <item> ALPHABET </item>
      <item> AND </item>
      <item> APPEND </item>
      <item> APPEND_STRING </item>
      <item> ARCHIVE </item>
      <item> ARGS </item>
      <item> ASCII </item>
      <item> AUTHOR_WARNING </item>
      <item> BEFORE </item>
      <item> BRIEF_DOCS </item>
      <item> BUNDLE </item>
      <item> CACHE </item>
      <item> CACHED_VARIABLE </item>
      <item> CLEAR </item>
      <item> CMAKE_FIND_ROOT_PATH_BOTH </item>
      <item> CMAKE_FLAGS </item>
      <item> CODE </item>
      <item> COMMAND </item>
      <item> COMMAND_NAME </item>
      <item> COMMENT </item>
      <item> COMPARE </item>
      <item> COMPILE_DEFINITIONS </item>
      <item> COMPILE_OUTPUT_VARIABLE </item>
      <item> COMPILE_RESULT_VAR </item>
      <item> COMPONENT </item>
      <item> COMPONENTS </item>
      <item> CONDITION </item>
      <item> CONFIG </item>
      <item> CONFIGS </item>
      <item> CONFIGURATION </item>
      <item> CONFIGURATIONS </item>
      <item> CONFIGURE </item>
      <item> CONTENT </item>
      <item> COPY </item>
      <item> COPYONLY </item>
      <item> COPY_FILE </item>
      <item> COPY_FILE_ERROR </item>
      <item> CRLF </item>
      <item> DEFINED </item>
      <item> DEFINITION </item>
      <item> DEPENDS </item>
      <item> DESTINATION </item>
      <item> DIRECTORY </item>
      <item> DIRECTORY_PERMISSIONS </item>
      <item> DOC </item>
      <item> DOS </item>
      <item> DOWNLOAD </item>
      <item> ENV </item>
      <item> EQUAL </item>
      <item> ERROR_FILE </item>
      <item> ERROR_QUIET </item>
      <item> ERROR_STRIP_TRAILING_WHITESPACE </item>
      <item> ERROR_VARIABLE </item>
      <item> ESCAPE_QUOTES </item>
      <item> EXACT </item>
      <item> EXCLUDE </item>
      <item> EXCLUDE_FROM_ALL </item>
      <item> EXISTS </item>
      <item> EXPECTED_HASH </item>
      <item> EXPECTED_MD5 </item>
      <item> EXPORT </item>
      <item> EXPORT_LINK_INTERFACE_LIBRARIES </item>
      <item> EXPR </item>
      <item> EXTRA_INCLUDE </item>
      <item> FATAL_ERROR </item>
      <item> FILE </item>
      <item> FILES </item>
      <item> FILES_MATCHING </item>
      <item> FILE_PERMISSIONS </item>
      <item> FIND </item>
      <item> FOLLOW_SYMLINKS </item>
      <item> FORCE </item>
      <item> FRAMEWORK </item>
      <item> FULL_DOCS </item>
      <item> FUNCTION </item>
      <item> GENERATE </item>
      <item> GET </item>
      <item> GLOB </item>
      <item> GLOBAL </item>
      <item> GLOB_RECURSE </item>
      <item> GREATER </item>
      <item> GROUP_EXECUTE </item>
      <item> GROUP_READ </item>
      <item> GUID </item>
      <item> HEX </item>
      <item> HINTS </item>
      <item> IMPLICIT_DEPENDS </item>
      <item> IMPORTED </item>
      <item> IN </item>
      <item> INACTIVITY_TIMEOUT </item>
      <item> INCLUDES </item>
      <item> INCLUDE_INTERNALS </item>
      <item> INHERITED </item>
      <item> INPUT </item>
      <item> INPUT_FILE </item>
      <item> INSERT </item>
      <item> INSTALL </item>
      <item> INTERFACE </item>
      <item> IS_ABSOLUTE </item>
      <item> IS_DIRECTORY </item>
      <item> IS_NEWER_THAN </item>
      <item> IS_SYMLINK </item>
      <item> ITEMS </item>
      <item> LENGTH </item>
      <item> LENGTH_MAXIMUM </item>
      <item> LENGTH_MINIMUM </item>
      <item> LESS </item>
      <item> LF </item>
      <item> LIBRARY </item>
      <item> LIMIT </item>
      <item> LIMIT_COUNT </item>
      <item> LIMIT_INPUT </item>
      <item> LIMIT_OUTPUT </item>
      <item> LINK_INTERFACE_LIBRARIES </item>
      <item> LINK_LIBRARIES </item>
      <item> LINK_PRIVATE </item>
      <item> LINK_PUBLIC </item>
      <item> LISTS </item>
      <item> LOG </item>
      <item> MACOSX_BUNDLE </item>
      <item> MAIN_DEPENDENCY </item>
      <item> MAKE_C_IDENTIFIER </item>
      <item> MAKE_DIRECTORY </item>
      <item> MATCH </item>
      <item> MATCHALL </item>
      <item> MATCHES </item>
      <item> MD5 </item>
      <item> MODULE </item>
      <item> NAME </item>
      <item> NAMELINK_ONLY </item>
      <item> NAMELINK_SKIP </item>
      <item> NAMES </item>
      <item> NAMESPACE </item>
      <item> NAMES_PER_DIR </item>
      <item> NEW </item>
      <item> NEWLINE_CONSUME </item>
      <item> NEWLINE_STYLE </item>
      <item> NOT </item>
      <item> NOTEQUAL </item>
      <item> NO_CMAKE_BUILDS_PATH </item>
      <item> NO_CMAKE_ENVIRONMENT_PATH </item>
      <item> NO_CMAKE_FIND_ROOT_PATH </item>
      <item> NO_CMAKE_PACKAGE_REGISTRY </item>
      <item> NO_CMAKE_PATH </item>
      <item> NO_CMAKE_SYSTEM_PACKAGE_REGISTRY </item>
      <item> NO_CMAKE_SYSTEM_PATH </item>
      <item> NO_DEFAULT_PATH </item>
      <item> NO_HEX_CONVERSION </item>
      <item> NO_MODULE </item>
      <item> NO_POLICY_SCOPE </item>
      <item> NO_SOURCE_PERMISSIONS </item>
      <item> NO_SYSTEM_ENVIRONMENT_PATH </item>
      <item> OBJECT </item>
      <item> OFFSET </item>
      <item> OLD </item>
      <item> ONLY_CMAKE_FIND_ROOT_PATH </item>
      <item> OPTIONAL </item>
      <item> OPTIONAL_COMPONENTS </item>
      <item> OR </item>
      <item> OUTPUT </item>
      <item> OUTPUT_DIRECTORY </item>
      <item> OUTPUT_FILE </item>
      <item> OUTPUT_QUIET </item>
      <item> OUTPUT_STRIP_TRAILING_WHITESPACE </item>
      <item> OUTPUT_VARIABLE </item>
      <item> OWNER_EXECUTE </item>
      <item> OWNER_READ </item>
      <item> OWNER_WRITE </item>
      <item> PACKAGE </item>
      <item> PARENT_SCOPE </item>
      <item> PATHS </item>
      <item> PATH_SUFFIXES </item>
      <item> PATH_TO_MESA </item>
      <item> PATTERN </item>
      <item> PERMISSIONS </item>
      <item> PLATFORM </item>
      <item> POLICY </item>
      <item> POP </item>
      <item> POST_BUILD </item>
      <item> PREORDER </item>
      <item> PRE_BUILD </item>
      <item> PRE_LINK </item>
      <item> PRIVATE </item>
      <item> PRIVATE_HEADER </item>
      <item> PROGRAM </item>
      <item> PROGRAMS </item>
      <item> PROGRAM_ARGS </item>
      <item> PROJECT_NAME </item>
      <item> PROPERTIES </item>
      <item> PROPERTY </item>
      <item> PUBLIC </item>
      <item> PUBLIC_HEADER </item>
      <item> PUSH </item>
      <item> QUERY </item>
      <item> QUIET </item>
      <item> RANDOM </item>
      <item> RANDOM_SEED </item>
      <item> RANGE </item>
      <item> READ </item>
      <item> READ_WITH_PREFIX </item>
      <item> REGEX </item>
      <item> REGULAR_EXPRESSION </item>
      <item> RELATIVE </item>
      <item> RELATIVE_PATH </item>
      <item> REMOVE </item>
      <item> REMOVE_AT </item>
      <item> REMOVE_DUPLICATES </item>
      <item> REMOVE_ITEM </item>
      <item> REMOVE_RECURSE </item>
      <item> RENAME </item>
      <item> REPLACE </item>
      <item> REQUIRED </item>
      <item> REQUIRED_VARIABLE1 </item>
      <item> REQUIRED_VARIABLE2 </item>
      <item> RESOURCE </item>
      <item> RESULT </item>
      <item> RESULT_VAR </item>
      <item> RESULT_VARIABLE </item>
      <item> RETURN_VALUE </item>
      <item> REVERSE </item>
      <item> RUNTIME </item>
      <item> RUNTIME_DIRECTORY </item>
      <item> RUN_OUTPUT_VARIABLE </item>
      <item> RUN_RESULT_VAR </item>
      <item> SCRIPT </item>
      <item> SEND_ERROR </item>
      <item> SET </item>
      <item> SHA1 </item>
      <item> SHA224 </item>
      <item> SHA256 </item>
      <item> SHA384 </item>
      <item> SHA512 </item>
      <item> SHARED </item>
      <item> SHOW_PROGRESS </item>
      <item> SORT </item>
      <item> SOURCE </item>
      <item> SOURCES </item>
      <item> STATIC </item>
      <item> STATUS </item>
      <item> STREQUAL </item>
      <item> STRGREATER </item>
      <item> STRINGS </item>
      <item> STRIP </item>
      <item> STRLESS </item>
      <item> SUBSTRING </item>
      <item> SYSTEM </item>
      <item> TARGET </item>
      <item> TARGETS </item>
      <item> TEST </item>
      <item> TEST_VARIABLE </item>
      <item> TIMEOUT </item>
      <item> TIMESTAMP </item>
      <item> TLS_CAINFO </item>
      <item> TLS_VERIFY </item>
      <item> TOLOWER </item>
      <item> TOUPPER </item>
      <item> TO_CMAKE_PATH </item>
      <item> TO_NATIVE_PATH </item>
      <item> TYPE </item>
      <item> UNIX </item>
      <item> UNIX_COMMAND </item>
      <item> UNKNOWN </item>
      <item> UPLOAD </item>
      <item> USE_SOURCE_PERMISSIONS </item>
      <item> UTC </item>
      <item> VALUE </item>
      <item> VARIABLE </item>
      <item> VERBATIM </item>
      <item> VERSION </item>
      <item> VERSION_EQUAL </item>
      <item> VERSION_GREATER </item>
      <item> VERSION_LESS </item>
      <item> WARNING </item>
      <item> WIN32 </item>
      <item> WINDOWS_COMMAND </item>
      <item> WORKING_DIRECTORY </item>
      <item> WRITE </item>
    </list>

    <!-- these are "special" and don't show up in the generated lists -->
    <list name="extra_special_args">
      <!-- get_filename_component() has <COMP> placeholder for the following special args -->
      <item> PATH </item>
      <item> NAME </item>
      <item> EXT </item>
      <item> NAME_WE </item>
      <item> ABSOLUTE </item>
      <item> REALPATH </item>
      <!-- set() has <type> placeholder for the following special args -->
      <item> FILEPATH </item>
      <!-- PATH already present above -->
      <item> STRING </item>
      <item> BOOL </item>
      <item> INTERNAL </item>
      <!-- key values to the QUERY parameter of cmake_host_system_information() -->
      <item> NUMBER_OF_LOGICAL_CORES </item>
      <item> NUMBER_OF_PHYSICAL_CORES </item>
      <item> HOSTNAME </item>
      <item> FQDN </item>
      <item> TOTAL_VIRTUAL_MEMORY </item>
      <item> AVAILABLE_VIRTUAL_MEMORY </item>
      <item> TOTAL_PHYSICAL_MEMORY </item>
      <item> AVAILABLE_PHYSICAL_MEMORY </item>
    </list>

    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
    <list name="properties">
      <!-- generated list -->
      <item> ABSTRACT </item>
      <item> ADDITIONAL_MAKE_CLEAN_FILES </item>
      <item> ADVANCED </item>
      <item> ALIASED_TARGET </item>
      <item> ALLOW_DUPLICATE_CUSTOM_TARGETS </item>
      <item> ARCHIVE_OUTPUT_DIRECTORY </item>
      <item> ARCHIVE_OUTPUT_NAME </item>
      <item> ATTACHED_FILES </item>
      <item> ATTACHED_FILES_ON_FAIL </item>
      <item> AUTOMOC </item>
      <item> AUTOMOC_MOC_OPTIONS </item>
      <item> AUTOMOC_TARGETS_FOLDER </item>
      <item> BUILD_WITH_INSTALL_RPATH </item>
      <item> BUNDLE </item>
      <item> BUNDLE_EXTENSION </item>
      <item> CACHE_VARIABLES </item>
      <item> CLEAN_NO_CUSTOM </item>
      <item> COMPATIBLE_INTERFACE_BOOL </item>
      <item> COMPATIBLE_INTERFACE_STRING </item>
      <item> COMPILE_DEFINITIONS </item>
      <item> COMPILE_FLAGS </item>
      <item> COMPILE_OPTIONS </item>
      <item> COST </item>
      <item> DEBUG_CONFIGURATIONS </item>
      <item> DEBUG_POSTFIX </item>
      <item> DEFINE_SYMBOL </item>
      <item> DEFINITIONS </item>
      <item> DEPENDS </item>
      <item> DISABLED_FEATURES </item>
      <item> ENABLED_FEATURES </item>
      <item> ENABLED_LANGUAGES </item>
      <item> ENABLE_EXPORTS </item>
      <item> ENVIRONMENT </item>
      <item> EXCLUDE_FROM_ALL </item>
      <item> EXCLUDE_FROM_DEFAULT_BUILD </item>
      <item> EXPORT_NAME </item>
      <item> EXTERNAL_OBJECT </item>
      <item> EchoString </item>
      <item> FAIL_REGULAR_EXPRESSION </item>
      <item> FIND_LIBRARY_USE_LIB64_PATHS </item>
      <item> FIND_LIBRARY_USE_OPENBSD_VERSIONING </item>
      <item> FOLDER </item>
      <item> FRAMEWORK </item>
      <item> Fortran_FORMAT </item>
      <item> Fortran_MODULE_DIRECTORY </item>
      <item> GENERATED </item>
      <item> GENERATOR_FILE_NAME </item>
      <item> GLOBAL_DEPENDS_DEBUG_MODE </item>
      <item> GLOBAL_DEPENDS_NO_CYCLES </item>
      <item> GNUtoMS </item>
      <item> HAS_CXX </item>
      <item> HEADER_FILE_ONLY </item>
      <item> HELPSTRING </item>
      <item> IMPLICIT_DEPENDS_INCLUDE_TRANSFORM </item>
      <item> IMPORTED </item>
      <item> IMPORTED_CONFIGURATIONS </item>
      <item> IMPORTED_IMPLIB </item>
      <item> IMPORTED_LINK_DEPENDENT_LIBRARIES </item>
      <item> IMPORTED_LINK_INTERFACE_LANGUAGES </item>
      <item> IMPORTED_LINK_INTERFACE_LIBRARIES </item>
      <item> IMPORTED_LINK_INTERFACE_MULTIPLICITY </item>
      <item> IMPORTED_LOCATION </item>
      <item> IMPORTED_NO_SONAME </item>
      <item> IMPORTED_SONAME </item>
      <item> IMPORT_PREFIX </item>
      <item> IMPORT_SUFFIX </item>
      <item> INCLUDE_DIRECTORIES </item>
      <item> INCLUDE_REGULAR_EXPRESSION </item>
      <item> INSTALL_NAME_DIR </item>
      <item> INSTALL_RPATH </item>
      <item> INSTALL_RPATH_USE_LINK_PATH </item>
      <item> INTERFACE_COMPILE_DEFINITIONS </item>
      <item> INTERFACE_COMPILE_OPTIONS </item>
      <item> INTERFACE_INCLUDE_DIRECTORIES </item>
      <item> INTERFACE_LINK_LIBRARIES </item>
      <item> INTERFACE_POSITION_INDEPENDENT_CODE </item>
      <item> INTERFACE_SYSTEM_INCLUDE_DIRECTORIES </item>
      <item> INTERPROCEDURAL_OPTIMIZATION </item>
      <item> IN_TRY_COMPILE </item>
      <item> KEEP_EXTENSION </item>
      <item> LABELS </item>
      <item> LANGUAGE </item>
      <item> LIBRARY_OUTPUT_DIRECTORY </item>
      <item> LIBRARY_OUTPUT_NAME </item>
      <item> LINKER_LANGUAGE </item>
      <item> LINK_DEPENDS </item>
      <item> LINK_DEPENDS_NO_SHARED </item>
      <item> LINK_DIRECTORIES </item>
      <item> LINK_FLAGS </item>
      <item> LINK_INTERFACE_LIBRARIES </item>
      <item> LINK_INTERFACE_MULTIPLICITY </item>
      <item> LINK_LIBRARIES </item>
      <item> LINK_SEARCH_END_STATIC </item>
      <item> LINK_SEARCH_START_STATIC </item>
      <item> LISTFILE_STACK </item>
      <item> LOCATION </item>
      <item> MACOSX_BUNDLE </item>
      <item> MACOSX_BUNDLE_INFO_PLIST </item>
      <item> MACOSX_FRAMEWORK_INFO_PLIST </item>
      <item> MACOSX_PACKAGE_LOCATION </item>
      <item> MACOSX_RPATH </item>
      <item> MACROS </item>
      <item> MEASUREMENT </item>
      <item> MODIFIED </item>
      <item> NAME </item>
      <item> NO_SONAME </item>
      <item> OBJECT_DEPENDS </item>
      <item> OBJECT_OUTPUTS </item>
      <item> OSX_ARCHITECTURES </item>
      <item> OUTPUT_NAME </item>
      <item> PACKAGES_FOUND </item>
      <item> PACKAGES_NOT_FOUND </item>
      <item> PARENT_DIRECTORY </item>
      <item> PASS_REGULAR_EXPRESSION </item>
      <item> PDB_NAME </item>
      <item> PDB_OUTPUT_DIRECTORY </item>
      <item> POSITION_INDEPENDENT_CODE </item>
      <item> POST_INSTALL_SCRIPT </item>
      <item> PREDEFINED_TARGETS_FOLDER </item>
      <item> PREFIX </item>
      <item> PRE_INSTALL_SCRIPT </item>
      <item> PRIVATE_HEADER </item>
      <item> PROCESSORS </item>
      <item> PROJECT_LABEL </item>
      <item> PUBLIC_HEADER </item>
      <item> REPORT_UNDEFINED_PROPERTIES </item>
      <item> REQUIRED_FILES </item>
      <item> RESOURCE </item>
      <item> RESOURCE_LOCK </item>
      <item> RULE_LAUNCH_COMPILE </item>
      <item> RULE_LAUNCH_CUSTOM </item>
      <item> RULE_LAUNCH_LINK </item>
      <item> RULE_MESSAGES </item>
      <item> RUNTIME_OUTPUT_DIRECTORY </item>
      <item> RUNTIME_OUTPUT_NAME </item>
      <item> RUN_SERIAL </item>
      <item> SKIP_BUILD_RPATH </item>
      <item> SOURCES </item>
      <item> SOVERSION </item>
      <item> STATIC_LIBRARY_FLAGS </item>
      <item> STRINGS </item>
      <item> SUFFIX </item>
      <item> SYMBOLIC </item>
      <item> TARGET_ARCHIVES_MAY_BE_SHARED_LIBS </item>
      <item> TARGET_SUPPORTS_SHARED_LIBS </item>
      <item> TEST_INCLUDE_FILE </item>
      <item> TIMEOUT </item>
      <item> TYPE </item>
      <item> USE_FOLDERS </item>
      <item> VALUE </item>
      <item> VARIABLES </item>
      <item> VERSION </item>
      <item> VISIBILITY_INLINES_HIDDEN </item>
      <item> VS_DOTNET_REFERENCES </item>
      <item> VS_DOTNET_TARGET_FRAMEWORK_VERSION </item>
      <item> VS_GLOBAL_KEYWORD </item>
      <item> VS_GLOBAL_PROJECT_TYPES </item>
      <item> VS_GLOBAL_ROOTNAMESPACE </item>
      <item> VS_KEYWORD </item>
      <item> VS_SCC_AUXPATH </item>
      <item> VS_SCC_LOCALPATH </item>
      <item> VS_SCC_PROJECTNAME </item>
      <item> VS_SCC_PROVIDER </item>
      <item> VS_WINRT_EXTENSIONS </item>
      <item> VS_WINRT_REFERENCES </item>
      <item> WILL_FAIL </item>
      <item> WIN32_EXECUTABLE </item>
      <item> WORKING_DIRECTORY </item>
      <item> WRAP_EXCLUDE </item>
      <item> __CMAKE_DELETE_CACHE_CHANGE_VARS_ </item>
    </list>

    <!-- these are "special" and don't show up in the generated lists -->
    <list name="extra_properties">
      <item> COMMANDS </item> <!-- WARNING: this one looks like a cmake bug, watch for it to migrate to the generated list! -->
      <item> DEFINITION </item>
    </list>

    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
    <list name="cmake_vars">
      <!-- generated list -->
      <item> APPLE </item>
      <item> BORLAND </item>
      <item> BUILD_SHARED_LIBS </item>
      <item> CMAKE_ABSOLUTE_DESTINATION_FILES </item>
      <item> CMAKE_AR </item>
      <item> CMAKE_ARCHIVE_OUTPUT_DIRECTORY </item>
      <item> CMAKE_ARGC </item>
      <item> CMAKE_ARGV0 </item>
      <item> CMAKE_AUTOMOC </item>
      <item> CMAKE_AUTOMOC_MOC_OPTIONS </item>
      <item> CMAKE_AUTOMOC_RELAXED_MODE </item>
      <item> CMAKE_BACKWARDS_COMPATIBILITY </item>
      <item> CMAKE_BINARY_DIR </item>
      <item> CMAKE_BUILD_TOOL </item>
      <item> CMAKE_BUILD_TYPE </item>
      <item> CMAKE_BUILD_WITH_INSTALL_RPATH </item>
      <item> CMAKE_CACHEFILE_DIR </item>
      <item> CMAKE_CACHE_MAJOR_VERSION </item>
      <item> CMAKE_CACHE_MINOR_VERSION </item>
      <item> CMAKE_CACHE_PATCH_VERSION </item>
      <item> CMAKE_CFG_INTDIR </item>
      <item> CMAKE_CL_64 </item>
      <item> CMAKE_COLOR_MAKEFILE </item>
      <item> CMAKE_COMMAND </item>
      <item> CMAKE_COMPILER_2005 </item>
      <item> CMAKE_CONFIGURATION_TYPES </item>
      <item> CMAKE_CROSSCOMPILING </item>
      <item> CMAKE_CTEST_COMMAND </item>
      <item> CMAKE_CURRENT_BINARY_DIR </item>
      <item> CMAKE_CURRENT_LIST_DIR </item>
      <item> CMAKE_CURRENT_LIST_FILE </item>
      <item> CMAKE_CURRENT_LIST_LINE </item>
      <item> CMAKE_CURRENT_SOURCE_DIR </item>
      <item> CMAKE_DEBUG_POSTFIX </item>
      <item> CMAKE_DEBUG_TARGET_PROPERTIES </item>
      <item> CMAKE_DL_LIBS </item>
      <item> CMAKE_EDIT_COMMAND </item>
      <item> CMAKE_ERROR_DEPRECATED </item>
      <item> CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION </item>
      <item> CMAKE_EXECUTABLE_SUFFIX </item>
      <item> CMAKE_EXE_LINKER_FLAGS </item>
      <item> CMAKE_EXTRA_GENERATOR </item>
      <item> CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES </item>
      <item> CMAKE_FIND_LIBRARY_PREFIXES </item>
      <item> CMAKE_FIND_LIBRARY_SUFFIXES </item>
      <item> CMAKE_FIND_PACKAGE_WARN_NO_MODULE </item>
      <item> CMAKE_Fortran_FORMAT </item>
      <item> CMAKE_Fortran_MODDIR_DEFAULT </item>
      <item> CMAKE_Fortran_MODDIR_FLAG </item>
      <item> CMAKE_Fortran_MODOUT_FLAG </item>
      <item> CMAKE_Fortran_MODULE_DIRECTORY </item>
      <item> CMAKE_GENERATOR </item>
      <item> CMAKE_GENERATOR_TOOLSET </item>
      <item> CMAKE_GNUtoMS </item>
      <item> CMAKE_HOME_DIRECTORY </item>
      <item> CMAKE_HOST_APPLE </item>
      <item> CMAKE_HOST_SYSTEM </item>
      <item> CMAKE_HOST_SYSTEM_NAME </item>
      <item> CMAKE_HOST_SYSTEM_PROCESSOR </item>
      <item> CMAKE_HOST_SYSTEM_VERSION </item>
      <item> CMAKE_HOST_UNIX </item>
      <item> CMAKE_HOST_WIN32 </item>
      <item> CMAKE_IGNORE_PATH </item>
      <item> CMAKE_IMPORT_LIBRARY_PREFIX </item>
      <item> CMAKE_IMPORT_LIBRARY_SUFFIX </item>
      <item> CMAKE_INCLUDE_CURRENT_DIR </item>
      <item> CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE </item>
      <item> CMAKE_INCLUDE_PATH </item>
      <item> CMAKE_INSTALL_DEFAULT_COMPONENT_NAME </item>
      <item> CMAKE_INSTALL_NAME_DIR </item>
      <item> CMAKE_INSTALL_PREFIX </item>
      <item> CMAKE_INSTALL_RPATH </item>
      <item> CMAKE_INSTALL_RPATH_USE_LINK_PATH </item>
      <item> CMAKE_INTERNAL_PLATFORM_ABI </item>
      <item> CMAKE_LIBRARY_ARCHITECTURE </item>
      <item> CMAKE_LIBRARY_ARCHITECTURE_REGEX </item>
      <item> CMAKE_LIBRARY_OUTPUT_DIRECTORY </item>
      <item> CMAKE_LIBRARY_PATH </item>
      <item> CMAKE_LIBRARY_PATH_FLAG </item>
      <item> CMAKE_LINK_DEF_FILE_FLAG   </item>
      <item> CMAKE_LINK_DEPENDS_NO_SHARED </item>
      <item> CMAKE_LINK_INTERFACE_LIBRARIES </item>
      <item> CMAKE_LINK_LIBRARY_FILE_FLAG </item>
      <item> CMAKE_LINK_LIBRARY_FLAG </item>
      <item> CMAKE_LINK_LIBRARY_SUFFIX </item>
      <item> CMAKE_MACOSX_BUNDLE </item>
      <item> CMAKE_MAJOR_VERSION </item>
      <item> CMAKE_MAKE_PROGRAM </item>
      <item> CMAKE_MFC_FLAG </item>
      <item> CMAKE_MINIMUM_REQUIRED_VERSION </item>
      <item> CMAKE_MINOR_VERSION </item>
      <item> CMAKE_MODULE_LINKER_FLAGS </item>
      <item> CMAKE_MODULE_PATH </item>
      <item> CMAKE_NOT_USING_CONFIG_FLAGS </item>
      <item> CMAKE_NO_BUILTIN_CHRPATH </item>
      <item> CMAKE_OBJECT_PATH_MAX </item>
      <item> CMAKE_PARENT_LIST_FILE </item>
      <item> CMAKE_PATCH_VERSION </item>
      <item> CMAKE_PDB_OUTPUT_DIRECTORY </item>
      <item> CMAKE_POSITION_INDEPENDENT_CODE </item>
      <item> CMAKE_PREFIX_PATH </item>
      <item> CMAKE_PROGRAM_PATH </item>
      <item> CMAKE_PROJECT_NAME </item>
      <item> CMAKE_RANLIB </item>
      <item> CMAKE_ROOT </item>
      <item> CMAKE_RUNTIME_OUTPUT_DIRECTORY </item>
      <item> CMAKE_SCRIPT_MODE_FILE </item>
      <item> CMAKE_SHARED_LIBRARY_PREFIX </item>
      <item> CMAKE_SHARED_LIBRARY_SUFFIX </item>
      <item> CMAKE_SHARED_LINKER_FLAGS </item>
      <item> CMAKE_SHARED_MODULE_PREFIX </item>
      <item> CMAKE_SHARED_MODULE_SUFFIX </item>
      <item> CMAKE_SIZEOF_VOID_P </item>
      <item> CMAKE_SKIP_BUILD_RPATH </item>
      <item> CMAKE_SKIP_INSTALL_ALL_DEPENDENCY </item>
      <item> CMAKE_SKIP_INSTALL_RPATH </item>
      <item> CMAKE_SKIP_RPATH </item>
      <item> CMAKE_SOURCE_DIR </item>
      <item> CMAKE_STANDARD_LIBRARIES </item>
      <item> CMAKE_STATIC_LIBRARY_PREFIX </item>
      <item> CMAKE_STATIC_LIBRARY_SUFFIX </item>
      <item> CMAKE_STATIC_LINKER_FLAGS </item>
      <item> CMAKE_SYSTEM </item>
      <item> CMAKE_SYSTEM_IGNORE_PATH </item>
      <item> CMAKE_SYSTEM_INCLUDE_PATH </item>
      <item> CMAKE_SYSTEM_LIBRARY_PATH </item>
      <item> CMAKE_SYSTEM_NAME </item>
      <item> CMAKE_SYSTEM_PREFIX_PATH </item>
      <item> CMAKE_SYSTEM_PROCESSOR </item>
      <item> CMAKE_SYSTEM_PROGRAM_PATH </item>
      <item> CMAKE_SYSTEM_VERSION </item>
      <item> CMAKE_TRY_COMPILE_CONFIGURATION </item>
      <item> CMAKE_TWEAK_VERSION </item>
      <item> CMAKE_USER_MAKE_RULES_OVERRIDE </item>
      <item> CMAKE_USE_RELATIVE_PATHS </item>
      <item> CMAKE_VERBOSE_MAKEFILE </item>
      <item> CMAKE_VERSION </item>
      <item> CMAKE_VISIBILITY_INLINES_HIDDEN </item>
      <item> CMAKE_VS_PLATFORM_TOOLSET </item>
      <item> CMAKE_WARN_DEPRECATED </item>
      <item> CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION </item>
      <item> CMAKE_WIN32_EXECUTABLE </item>
      <item> CMAKE_XCODE_PLATFORM_TOOLSET </item>
      <item> CYGWIN </item>
      <item> ENV </item>
      <item> EXECUTABLE_OUTPUT_PATH </item>
      <item> LIBRARY_OUTPUT_PATH </item>
      <item> MSVC </item>
      <item> MSVC10 </item>
      <item> MSVC11 </item>
      <item> MSVC12 </item>
      <item> MSVC60 </item>
      <item> MSVC70 </item>
      <item> MSVC71 </item>
      <item> MSVC80 </item>
      <item> MSVC90 </item>
      <item> MSVC_IDE </item>
      <item> MSVC_VERSION </item>
      <item> PROJECT_BINARY_DIR </item>
      <item> PROJECT_NAME </item>
      <item> PROJECT_SOURCE_DIR </item>
      <item> UNIX </item>
      <item> WIN32 </item>
      <item> XCODE_VERSION </item>
    </list>

    <list name="simple_generator_expr">
      <item> CONFIGURATION </item>
      <item> ANGLE-R </item>
      <item> COMMA </item>
      <item> SEMICOLON </item>
      <item> INSTALL_PREFIX </item>
    </list>

    <list name="generator_expr">
      <item> 0 </item>
      <item> 1 </item>
      <item> CONFIG </item>
      <item> BOOL </item>
      <item> STREQUAL </item>
      <item> JOIN </item>
      <item> TARGET_NAME </item>
      <item> INSTALL_INTERFACE </item>
      <item> BUILD_INTERFACE </item>
      <item> C_COMPILER_ID </item>
      <item> CXX_COMPILER_ID </item>
      <item> VERSION_GREATER </item>
      <item> VERSION_LESS </item>
      <item> VERSION_EQUAL </item>
      <item> C_COMPILER_VERSION </item>
      <item> CXX_COMPILER_VERSION </item>
      <item> TARGET_FILE </item>
      <item> TARGET_LINKER_FILE </item>
      <item> TARGET_SONAME_FILE </item>
      <item> TARGET_FILE_DIR </item>
      <item> TARGET_FILE_NAME </item>
      <item> TARGET_DIR </item>
      <item> TARGET_LINKER_FILE_DIR </item>
      <item> TARGET_LINKER_FILE_NAME </item>
      <item> TARGET_SONAME_FILE_DIR </item>
      <item> TARGET_SONAME_FILE_NAME </item>
      <item> TARGET_PROPERTY </item>
      <item> TARGET_OBJECTS </item>
      <item> TARGET_POLICY </item>
      <item> AND </item>
      <item> OR </item>
      <item> NOT </item>
    </list>

    <contexts>
      <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
        <DetectSpaces/>

        <!-- handle folding for if else elseif endif blocks -->
        <RegExpr String="\bif\b" attribute="Commands" context="Command Args" beginRegion="ifthenelse" insensitive="true" />
        <RegExpr String="\belse\b" attribute="Commands" context="Command Args" endRegion="ifthenelse" beginRegion="ifthenelse" insensitive="true" />
        <RegExpr String="\belseif\b" attribute="Commands" context="Command Args" endRegion="ifthenelse" beginRegion="ifthenelse" insensitive="true" />
        <RegExpr String="\bendif\b" attribute="Commands" context="Command Args" endRegion="ifthenelse" insensitive="true" />

        <!-- handle folding for macro endmacro blocks -->
        <RegExpr String="\bmacro\b" attribute="Commands" context="Command Args" beginRegion="macro" insensitive="true" />
        <RegExpr String="\bendmacro\b" attribute="Commands" context="Command Args" endRegion="macro" insensitive="true" />

        <!-- handle folding for foreach endforeach blocks -->
        <RegExpr String="\bforeach\b" attribute="Commands" context="Command Args" beginRegion="foreach" insensitive="true" />
        <RegExpr String="\bendforeach\b" attribute="Commands" context="Command Args" endRegion="foreach" insensitive="true" />

        <!-- handle folding for while endwhile blocks -->
        <RegExpr String="\bwhile\b" attribute="Commands" context="Command Args" beginRegion="while" insensitive="true" />
        <RegExpr String="\bendwhile\b" attribute="Commands" context="Command Args" endRegion="while" insensitive="true" />

        <keyword attribute="Commands" context="Command Args" String="commands" insensitive="true"/>
        <keyword attribute="Third-Party Commands" context="#stay" String="itkvtk_commands" insensitive="true"/>
        <RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="block" firstNonSpace="true"/>
        <RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="block" firstNonSpace="true"/>
        <RegExpr attribute="Region Marker" context="RST Documentation" String="^#\[(=*)\[\.rst:" column="0" />
        <RegExpr attribute="Comment" context="Bracketed Comment" String="^#\[(=*)\[" column="0" />
        <DetectChar attribute="Comment" context="Comment" char="#"/>
        <IncludeRules context="Detect Variables"/>
        <RegExpr attribute="Macros" context="Macro Args" String="\w+\s*(?=\()"/>
      </context>
      <!-- ATTENTION Do not change the context name! Or change a generation script accordingly -->
      <context attribute="Normal Text" lineEndContext="#stay" name="Detect More Builtin Variables">
        <!-- generated rules -->
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_COMPILER_IS_GNU[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_DISABLE_FIND_PACKAGE_[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_EXE_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_MODULE_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_POLICY_DEFAULT_CMP[0-9]+\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_SHARED_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_STATIC_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_USER_MAKE_RULES_OVERRIDE_[A-Za-z_][A-Za-z_0-9]*\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_APPEND\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_CREATE\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_FINISH\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_ABI\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_ID\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_LOADED\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_VERSION\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILE_OBJECT\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_SHARED_LIBRARY\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_SHARED_MODULE\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_STATIC_LIBRARY\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_DEBUG\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_MINSIZEREL\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_RELEASE\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_RELWITHDEBINFO\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IGNORE_EXTENSIONS\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_INCLUDE_DIRECTORIES\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_LINK_DIRECTORIES\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_LINK_LIBRARIES\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LIBRARY_ARCHITECTURE\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LINKER_PREFERENCE\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LINKER_PREFERENCE_PROPAGATES\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LINK_EXECUTABLE \b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_OUTPUT_EXTENSION\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_PLATFORM_ID\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_POSTFIX\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SIZEOF_DATA_PTR\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SOURCE_FILE_EXTENSIONS\b" />
        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_VISIBILITY_PRESET\b" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables">
        <keyword attribute="Builtin CMake Variable" context="#stay" String="cmake_vars" insensitive="false"/>
        <IncludeRules context="Detect More Builtin Variables" />
      </context>
      <context attribute="CMake Variable" lineEndContext="#pop" name="VarSubst">
        <IncludeRules context="Detect Builtin Variables"/>
        <DetectIdentifier />
        <DetectChar attribute="CMake Variable" context="#pop" char="}"/>
        <IncludeRules context="Detect Variables"/>
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="Detect Variables">
        <RegExpr attribute="Environment Variable" context="#stay" String="\$ENV\{\s*[\w-]+\s*\}"/>
        <Detect2Chars attribute="CMake Variable" context="VarSubst" char="$" char1="{" />
      </context>
      <context attribute="Generator Expression" lineEndContext="#pop#pop" name="DetectSimpleGEEnd">
        <DetectChar attribute="Generator Expression" context="#pop#pop" char="&gt;"/>
      </context>
      <context attribute="Generator Expression" lineEndContext="#pop" name="Generator Expression">
        <IncludeRules context="Detect Generator Expressions"/>
        <DetectChar attribute="Generator Expression" context="#pop" char="&gt;"/>
        <keyword attribute="Generator Expression Keyword" context="DetectSimpleGEEnd" String="simple_generator_expr" insensitive="false"/>
        <keyword attribute="Generator Expression Keyword" context="#stay" String="generator_expr" insensitive="false"/>
        <IncludeRules context="Detect Variables"/>
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="Detect Generator Expressions">
        <Detect2Chars attribute="Generator Expression" context="Generator Expression" char="$" char1="&lt;" />
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="Command Args">
        <keyword attribute="Special Args" context="#stay" String="special_args"/>
        <keyword attribute="Special Args" context="#stay" String="extra_special_args"/>
        <!-- NOTE Handle CMP<NNN> as a special arg -->
        <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9]+\b" />
        <keyword attribute="Properties" context="#stay" String="properties"/>
        <keyword attribute="Properties" context="#stay" String="extra_properties"/>
        <IncludeRules context="Detect Builtin Variables"/>
        <IncludeRules context="Macro Args"/>
      </context>
      <context attribute="Normal Text" lineEndContext="#stay" name="Macro Args">
        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
        <RegExpr attribute="Escapes" context="#stay" String="\\[&quot;$n\\]"/>
        <DetectChar attribute="Strings" context="String" char="&quot;"/>
        <RegExpr attribute="Strings" context="Bracketed String" String="\[(=*)\[" />
        <DetectChar attribute="Comment" context="Comment" char="#"/>
        <IncludeRules context="Detect Builtin Variables"/>
        <IncludeRules context="Detect Variables"/>
        <IncludeRules context="Detect Generator Expressions"/>
      </context>
      <context attribute="Comment" lineEndContext="#pop" name="Comment">
        <LineContinue attribute="Comment" context="#pop" />
        <IncludeRules context="##Alerts" />
        <IncludeRules context="##Modelines" />
      </context>
      <context attribute="Comment" lineEndContext="#stay" name="RST Documentation" dynamic="true">
        <RegExpr attribute="Region Marker" context="#pop" String="^#?\]%1\]" dynamic="true" column="0" />
      </context>
      <context attribute="Comment" lineEndContext="#stay" name="Bracketed Comment" dynamic="true">
        <RegExpr attribute="Comment" context="#pop" String="^#?\]%1\]" dynamic="true" column="0" />
        <IncludeRules context="##Alerts" />
        <IncludeRules context="##Modelines" />
      </context>
      <context attribute="Strings" lineEndContext="#stay" name="String">
        <RegExpr attribute="Strings" context="#pop" String="&quot;(?=[ );]|$)" />
        <RegExpr attribute="Escapes" context="#stay" String="\\[&quot;$nrt\\]" />
        <IncludeRules context="Detect Variables"/>
        <IncludeRules context="Detect Generator Expressions"/>
      </context>
      <context attribute="Strings" lineEndContext="#stay" name="Bracketed String" dynamic="true">
        <RegExpr attribute="Strings" context="#pop" String="\]%1\]" dynamic="true" />
      </context>

    </contexts>
    <itemDatas>
      <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
      <itemData name="Special Args" defStyleNum="dsOthers" spellChecking="false" />
      <itemData name="Properties" defStyleNum="dsOthers" spellChecking="false" />
      <itemData name="Commands" defStyleNum="dsKeyword" spellChecking="false" />
      <itemData name="Third-Party Commands" defStyleNum="dsFunction" spellChecking="false" />
      <itemData name="Macros"  defStyleNum="dsFunction" spellChecking="false" />
      <itemData name="Strings" defStyleNum="dsString" spellChecking="true" />
      <itemData name="Escapes" defStyleNum="dsChar" spellChecking="false" />
      <itemData name="Builtin CMake Variable" defStyleNum="dsDecVal" color="#c09050" selColor="#c09050" spellChecking="false" />
      <!-- TODO Rename to "Variable Substitution" -->
      <itemData name="CMake Variable" defStyleNum="dsDecVal" spellChecking="false" />
      <!-- TODO Rename to "Environment Variable Substitution" -->
      <itemData name="Environment Variable" defStyleNum="dsFloat" spellChecking="false" />
      <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false" />
      <itemData name="Generator Expression" defStyleNum="dsOthers" color="#b86050" selColor="#b86050" spellChecking="false" />
      <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
      <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />
    </itemDatas>
  </highlighting>

  <general>
    <comments>
      <comment name="singleLine" start="#"/>
    </comments>
    <keywords casesensitive="1"/>
  </general>
</language>
