diff options
Diffstat (limited to 'Auxiliary')
-rw-r--r-- | Auxiliary/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Auxiliary/bash-completion/CMakeLists.txt | 8 | ||||
-rw-r--r-- | Auxiliary/bash-completion/cmake | 163 | ||||
-rw-r--r-- | Auxiliary/bash-completion/cpack | 88 | ||||
-rw-r--r-- | Auxiliary/bash-completion/ctest | 118 | ||||
-rw-r--r-- | Auxiliary/cmake-mode.el | 393 | ||||
-rw-r--r-- | Auxiliary/cmake.m4 | 44 | ||||
-rw-r--r-- | Auxiliary/vim/cmake.vim.in | 130 | ||||
-rwxr-xr-x | Auxiliary/vim/extract-upper-case.pl | 166 | ||||
-rw-r--r-- | Auxiliary/vim/indent/cmake.vim | 89 | ||||
-rw-r--r-- | Auxiliary/vim/syntax/cmake.vim | 524 |
11 files changed, 1727 insertions, 0 deletions
diff --git a/Auxiliary/CMakeLists.txt b/Auxiliary/CMakeLists.txt new file mode 100644 index 0000000..53cf2c5 --- /dev/null +++ b/Auxiliary/CMakeLists.txt @@ -0,0 +1,4 @@ +install(DIRECTORY vim/indent vim/syntax DESTINATION ${CMAKE_DATA_DIR}/editors/vim) +install(FILES cmake-mode.el DESTINATION ${CMAKE_DATA_DIR}/editors/emacs) +install(FILES cmake.m4 DESTINATION ${CMAKE_XDGDATA_DIR}/aclocal) +add_subdirectory (bash-completion) diff --git a/Auxiliary/bash-completion/CMakeLists.txt b/Auxiliary/bash-completion/CMakeLists.txt new file mode 100644 index 0000000..c0a8899 --- /dev/null +++ b/Auxiliary/bash-completion/CMakeLists.txt @@ -0,0 +1,8 @@ +# Always install completion file in local dir +# in order to be sure to always be able to install +# in a local user directory rooted in a single directory. +# packager should either patch that out or +# add symlinks to the files in appropriate places +# /etc/bash_completion.d/ +# DATADIR/completions (may be /usr/share/<package>/completions +install(FILES cmake cpack ctest DESTINATION ${CMAKE_DATA_DIR}/completions) diff --git a/Auxiliary/bash-completion/cmake b/Auxiliary/bash-completion/cmake new file mode 100644 index 0000000..5d67b0b --- /dev/null +++ b/Auxiliary/bash-completion/cmake @@ -0,0 +1,163 @@ +# bash completion for cmake(1) -*- shell-script -*- + +_cmake() +{ + local cur prev words cword split=false + if type -t _init_completion >/dev/null; then + _init_completion -n = || return + else + # manual initialization for older bash completion versions + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + fi + + # Workaround for options like -DCMAKE_BUILD_TYPE=Release + local prefix= + if [[ $cur == -D* ]]; then + prev=-D + prefix=-D + cur="${cur#-D}" + elif [[ $cur == -U* ]]; then + prev=-U + prefix=-U + cur="${cur#-U}" + fi + + case "$prev" in + -D) + if [[ $cur == *=* ]]; then + # complete values for variables + local var type value + var="${cur%%[:=]*}" + value="${cur#*=}" + + if [[ $cur == CMAKE_BUILD_TYPE* ]]; then # most widely used case + COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo + MinSizeRel' -- "$value" ) ) + return + fi + + if [[ $cur == *:* ]]; then + type="${cur#*:}" + type="${type%%=*}" + else # get type from cache if it's not set explicitly + type=$( cmake -LA -N 2>/dev/null | grep "$var:" \ + 2>/dev/null ) + type="${type#*:}" + type="${type%%=*}" + fi + case "$type" in + FILEPATH) + cur="$value" + _filedir + return + ;; + PATH) + cur="$value" + _filedir -d + return + ;; + BOOL) + COMPREPLY=( $( compgen -W 'ON OFF TRUE FALSE' -- \ + "$value" ) ) + return + ;; + STRING|INTERNAL) + # no completion available + return + ;; + esac + elif [[ $cur == *:* ]]; then + # complete types + local type="${cur#*:}" + COMPREPLY=( $( compgen -W 'FILEPATH PATH STRING BOOL INTERNAL'\ + -S = -- "$type" ) ) + compopt -o nospace + else + # complete variable names + COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 | + cut -f1 -d: )' -P "$prefix" -- "$cur" ) ) + compopt -o nospace + fi + return + ;; + -U) + COMPREPLY=( $( compgen -W '$( cmake -LA -N | tail -n +2 | + cut -f1 -d: )' -P "$prefix" -- "$cur" ) ) + return + ;; + esac + + _split_longopt && split=true + + case "$prev" in + -C|-P|--graphviz|--system-information) + _filedir + return + ;; + --build|--open) + _filedir -d + return + ;; + -E) + COMPREPLY=( $( compgen -W "$( cmake -E help |& sed -n \ + '/^ [^ ]/{s|^ \([^ ]\{1,\}\) .*$|\1|;p}' 2>/dev/null )" \ + -- "$cur" ) ) + return + ;; + -G) + local IFS=$'\n' + local quoted + printf -v quoted %q "$cur" + COMPREPLY=( $( compgen -W '$( cmake --help 2>/dev/null | sed -n \ + -e "1,/^Generators/d" \ + -e "/^ *[^ =]/{s|^ *\([^=]*[^ =]\).*$|\1|;s| |\\\\ |g;p}" \ + 2>/dev/null )' -- "$quoted" ) ) + return + ;; + --help-command) + COMPREPLY=( $( compgen -W '$( cmake --help-command-list 2>/dev/null| + grep -v "^cmake version " )' -- "$cur" ) ) + return + ;; + --help-manual) + COMPREPLY=( $( compgen -W '$( cmake --help-manual-list 2>/dev/null| + grep -v "^cmake version " | sed -e "s/([0-9])$//" )' -- "$cur" ) ) + return + ;; + --help-module) + COMPREPLY=( $( compgen -W '$( cmake --help-module-list 2>/dev/null| + grep -v "^cmake version " )' -- "$cur" ) ) + return + ;; + --help-policy) + COMPREPLY=( $( compgen -W '$( cmake --help-policy-list 2>/dev/null | + grep -v "^cmake version " )' -- "$cur" ) ) + return + ;; + --help-property) + COMPREPLY=( $( compgen -W '$( cmake --help-property-list \ + 2>/dev/null | grep -v "^cmake version " )' -- "$cur" ) ) + return + ;; + --help-variable) + COMPREPLY=( $( compgen -W '$( cmake --help-variable-list \ + 2>/dev/null | grep -v "^cmake version " )' -- "$cur" ) ) + return + ;; + esac + + $split && return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) ) + [[ $COMPREPLY == *= ]] && compopt -o nospace + [[ $COMPREPLY ]] && return + fi + + _filedir +} && +complete -F _cmake cmake + +# ex: ts=4 sw=4 et filetype=sh diff --git a/Auxiliary/bash-completion/cpack b/Auxiliary/bash-completion/cpack new file mode 100644 index 0000000..cf5751f --- /dev/null +++ b/Auxiliary/bash-completion/cpack @@ -0,0 +1,88 @@ +# bash completion for cpack(1) -*- shell-script -*- + +_cpack() +{ + local cur prev words cword + if type -t _init_completion >/dev/null; then + _init_completion -n = || return + else + # manual initialization for older bash completion versions + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + fi + + case "$prev" in + -G) + COMPREPLY=( $( compgen -W '$( cpack --help 2>/dev/null | + sed -e "1,/^Generators/d" -e "s|^ *\([^ ]*\) .*$|\1|" \ + 2>/dev/null )' -- "$cur" ) ) + return + ;; + -C) + COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo + MinSizeRel' -- "$cur" ) ) + return + ;; + -D) + [[ $cur == *=* ]] && return # no completion for values + COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \ + 2>/dev/null | grep -v "^cpack version " )' -S = -- "$cur" ) ) + compopt -o nospace + return + ;; + -P|-R|--vendor) + # argument required but no completions available + return + ;; + -B) + _filedir -d + return + ;; + --config) + _filedir + return + ;; + --help-command) + COMPREPLY=( $( compgen -W '$( cpack --help-command-list 2>/dev/null| + grep -v "^cpack version " )' -- "$cur" ) ) + return + ;; + --help-manual) + COMPREPLY=( $( compgen -W '$( cpack --help-manual-list 2>/dev/null| + grep -v "^cpack version " | sed -e "s/([0-9])$//" )' -- "$cur" ) ) + return + ;; + --help-module) + COMPREPLY=( $( compgen -W '$( cpack --help-module-list 2>/dev/null| + grep -v "^cpack version " )' -- "$cur" ) ) + return + ;; + --help-policy) + COMPREPLY=( $( compgen -W '$( cpack --help-policy-list 2>/dev/null | + grep -v "^cpack version " )' -- "$cur" ) ) + return + ;; + --help-property) + COMPREPLY=( $( compgen -W '$( cpack --help-property-list \ + 2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) ) + return + ;; + --help-variable) + COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \ + 2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) ) + return + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) ) + [[ $COMPREPLY == *= ]] && compopt -o nospace + [[ $COMPREPLY ]] && return + fi + + _filedir +} && +complete -F _cpack cpack + +# ex: ts=4 sw=4 et filetype=sh diff --git a/Auxiliary/bash-completion/ctest b/Auxiliary/bash-completion/ctest new file mode 100644 index 0000000..49343bb --- /dev/null +++ b/Auxiliary/bash-completion/ctest @@ -0,0 +1,118 @@ +# bash completion for ctest(1) -*- shell-script -*- + +_ctest() +{ + local cur prev words cword + if type -t _init_completion >/dev/null; then + _init_completion -n = || return + else + # manual initialization for older bash completion versions + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + fi + + case "$prev" in + -C|--build-config) + COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo + MinSizeRel' -- "$cur" ) ) + return + ;; + -j|--parallel) + COMPREPLY=( $( compgen -W "{1..$(( $(_ncpus)*2 ))}" -- "$cur" ) ) + return + ;; + -O|--output-log|-A|--add-notes|--extra-submit) + _filedir + return + ;; + -L|--label-regex|-LE|--label-exclude) + COMPREPLY=( $( compgen -W '$( ctest --print-labels 2>/dev/null | + grep "^ " 2>/dev/null | cut -d" " -f 3 )' -- "$cur" ) ) + return + ;; + --track|-I|--tests-information|--max-width|--timeout|--stop-time) + # argument required but no completions available + return + ;; + -R|--tests-regex|-E|--exclude-regex) + COMPREPLY=( $( compgen -W '$( ctest -N 2>/dev/null | + grep "^ Test" 2>/dev/null | cut -d: -f 2 )' -- "$cur" ) ) + return + ;; + -D|--dashboard) + if [[ $cur == @(Experimental|Nightly|Continuous)* ]]; then + local model action + action=${cur#@(Experimental|Nightly|Continuous)} + model=${cur%"$action"} + COMPREPLY=( $( compgen -W 'Start Update Configure Build Test + Coverage Submit MemCheck' -P "$model" -- "$action" ) ) + else + COMPREPLY=( $( compgen -W 'Experimental Nightly Continuous' \ + -- "$cur" ) ) + compopt -o nospace + fi + return + ;; + -M|--test-model) + COMPREPLY=( $( compgen -W 'Experimental Nightly Continuous' -- \ + "$cur" ) ) + return + ;; + -T|--test-action) + COMPREPLY=( $( compgen -W 'Start Update Configure Build Test + Coverage Submit MemCheck' -- "$cur" ) ) + return + ;; + -S|--script|-SP|--script-new-process) + _filedir '@(cmake|ctest)' + return + ;; + --interactive-debug-mode) + COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) ) + return + ;; + + --help-command) + COMPREPLY=( $( compgen -W '$( ctest --help-command-list 2>/dev/null| + grep -v "^ctest version " )' -- "$cur" ) ) + return + ;; + --help-manual) + COMPREPLY=( $( compgen -W '$( ctest --help-manual-list 2>/dev/null| + grep -v "^ctest version " | sed -e "s/([0-9])$//" )' -- "$cur" ) ) + return + ;; + --help-module) + COMPREPLY=( $( compgen -W '$( ctest --help-module-list 2>/dev/null| + grep -v "^ctest version " )' -- "$cur" ) ) + return + ;; + --help-policy) + COMPREPLY=( $( compgen -W '$( ctest --help-policy-list 2>/dev/null | + grep -v "^ctest version " )' -- "$cur" ) ) + return + ;; + --help-property) + COMPREPLY=( $( compgen -W '$( ctest --help-property-list \ + 2>/dev/null | grep -v "^ctest version " )' -- "$cur" ) ) + return + ;; + --help-variable) + COMPREPLY=( $( compgen -W '$( ctest --help-variable-list \ + 2>/dev/null | grep -v "^ctest version " )' -- "$cur" ) ) + return + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) ) + [[ $COMPREPLY == *= ]] && compopt -o nospace + [[ $COMPREPLY ]] && return + fi + + _filedir +} && +complete -F _ctest ctest + +# ex: ts=4 sw=4 et filetype=sh diff --git a/Auxiliary/cmake-mode.el b/Auxiliary/cmake-mode.el new file mode 100644 index 0000000..e4fa6c1 --- /dev/null +++ b/Auxiliary/cmake-mode.el @@ -0,0 +1,393 @@ +;;; cmake-mode.el --- major-mode for editing CMake sources + +; Distributed under the OSI-approved BSD 3-Clause License. See accompanying +; file Copyright.txt or https://cmake.org/licensing for details. + +;------------------------------------------------------------------------------ + +;;; Commentary: + +;; Provides syntax highlighting and indentation for CMakeLists.txt and +;; *.cmake source files. +;; +;; Add this code to your .emacs file to use the mode: +;; +;; (setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path)) +;; (require 'cmake-mode) + +;------------------------------------------------------------------------------ + +;;; Code: +;; +;; cmake executable variable used to run cmake --help-command +;; on commands in cmake-mode +;; +;; cmake-command-help Written by James Bigler +;; + +(defcustom cmake-mode-cmake-executable "cmake" + "*The name of the cmake executable. + +This can be either absolute or looked up in $PATH. You can also +set the path with these commands: + (setenv \"PATH\" (concat (getenv \"PATH\") \";C:\\\\Program Files\\\\CMake 2.8\\\\bin\")) + (setenv \"PATH\" (concat (getenv \"PATH\") \":/usr/local/cmake/bin\"))" + :type 'file + :group 'cmake) + +;; Keywords +(defconst cmake-keywords-block-open '("IF" "MACRO" "FOREACH" "ELSE" "ELSEIF" "WHILE" "FUNCTION")) +(defconst cmake-keywords-block-close '("ENDIF" "ENDFOREACH" "ENDMACRO" "ELSE" "ELSEIF" "ENDWHILE" "ENDFUNCTION")) +(defconst cmake-keywords + (let ((kwds (append cmake-keywords-block-open cmake-keywords-block-close nil))) + (delete-dups kwds))) + +;; Regular expressions used by line indentation function. +;; +(defconst cmake-regex-blank "^[ \t]*$") +(defconst cmake-regex-comment "#.*") +(defconst cmake-regex-paren-left "(") +(defconst cmake-regex-paren-right ")") +(defconst cmake-regex-argument-quoted + (rx ?\" (* (or (not (any ?\" ?\\)) (and ?\\ anything))) ?\")) +(defconst cmake-regex-argument-unquoted + (rx (or (not (any space "()#\"\\\n")) (and ?\\ nonl)) + (* (or (not (any space "()#\\\n")) (and ?\\ nonl))))) +(defconst cmake-regex-token + (rx-to-string `(group (or (regexp ,cmake-regex-comment) + ?\( ?\) + (regexp ,cmake-regex-argument-unquoted) + (regexp ,cmake-regex-argument-quoted))))) +(defconst cmake-regex-indented + (rx-to-string `(and bol (* (group (or (regexp ,cmake-regex-token) (any space ?\n))))))) +(defconst cmake-regex-block-open + (rx-to-string `(and symbol-start (or ,@(append cmake-keywords-block-open + (mapcar 'downcase cmake-keywords-block-open))) symbol-end))) +(defconst cmake-regex-block-close + (rx-to-string `(and symbol-start (or ,@(append cmake-keywords-block-close + (mapcar 'downcase cmake-keywords-block-close))) symbol-end))) +(defconst cmake-regex-close + (rx-to-string `(and bol (* space) (regexp ,cmake-regex-block-close) + (* space) (regexp ,cmake-regex-paren-left)))) + +;------------------------------------------------------------------------------ + +;; Line indentation helper functions + +(defun cmake-line-starts-inside-string () + "Determine whether the beginning of the current line is in a string." + (save-excursion + (beginning-of-line) + (let ((parse-end (point))) + (goto-char (point-min)) + (nth 3 (parse-partial-sexp (point) parse-end)) + ) + ) + ) + +(defun cmake-find-last-indented-line () + "Move to the beginning of the last line that has meaningful indentation." + (let ((point-start (point)) + region) + (forward-line -1) + (setq region (buffer-substring-no-properties (point) point-start)) + (while (and (not (bobp)) + (or (looking-at cmake-regex-blank) + (cmake-line-starts-inside-string) + (not (and (string-match cmake-regex-indented region) + (= (length region) (match-end 0)))))) + (forward-line -1) + (setq region (buffer-substring-no-properties (point) point-start)) + ) + ) + ) + +;------------------------------------------------------------------------------ + +;; +;; Indentation increment. +;; +(defcustom cmake-tab-width 2 + "Number of columns to indent cmake blocks" + :type 'integer + :group 'cmake) + +;; +;; Line indentation function. +;; +(defun cmake-indent () + "Indent current line as CMake code." + (interactive) + (unless (cmake-line-starts-inside-string) + (if (bobp) + (cmake-indent-line-to 0) + (let (cur-indent) + (save-excursion + (beginning-of-line) + (let ((point-start (point)) + (case-fold-search t) ;; case-insensitive + token) + ; Search back for the last indented line. + (cmake-find-last-indented-line) + ; Start with the indentation on this line. + (setq cur-indent (current-indentation)) + ; Search forward counting tokens that adjust indentation. + (while (re-search-forward cmake-regex-token point-start t) + (setq token (match-string 0)) + (when (or (string-match (concat "^" cmake-regex-paren-left "$") token) + (and (string-match cmake-regex-block-open token) + (looking-at (concat "[ \t]*" cmake-regex-paren-left)))) + (setq cur-indent (+ cur-indent cmake-tab-width))) + (when (string-match (concat "^" cmake-regex-paren-right "$") token) + (setq cur-indent (- cur-indent cmake-tab-width))) + ) + (goto-char point-start) + ;; If next token closes the block, decrease indentation + (when (looking-at cmake-regex-close) + (setq cur-indent (- cur-indent cmake-tab-width)) + ) + ) + ) + ; Indent this line by the amount selected. + (cmake-indent-line-to (max cur-indent 0)) + ) + ) + ) + ) + +(defun cmake-point-in-indendation () + (string-match "^[ \\t]*$" (buffer-substring (point-at-bol) (point)))) + +(defun cmake-indent-line-to (column) + "Indent the current line to COLUMN. +If point is within the existing indentation it is moved to the end of +the indentation. Otherwise it retains the same position on the line" + (if (cmake-point-in-indendation) + (indent-line-to column) + (save-excursion (indent-line-to column)))) + +;------------------------------------------------------------------------------ + +;; +;; Helper functions for buffer +;; +(defun cmake-unscreamify-buffer () + "Convert all CMake commands to lowercase in buffer." + (interactive) + (save-excursion + (goto-char (point-min)) + (while (re-search-forward "^\\([ \t]*\\)\\_<\\(\\(?:\\w\\|\\s_\\)+\\)\\_>\\([ \t]*(\\)" nil t) + (replace-match + (concat + (match-string 1) + (downcase (match-string 2)) + (match-string 3)) + t)) + ) + ) + +;------------------------------------------------------------------------------ + +;; +;; Keyword highlighting regex-to-face map. +;; +(defconst cmake-font-lock-keywords + `((,(rx-to-string `(and symbol-start + (or ,@cmake-keywords + ,@(mapcar #'downcase cmake-keywords)) + symbol-end)) + . font-lock-keyword-face) + (,(rx symbol-start (group (+ (or word (syntax symbol)))) (* blank) ?\() + 1 font-lock-function-name-face) + (,(rx "${" (group (+(any alnum "-_+/."))) "}") + 1 font-lock-variable-name-face t) + ) + "Highlighting expressions for CMake mode.") + +;------------------------------------------------------------------------------ + +;; Syntax table for this mode. +(defvar cmake-mode-syntax-table nil + "Syntax table for CMake mode.") +(or cmake-mode-syntax-table + (setq cmake-mode-syntax-table + (let ((table (make-syntax-table))) + (modify-syntax-entry ?\( "()" table) + (modify-syntax-entry ?\) ")(" table) + (modify-syntax-entry ?# "<" table) + (modify-syntax-entry ?\n ">" table) + (modify-syntax-entry ?$ "'" table) + table))) + +;; +;; User hook entry point. +;; +(defvar cmake-mode-hook nil) + +;------------------------------------------------------------------------------ + +;; For compatibility with Emacs < 24 +(defalias 'cmake--parent-mode + (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode)) + +;;------------------------------------------------------------------------------ +;; Mode definition. +;; +;;;###autoload +(define-derived-mode cmake-mode cmake--parent-mode "CMake" + "Major mode for editing CMake source files." + + ; Setup font-lock mode. + (set (make-local-variable 'font-lock-defaults) '(cmake-font-lock-keywords)) + ; Setup indentation function. + (set (make-local-variable 'indent-line-function) 'cmake-indent) + ; Setup comment syntax. + (set (make-local-variable 'comment-start) "#")) + +; Help mode starts here + + +;;;###autoload +(defun cmake-command-run (type &optional topic buffer) + "Runs the command cmake with the arguments specified. The +optional argument topic will be appended to the argument list." + (interactive "s") + (let* ((bufname (if buffer buffer (concat "*CMake" type (if topic "-") topic "*"))) + (buffer (if (get-buffer bufname) (get-buffer bufname) (generate-new-buffer bufname))) + (command (concat cmake-mode-cmake-executable " " type " " topic)) + ;; Turn of resizing of mini-windows for shell-command. + (resize-mini-windows nil) + ) + (shell-command command buffer) + (save-selected-window + (select-window (display-buffer buffer 'not-this-window)) + (cmake-mode) + (read-only-mode 1)) + ) + ) + +;;;###autoload +(defun cmake-help-list-commands () + "Prints out a list of the cmake commands." + (interactive) + (cmake-command-run "--help-command-list") + ) + +(defvar cmake-commands '() "List of available topics for --help-command.") +(defvar cmake-help-command-history nil "Command read history.") +(defvar cmake-modules '() "List of available topics for --help-module.") +(defvar cmake-help-module-history nil "Module read history.") +(defvar cmake-variables '() "List of available topics for --help-variable.") +(defvar cmake-help-variable-history nil "Variable read history.") +(defvar cmake-properties '() "List of available topics for --help-property.") +(defvar cmake-help-property-history nil "Property read history.") +(defvar cmake-help-complete-history nil "Complete help read history.") +(defvar cmake-string-to-list-symbol + '(("command" cmake-commands cmake-help-command-history) + ("module" cmake-modules cmake-help-module-history) + ("variable" cmake-variables cmake-help-variable-history) + ("property" cmake-properties cmake-help-property-history) + )) + +(defun cmake-get-list (listname) + "If the value of LISTVAR is nil, run cmake --help-LISTNAME-list +and store the result as a list in LISTVAR." + (let ((listvar (car (cdr (assoc listname cmake-string-to-list-symbol))))) + (if (not (symbol-value listvar)) + (let ((temp-buffer-name "*CMake Temporary*")) + (save-window-excursion + (cmake-command-run (concat "--help-" listname "-list") nil temp-buffer-name) + (with-current-buffer temp-buffer-name + ; FIXME: Ignore first line if it is "cmake version ..." from CMake < 3.0. + (set listvar (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n" t))))) + (symbol-value listvar) + )) + ) + +(require 'thingatpt) +(defun cmake-symbol-at-point () + (let ((symbol (symbol-at-point))) + (and (not (null symbol)) + (symbol-name symbol)))) + +(defun cmake-help-type (type) + (let* ((default-entry (cmake-symbol-at-point)) + (history (car (cdr (cdr (assoc type cmake-string-to-list-symbol))))) + (input (completing-read + (format "CMake %s: " type) ; prompt + (cmake-get-list type) ; completions + nil ; predicate + t ; require-match + default-entry ; initial-input + history + ))) + (if (string= input "") + (error "No argument given") + input)) + ) + +;;;###autoload +(defun cmake-help-command () + "Prints out the help message for the command the cursor is on." + (interactive) + (cmake-command-run "--help-command" (cmake-help-type "command") "*CMake Help*")) + +;;;###autoload +(defun cmake-help-module () + "Prints out the help message for the module the cursor is on." + (interactive) + (cmake-command-run "--help-module" (cmake-help-type "module") "*CMake Help*")) + +;;;###autoload +(defun cmake-help-variable () + "Prints out the help message for the variable the cursor is on." + (interactive) + (cmake-command-run "--help-variable" (cmake-help-type "variable") "*CMake Help*")) + +;;;###autoload +(defun cmake-help-property () + "Prints out the help message for the property the cursor is on." + (interactive) + (cmake-command-run "--help-property" (cmake-help-type "property") "*CMake Help*")) + +;;;###autoload +(defun cmake-help () + "Queries for any of the four available help topics and prints out the appropriate page." + (interactive) + (let* ((default-entry (cmake-symbol-at-point)) + (command-list (cmake-get-list "command")) + (variable-list (cmake-get-list "variable")) + (module-list (cmake-get-list "module")) + (property-list (cmake-get-list "property")) + (all-words (append command-list variable-list module-list property-list)) + (input (completing-read + "CMake command/module/variable/property: " ; prompt + all-words ; completions + nil ; predicate + t ; require-match + default-entry ; initial-input + 'cmake-help-complete-history + ))) + (if (string= input "") + (error "No argument given") + (if (member input command-list) + (cmake-command-run "--help-command" input "*CMake Help*") + (if (member input variable-list) + (cmake-command-run "--help-variable" input "*CMake Help*") + (if (member input module-list) + (cmake-command-run "--help-module" input "*CMake Help*") + (if (member input property-list) + (cmake-command-run "--help-property" input "*CMake Help*") + (error "Not a know help topic.") ; this really should not happen + )))))) + ) + +;;;###autoload +(progn + (add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode)) + (add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode))) + +; This file provides cmake-mode. +(provide 'cmake-mode) + +;;; cmake-mode.el ends here diff --git a/Auxiliary/cmake.m4 b/Auxiliary/cmake.m4 new file mode 100644 index 0000000..7beff41 --- /dev/null +++ b/Auxiliary/cmake.m4 @@ -0,0 +1,44 @@ +dnl Distributed under the OSI-approved BSD 3-Clause License. See accompanying +dnl file Copyright.txt or https://cmake.org/licensing for details. + +AC_DEFUN([CMAKE_FIND_BINARY], +[AC_ARG_VAR([CMAKE_BINARY], [path to the cmake binary])dnl + +if test "x$ac_cv_env_CMAKE_BINARY_set" != "xset"; then + AC_PATH_TOOL([CMAKE_BINARY], [cmake])dnl +fi +])dnl + +# $1: package name +# $2: language (e.g. C/CXX/Fortran) +# $3: The compiler ID, defaults to GNU. +# Possible values are: GNU, Intel, Clang, SunPro, HP, XL, VisualAge, PGI, +# PathScale, Cray, SCO, MIPSpro, MSVC +# $4: optional extra arguments to cmake, e.g. "-DCMAKE_SIZEOF_VOID_P=8" +# $5: optional path to cmake binary +AC_DEFUN([CMAKE_FIND_PACKAGE], [ +AC_REQUIRE([CMAKE_FIND_BINARY])dnl + +AC_ARG_VAR([$1][_][$2][FLAGS], [$2 compiler flags for $1. This overrides the cmake output])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1. This overrides the cmake output])dnl + +failed=false +AC_MSG_CHECKING([for $1]) +if test -z "${$1[]_$2[]FLAGS}"; then + $1[]_$2[]FLAGS=`$CMAKE_BINARY --find-package "-DNAME=$1" "-DCOMPILER_ID=m4_default([$3], [GNU])" "-DLANGUAGE=$2" -DMODE=COMPILE $4` || failed=true +fi +if test -z "${$1[]_LIBS}"; then + $1[]_LIBS=`$CMAKE_BINARY --find-package "-DNAME=$1" "-DCOMPILER_ID=m4_default([$3], [GNU])" "-DLANGUAGE=$2" -DMODE=LINK $4` || failed=true +fi + +if $failed; then + unset $1[]_$2[]FLAGS + unset $1[]_LIBS + + AC_MSG_RESULT([no]) + $6 +else + AC_MSG_RESULT([yes]) + $5 +fi[]dnl +]) diff --git a/Auxiliary/vim/cmake.vim.in b/Auxiliary/vim/cmake.vim.in new file mode 100644 index 0000000..77ad3d8 --- /dev/null +++ b/Auxiliary/vim/cmake.vim.in @@ -0,0 +1,130 @@ +" Vim syntax file +" Program: CMake - Cross-Platform Makefile Generator +" Version: @VERSION@ +" Language: CMake +" Author: Andy Cedilnik <andy.cedilnik@kitware.com>, +" Nicholas Hutchinson <nshutchinson@gmail.com>, +" Patrick Boettcher <patrick.boettcher@posteo.de> +" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> +" Last Change: @DATE@ +" +" Licence: The CMake license applies to this file. See +" https://cmake.org/licensing +" This implies that distribution with Vim is allowed + +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +syn region cmakeBracketArgument start="\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn region cmakeComment start="#" end="$" contains=cmakeTodo,@Spell +syn region cmakeBracketComment start="#\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained +syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped + +syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo + +syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped + +syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo + +syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo + +syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo + +syn case match + +syn keyword cmakeProperty contained +@PROPERTIES@ + +syn keyword cmakeVariable contained +@VARIABLE_LIST@ + +syn keyword cmakeModule contained +@MODULES@ + +@KEYWORDS@ + +syn keyword cmakeGeneratorExpressions contained +@GENERATOR_EXPRESSIONS@ + +syn case ignore + +syn keyword cmakeCommand +@COMMAND_LIST@ + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandConditional +@CONDITIONALS@ + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandRepeat +@LOOPS@ + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandDeprecated +@DEPRECATED@ + \ nextgroup=cmakeArguments + +syn case match + +syn keyword cmakeTodo + \ TODO FIXME XXX + \ contained + +hi def link cmakeBracketArgument String +hi def link cmakeBracketComment Comment +hi def link cmakeCommand Function +hi def link cmakeCommandConditional Conditional +hi def link cmakeCommandDeprecated WarningMsg +hi def link cmakeCommandRepeat Repeat +hi def link cmakeComment Comment +hi def link cmakeEnvironment Special +hi def link cmakeEscaped Special +hi def link cmakeGeneratorExpression WarningMsg +hi def link cmakeGeneratorExpressions Constant +hi def link cmakeModule Include +hi def link cmakeProperty Constant +hi def link cmakeRegistry Underlined +hi def link cmakeString String +hi def link cmakeTodo TODO +hi def link cmakeVariableValue Type +hi def link cmakeVariable Identifier + +@KEYWORDS_HIGHLIGHT@ + +" Manually added - difficult to parse out of documentation +syn case ignore + +syn keyword cmakeCommandManuallyAdded + \ configure_package_config_file write_basic_package_version_file + \ nextgroup=cmakeArguments + +syn case match + +syn keyword cmakeKWconfigure_package_config_file contained + \ INSTALL_DESTINATION PATH_VARS NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO INSTALL_PREFIX + +syn keyword cmakeKWconfigure_package_config_file_constants contained + \ AnyNewerVersion SameMajorVersion SameMinorVersion ExactVersion + +syn keyword cmakeKWwrite_basic_package_version_file contained + \ VERSION COMPATIBILITY + +hi def link cmakeCommandManuallyAdded Function + +hi def link cmakeKWconfigure_package_config_file ModeMsg +hi def link cmakeKWwrite_basic_package_version_file ModeMsg +hi def link cmakeKWconfigure_package_config_file_constants Constant + +let b:current_syntax = "cmake" + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim: set nowrap: diff --git a/Auxiliary/vim/extract-upper-case.pl b/Auxiliary/vim/extract-upper-case.pl new file mode 100755 index 0000000..6dbb678 --- /dev/null +++ b/Auxiliary/vim/extract-upper-case.pl @@ -0,0 +1,166 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use POSIX qw(strftime); + +#my $cmake = "/home/pboettch/devel/upstream/cmake/build/bin/cmake"; +my $cmake = "cmake"; + +my @variables; +my @commands; +my @properties; +my @modules; +my %keywords; # command => keyword-list + +# unwanted upper-cases +my %unwanted = map { $_ => 1 } qw(VS CXX IDE NOTFOUND NO_ DFOO DBAR NEW); + # cannot remove ALL - exists for add_custom_command + +# control-statements +my %conditional = map { $_ => 1 } qw(if else elseif endif); +my %loop = map { $_ => 1 } qw(foreach while endforeach endwhile); + +# decrecated +my %deprecated = map { $_ => 1 } qw(build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file); + +# add some (popular) modules +push @modules, "ExternalProject"; + +# variables +open(CMAKE, "$cmake --help-variable-list|") or die "could not run cmake"; +while (<CMAKE>) { + next if /\</; # skip if containing < or > + chomp; + push @variables, $_; +} +close(CMAKE); + +# transform all variables in a hash - to be able to use exists later on +my %variables = map { $_ => 1 } @variables; + +# commands +open(CMAKE, "$cmake --help-command-list|"); +while (my $cmd = <CMAKE>) { + chomp $cmd; + push @commands, $cmd; +} +close(CMAKE); + +# now generate a keyword-list per command +foreach my $cmd (@commands) { + my @word = extract_upper("$cmake --help-command $cmd|"); + + next if scalar @word == 0; + + $keywords{$cmd} = [ sort keys %{ { map { $_ => 1 } @word } } ]; +} + +# and now for modules +foreach my $mod (@modules) { + my @word = extract_upper("$cmake --help-module $mod|"); + + next if scalar @word == 0; + + $keywords{$mod} = [ sort keys %{ { map { $_ => 1 } @word } } ]; +} + +# and now for generator-expressions +my @generator_expr = extract_upper("$cmake --help-manual cmake-generator-expressions |"); + +# properties +open(CMAKE, "$cmake --help-property-list|"); +while (<CMAKE>) { + next if /\</; # skip if containing < or > + chomp; + push @properties, $_; +} +close(CMAKE); + +# transform all properties in a hash +my %properties = map { $_ => 1 } @properties; + +# version +open(CMAKE, "$cmake --version|"); +my $version = 'unknown'; +while (<CMAKE>) { + chomp; + $version = $_ if /cmake version/; +} +close(CMAKE); + +# generate cmake.vim +open(IN, "<cmake.vim.in") or die "could not read cmake.vim.in"; +open(OUT, ">syntax/cmake.vim") or die "could not write to syntax/cmake.vim"; + +my @keyword_hi; + +while(<IN>) +{ + if (m/\@([A-Z0-9_]+)\@/) { # match for @SOMETHING@ + if ($1 eq "COMMAND_LIST") { + # do not include "special" commands in this list + my @tmp = grep { ! exists $conditional{$_} and + ! exists $loop{$_} and + ! exists $deprecated{$_} } @commands; + print OUT " " x 12 , "\\ ", join(" ", @tmp), "\n"; + } elsif ($1 eq "VARIABLE_LIST") { + print OUT " " x 12 , "\\ ", join(" ", sort keys %variables), "\n"; + } elsif ($1 eq "MODULES") { + print OUT " " x 12 , "\\ ", join("\n", @modules), "\n"; + } elsif ($1 eq "GENERATOR_EXPRESSIONS") { + print OUT " " x 12 , "\\ ", join(" ", @generator_expr), "\n"; + } elsif ($1 eq "CONDITIONALS") { + print OUT " " x 12 , "\\ ", join(" ", sort keys %conditional), "\n"; + } elsif ($1 eq "LOOPS") { + print OUT " " x 12 , "\\ ", join(" ", sort keys %loop), "\n"; + } elsif ($1 eq "DEPRECATED") { + print OUT " " x 12 , "\\ ", join(" ", sort keys %deprecated), "\n"; + } elsif ($1 eq "PROPERTIES") { + print OUT " " x 12 , "\\ ", join(" ", sort keys %properties), "\n"; + } elsif ($1 eq "KEYWORDS") { + foreach my $k (sort keys %keywords) { + print OUT "syn keyword cmakeKW$k contained\n"; + print OUT " " x 12, "\\ ", join(" ", @{$keywords{$k}}), "\n"; + print OUT "\n"; + push @keyword_hi, "hi def link cmakeKW$k ModeMsg"; + } + } elsif ($1 eq "KEYWORDS_HIGHLIGHT") { + print OUT join("\n", @keyword_hi), "\n"; + } elsif ($1 eq "VERSION") { + $_ =~ s/\@VERSION\@/$version/; + print OUT $_; + } elsif ($1 eq "DATE") { + my $date = strftime "%Y %b %d", localtime; + $_ =~ s/\@DATE\@/$date/; + print OUT $_; + } else { + print "ERROR do not know how to replace $1\n"; + } + } else { + print OUT $_; + } +} +close(IN); +close(OUT); + +sub extract_upper +{ + my $input = shift; + my @word; + + open(KW, $input); + while (<KW>) { + foreach my $w (m/\b([A-Z_]{2,})\b/g) { + next + if exists $variables{$w} or # skip if it is a variable + exists $unwanted{$w} or # skip if not wanted + grep(/$w/, @word); # skip if already in array + + push @word, $w; + } + } + close(KW); + + return @word; +} diff --git a/Auxiliary/vim/indent/cmake.vim b/Auxiliary/vim/indent/cmake.vim new file mode 100644 index 0000000..33e583d --- /dev/null +++ b/Auxiliary/vim/indent/cmake.vim @@ -0,0 +1,89 @@ +" Vim indent file +" Language: CMake (ft=cmake) +" Author: Andy Cedilnik <andy.cedilnik@kitware.com> +" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> +" Last Change: 2017 Aug 30 +" +" Licence: The CMake license applies to this file. See +" https://cmake.org/licensing +" This implies that distribution with Vim is allowed + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +let s:keepcpo= &cpo +set cpo&vim + +setlocal indentexpr=CMakeGetIndent(v:lnum) +setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE( + +" Only define the function once. +if exists("*CMakeGetIndent") + finish +endif + +fun! CMakeGetIndent(lnum) + let this_line = getline(a:lnum) + + " Find a non-blank line above the current line. + let lnum = a:lnum + let lnum = prevnonblank(lnum - 1) + let previous_line = getline(lnum) + + " Hit the start of the file, use zero indent. + if lnum == 0 + return 0 + endif + + let ind = indent(lnum) + + let or = '\|' + " Regular expressions used by line indentation function. + let cmake_regex_comment = '#.*' + let cmake_regex_identifier = '[A-Za-z][A-Za-z0-9_]*' + let cmake_regex_quoted = '"\([^"\\]\|\\.\)*"' + let cmake_regex_arguments = '\(' . cmake_regex_quoted . + \ or . '\$(' . cmake_regex_identifier . ')' . + \ or . '[^()\\#"]' . or . '\\.' . '\)*' + + let cmake_indent_comment_line = '^\s*' . cmake_regex_comment + let cmake_indent_blank_regex = '^\s*$' + let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier . + \ '\s*(' . cmake_regex_arguments . + \ '\(' . cmake_regex_comment . '\)\?$' + + let cmake_indent_close_regex = '^' . cmake_regex_arguments . + \ ')\s*' . + \ '\(' . cmake_regex_comment . '\)\?$' + + let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*(' + let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*(' + + " Add + if previous_line =~? cmake_indent_comment_line " Handle comments + let ind = ind + else + if previous_line =~? cmake_indent_begin_regex + let ind = ind + shiftwidth() + endif + if previous_line =~? cmake_indent_open_regex + let ind = ind + shiftwidth() + endif + endif + + " Subtract + if this_line =~? cmake_indent_end_regex + let ind = ind - shiftwidth() + endif + if previous_line =~? cmake_indent_close_regex + let ind = ind - shiftwidth() + endif + + return ind +endfun + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/Auxiliary/vim/syntax/cmake.vim b/Auxiliary/vim/syntax/cmake.vim new file mode 100644 index 0000000..7f58324 --- /dev/null +++ b/Auxiliary/vim/syntax/cmake.vim @@ -0,0 +1,524 @@ +" Vim syntax file +" Program: CMake - Cross-Platform Makefile Generator +" Version: cmake version 3.13.20181010-ga3598 +" Language: CMake +" Author: Andy Cedilnik <andy.cedilnik@kitware.com>, +" Nicholas Hutchinson <nshutchinson@gmail.com>, +" Patrick Boettcher <patrick.boettcher@posteo.de> +" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> +" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> +" Last Change: 2018 Oct 10 +" +" Licence: The CMake license applies to this file. See +" https://cmake.org/licensing +" This implies that distribution with Vim is allowed + +if exists("b:current_syntax") + finish +endif +let s:keepcpo= &cpo +set cpo&vim + +syn region cmakeBracketArgument start="\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn region cmakeComment start="#" end="$" contains=cmakeTodo,@Spell +syn region cmakeBracketComment start="#\[\z(=\?\|=[0-9]*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell + +syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained +syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped + +syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo + +syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped + +syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo + +syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo + +syn region cmakeArguments start="(" end=")" contains=ALLBUT,cmakeCommand,cmakeCommandConditional,cmakeCommandRepeat,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo + +syn case match + +syn keyword cmakeProperty contained + \ ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ADVANCED ALIASED_TARGET ALLOW_DUPLICATE_CUSTOM_TARGETS 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 ARCHIVE_OUTPUT_NAME ATTACHED_FILES ATTACHED_FILES_ON_FAIL AUTOGEN_BUILD_DIR AUTOGEN_PARALLEL AUTOGEN_SOURCE_GROUP AUTOGEN_TARGETS_FOLDER AUTOGEN_TARGET_DEPENDS AUTOMOC AUTOMOC_COMPILER_PREDEFINES AUTOMOC_DEPEND_FILTERS AUTOMOC_MACRO_NAMES AUTOMOC_MOC_OPTIONS AUTOMOC_SOURCE_GROUP AUTOMOC_TARGETS_FOLDER AUTORCC AUTORCC_OPTIONS AUTORCC_SOURCE_GROUP AUTOUIC AUTOUIC_OPTIONS AUTOUIC_SEARCH_PATHS BINARY_DIR BUILDSYSTEM_TARGETS BUILD_RPATH BUILD_WITH_INSTALL_NAME_DIR BUILD_WITH_INSTALL_RPATH BUNDLE BUNDLE_EXTENSION CACHE_VARIABLES CLEAN_NO_CUSTOM CMAKE_CONFIGURE_DEPENDS CMAKE_CXX_KNOWN_FEATURES CMAKE_C_KNOWN_FEATURES 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_OUTPUT_DIRECTORY COST CPACK_DESKTOP_SHORTCUTS CPACK_NEVER_OVERWRITE CPACK_PERMANENT CPACK_STARTUP_SHORTCUTS CPACK_START_MENU_SHORTCUTS CPACK_WIX_ACL CROSSCOMPILING_EMULATOR CUDA_EXTENSIONS CUDA_PTX_COMPILATION CUDA_RESOLVE_DEVICE_SYMBOLS CUDA_SEPARABLE_COMPILATION CUDA_STANDARD CUDA_STANDARD_REQUIRED CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEBUG_CONFIGURATIONS DEBUG_POSTFIX DEFINE_SYMBOL DEFINITIONS DEPENDS DEPLOYMENT_ADDITIONAL_FILES DEPLOYMENT_REMOTE_DIRECTORY DISABLED DISABLED_FEATURES DOTNET_TARGET_FRAMEWORK_VERSION ECLIPSE_EXTRA_CPROJECT_CONTENTS ECLIPSE_EXTRA_NATURES ENABLED_FEATURES ENABLED_LANGUAGES ENABLE_EXPORTS ENVIRONMENT EXCLUDE_FROM_ALL EXCLUDE_FROM_DEFAULT_BUILD EXPORT_NAME EXPORT_PROPERTIES EXTERNAL_OBJECT EchoString FAIL_REGULAR_EXPRESSION FIND_LIBRARY_USE_LIB32_PATHS FIND_LIBRARY_USE_LIB64_PATHS FIND_LIBRARY_USE_LIBX32_PATHS FIND_LIBRARY_USE_OPENBSD_VERSIONING FIXTURES_CLEANUP FIXTURES_REQUIRED FIXTURES_SETUP FOLDER FRAMEWORK FRAMEWORK_VERSION Fortran_FORMAT Fortran_MODULE_DIRECTORY GENERATED GENERATOR_FILE_NAME GENERATOR_IS_MULTI_CONFIG GLOBAL_DEPENDS_DEBUG_MODE GLOBAL_DEPENDS_NO_CYCLES GNUtoMS HAS_CXX HEADER_FILE_ONLY HELPSTRING IMPLICIT_DEPENDS_INCLUDE_TRANSFORM IMPORTED IMPORTED_COMMON_LANGUAGE_RUNTIME IMPORTED_CONFIGURATIONS IMPORTED_GLOBAL IMPORTED_IMPLIB IMPORTED_LIBNAME IMPORTED_LINK_DEPENDENT_LIBRARIES IMPORTED_LINK_INTERFACE_LANGUAGES IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_INTERFACE_MULTIPLICITY IMPORTED_LOCATION IMPORTED_NO_SONAME IMPORTED_OBJECTS IMPORTED_SONAME IMPORT_PREFIX IMPORT_SUFFIX INCLUDE_DIRECTORIES INCLUDE_REGULAR_EXPRESSION INSTALL_NAME_DIR 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_POSITION_INDEPENDENT_CODE INTERFACE_SOURCES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES INTERPROCEDURAL_OPTIMIZATION IN_TRY_COMPILE IOS_INSTALL_COMBINED JOB_POOLS JOB_POOL_COMPILE JOB_POOL_LINK KEEP_EXTENSION LABELS LANGUAGE LIBRARY_OUTPUT_DIRECTORY LIBRARY_OUTPUT_NAME LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED LINK_DIRECTORIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_MULTIPLICITY LINK_LIBRARIES LINK_OPTIONS LINK_SEARCH_END_STATIC LINK_SEARCH_START_STATIC LINK_WHAT_YOU_USE LISTFILE_STACK LOCATION MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_PACKAGE_LOCATION MACOSX_RPATH MACROS MANUALLY_ADDED_DEPENDENCIES MEASUREMENT MODIFIED NAME NO_SONAME NO_SYSTEM_FROM_IMPORTED OBJECT_DEPENDS OBJECT_OUTPUTS OSX_ARCHITECTURES OUTPUT_NAME PACKAGES_FOUND PACKAGES_NOT_FOUND PARENT_DIRECTORY PASS_REGULAR_EXPRESSION PDB_NAME PDB_OUTPUT_DIRECTORY POSITION_INDEPENDENT_CODE POST_INSTALL_SCRIPT PREDEFINED_TARGETS_FOLDER PREFIX PRE_INSTALL_SCRIPT PRIVATE_HEADER PROCESSORS PROCESSOR_AFFINITY PROJECT_LABEL PUBLIC_HEADER REPORT_UNDEFINED_PROPERTIES REQUIRED_FILES RESOURCE RESOURCE_LOCK RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK RULE_MESSAGES RUNTIME_OUTPUT_DIRECTORY RUNTIME_OUTPUT_NAME RUN_SERIAL SKIP_AUTOGEN SKIP_AUTOMOC SKIP_AUTORCC SKIP_AUTOUIC SKIP_BUILD_RPATH SKIP_RETURN_CODE SOURCES SOURCE_DIR SOVERSION STATIC_LIBRARY_FLAGS STATIC_LIBRARY_OPTIONS STRINGS SUBDIRECTORIES SUFFIX SYMBOLIC TARGET_ARCHIVES_MAY_BE_SHARED_LIBS TARGET_MESSAGES TARGET_SUPPORTS_SHARED_LIBS TESTS TEST_INCLUDE_FILE TEST_INCLUDE_FILES TIMEOUT TIMEOUT_AFTER_MATCH TYPE USE_FOLDERS VALUE VARIABLES VERSION VISIBILITY_INLINES_HIDDEN VS_CONFIGURATION_TYPE VS_COPY_TO_OUT_DIR VS_DEBUGGER_COMMAND VS_DEBUGGER_COMMAND_ARGUMENTS VS_DEBUGGER_ENVIRONMENT VS_DEBUGGER_WORKING_DIRECTORY VS_DEPLOYMENT_CONTENT VS_DEPLOYMENT_LOCATION VS_DESKTOP_EXTENSIONS_VERSION VS_DOTNET_REFERENCES VS_DOTNET_REFERENCES_COPY_LOCAL VS_DOTNET_TARGET_FRAMEWORK_VERSION VS_GLOBAL_KEYWORD VS_GLOBAL_PROJECT_TYPES VS_GLOBAL_ROOTNAMESPACE VS_INCLUDE_IN_VSIX VS_IOT_EXTENSIONS_VERSION VS_IOT_STARTUP_TASK VS_KEYWORD VS_MOBILE_EXTENSIONS_VERSION VS_RESOURCE_GENERATOR VS_SCC_AUXPATH VS_SCC_LOCALPATH VS_SCC_PROJECTNAME VS_SCC_PROVIDER VS_SDK_REFERENCES 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_STARTUP_PROJECT VS_TOOL_OVERRIDE VS_USER_PROPS VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION VS_WINRT_COMPONENT VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES VS_XAML_TYPE WILL_FAIL WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS WORKING_DIRECTORY WRAP_EXCLUDE XCODE_EMIT_EFFECTIVE_PLATFORM_NAME XCODE_EXPLICIT_FILE_TYPE XCODE_FILE_ATTRIBUTES XCODE_LAST_KNOWN_FILE_TYPE XCODE_PRODUCT_TYPE XCODE_SCHEME_ADDRESS_SANITIZER XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN XCODE_SCHEME_ARGUMENTS 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_ZOMBIE_OBJECTS XCTEST + +syn keyword cmakeVariable contained + \ ANDROID APPLE BORLAND BUILD_SHARED_LIBS CACHE CMAKE_ABSOLUTE_DESTINATION_FILES 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_APPBUNDLE_PATH CMAKE_AR CMAKE_ARCHIVE_OUTPUT_DIRECTORY CMAKE_ARGC CMAKE_ARGV0 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_RELAXED_MODE CMAKE_AUTORCC CMAKE_AUTORCC_OPTIONS CMAKE_AUTOUIC CMAKE_AUTOUIC_OPTIONS CMAKE_AUTOUIC_SEARCH_PATHS CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BINARY_DIR CMAKE_BUILD_RPATH CMAKE_BUILD_TOOL CMAKE_BUILD_TYPE CMAKE_BUILD_WITH_INSTALL_NAME_DIR CMAKE_BUILD_WITH_INSTALL_RPATH CMAKE_CACHEFILE_DIR CMAKE_CACHE_MAJOR_VERSION CMAKE_CACHE_MINOR_VERSION CMAKE_CACHE_PATCH_VERSION CMAKE_CFG_INTDIR CMAKE_CL_64 CMAKE_CODEBLOCKS_COMPILER_ID CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES CMAKE_CODELITE_USE_TARGETS CMAKE_COLOR_MAKEFILE CMAKE_COMMAND CMAKE_COMPILER_2005 CMAKE_COMPILER_IS_GNUCC CMAKE_COMPILER_IS_GNUCXX CMAKE_COMPILER_IS_GNUG77 CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY CMAKE_CONFIGURATION_TYPES CMAKE_CPACK_COMMAND CMAKE_CROSSCOMPILING CMAKE_CROSSCOMPILING_EMULATOR CMAKE_CTEST_COMMAND CMAKE_CUDA_EXTENSIONS CMAKE_CUDA_HOST_COMPILER CMAKE_CUDA_SEPARABLE_COMPILATION CMAKE_CUDA_STANDARD CMAKE_CUDA_STANDARD_REQUIRED CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES CMAKE_CURRENT_BINARY_DIR CMAKE_CURRENT_LIST_DIR CMAKE_CURRENT_LIST_FILE CMAKE_CURRENT_LIST_LINE CMAKE_CURRENT_SOURCE_DIR 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_DEBUG_POSTFIX CMAKE_DEBUG_TARGET_PROPERTIES CMAKE_DEPENDS_IN_PROJECT_ONLY CMAKE_DIRECTORY_LABELS CMAKE_DL_LIBS CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT CMAKE_ECLIPSE_MAKE_ARGUMENTS CMAKE_ECLIPSE_VERSION CMAKE_EDIT_COMMAND CMAKE_ENABLE_EXPORTS CMAKE_ERROR_DEPRECATED CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_EXECUTABLE_SUFFIX CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS_INIT CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_EXTRA_GENERATOR CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES 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_NAME CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY CMAKE_FIND_PACKAGE_SORT_DIRECTION CMAKE_FIND_PACKAGE_SORT_ORDER 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_FOLDER CMAKE_FRAMEWORK_PATH CMAKE_Fortran_FORMAT CMAKE_Fortran_MODDIR_DEFAULT CMAKE_Fortran_MODDIR_FLAG CMAKE_Fortran_MODOUT_FLAG CMAKE_Fortran_MODULE_DIRECTORY CMAKE_GENERATOR CMAKE_GENERATOR_INSTANCE CMAKE_GENERATOR_PLATFORM CMAKE_GENERATOR_TOOLSET CMAKE_GNUtoMS CMAKE_HOME_DIRECTORY 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_IGNORE_PATH CMAKE_IMPORT_LIBRARY_PREFIX CMAKE_IMPORT_LIBRARY_SUFFIX CMAKE_INCLUDE_CURRENT_DIR CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE 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_NAME_DIR CMAKE_INSTALL_PREFIX CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT CMAKE_INSTALL_RPATH CMAKE_INSTALL_RPATH_USE_LINK_PATH CMAKE_INTERNAL_PLATFORM_ABI CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_IOS_INSTALL_COMBINED CMAKE_JOB_POOLS CMAKE_JOB_POOL_COMPILE CMAKE_JOB_POOL_LINK CMAKE_LIBRARY_ARCHITECTURE CMAKE_LIBRARY_ARCHITECTURE_REGEX CMAKE_LIBRARY_OUTPUT_DIRECTORY CMAKE_LIBRARY_PATH CMAKE_LIBRARY_PATH_FLAG CMAKE_LINK_DEF_FILE_FLAG CMAKE_LINK_DEPENDS_NO_SHARED CMAKE_LINK_DIRECTORIES_BEFORE CMAKE_LINK_INTERFACE_LIBRARIES CMAKE_LINK_LIBRARY_FILE_FLAG CMAKE_LINK_LIBRARY_FLAG CMAKE_LINK_LIBRARY_SUFFIX CMAKE_LINK_SEARCH_END_STATIC CMAKE_LINK_SEARCH_START_STATIC CMAKE_LINK_WHAT_YOU_USE CMAKE_MACOSX_BUNDLE CMAKE_MACOSX_RPATH CMAKE_MAJOR_VERSION CMAKE_MAKE_PROGRAM CMAKE_MATCH_COUNT CMAKE_MFC_FLAG CMAKE_MINIMUM_REQUIRED_VERSION CMAKE_MINOR_VERSION CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS_INIT CMAKE_MODULE_PATH CMAKE_MSVCIDE_RUN_PATH CMAKE_NETRC CMAKE_NETRC_FILE CMAKE_NINJA_OUTPUT_PATH_PREFIX CMAKE_NOT_USING_CONFIG_FLAGS CMAKE_NO_BUILTIN_CHRPATH CMAKE_NO_SYSTEM_FROM_IMPORTED CMAKE_OBJECT_PATH_MAX CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE CMAKE_PREFIX_PATH CMAKE_PROGRAM_PATH 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_RUNTIME_OUTPUT_DIRECTORY CMAKE_SCRIPT_MODE_FILE CMAKE_SHARED_LIBRARY_PREFIX CMAKE_SHARED_LIBRARY_SUFFIX CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS_INIT CMAKE_SHARED_MODULE_PREFIX CMAKE_SHARED_MODULE_SUFFIX CMAKE_SIZEOF_VOID_P CMAKE_SKIP_BUILD_RPATH CMAKE_SKIP_INSTALL_ALL_DEPENDENCY CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_INSTALL_RULES CMAKE_SKIP_RPATH CMAKE_SOURCE_DIR CMAKE_STAGING_PREFIX CMAKE_STATIC_LIBRARY_PREFIX CMAKE_STATIC_LIBRARY_SUFFIX CMAKE_STATIC_LINKER_FLAGS CMAKE_STATIC_LINKER_FLAGS_INIT 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 CMAKE_SYSTEM_APPBUNDLE_PATH CMAKE_SYSTEM_FRAMEWORK_PATH CMAKE_SYSTEM_IGNORE_PATH CMAKE_SYSTEM_INCLUDE_PATH CMAKE_SYSTEM_LIBRARY_PATH CMAKE_SYSTEM_NAME CMAKE_SYSTEM_PREFIX_PATH CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_PROGRAM_PATH CMAKE_SYSTEM_VERSION CMAKE_Swift_LANGUAGE_VERSION CMAKE_TOOLCHAIN_FILE CMAKE_TRY_COMPILE_CONFIGURATION CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_TRY_COMPILE_TARGET_TYPE CMAKE_TWEAK_VERSION CMAKE_USER_MAKE_RULES_OVERRIDE CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE CMAKE_VERSION CMAKE_VISIBILITY_INLINES_HIDDEN CMAKE_VS_DEVENV_COMMAND CMAKE_VS_GLOBALS CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD CMAKE_VS_INTEL_Fortran_PROJECT_VERSION 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_PLATFORM_TOOLSET_VERSION 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_WINDOWS_TARGET_PLATFORM_VERSION CMAKE_VS_WINRT_BY_DEFAULT CMAKE_WARN_DEPRECATED CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_WIN32_EXECUTABLE CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS CMAKE_XCODE_GENERATE_SCHEME CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY CMAKE_XCODE_PLATFORM_TOOLSET CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE 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_ZOMBIE_OBJECTS 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_INSTALL_SCRIPT CPACK_PACKAGING_INSTALL_PREFIX CPACK_SET_DESTDIR CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION 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 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_RUN_CURRENT_SCRIPT CTEST_SCP_COMMAND CTEST_SITE 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_USE_LAUNCHERS CYGWIN ENV EXECUTABLE_OUTPUT_PATH GHS-MULTI LIBRARY_OUTPUT_PATH MINGW MSVC MSVC10 MSVC11 MSVC12 MSVC14 MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 MSVC_IDE MSVC_TOOLSET_VERSION MSVC_VERSION 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 UNIX WIN32 WINCE WINDOWS_PHONE WINDOWS_STORE XCODE XCODE_VERSION + +syn keyword cmakeModule contained + \ ExternalProject + +syn keyword cmakeKWExternalProject contained + \ AWS BINARY_DIR BUILD_ALWAYS BUILD_BYPRODUCTS BUILD_COMMAND BUILD_IN_SOURCE CMAKE_ARGS CMAKE_CACHE_ARGS CMAKE_CACHE_DEFAULT_ARGS CMAKE_TLS_CAINFO CMAKE_TLS_VERIFY COMMENT CONFIGURE_COMMAND CVS CVSROOT CVS_MODULE CVS_REPOSITORY CVS_TAG DEPENDEES DEPENDERS DEPENDS DOWNLOADED_FILE DOWNLOAD_COMMAND DOWNLOAD_DIR DOWNLOAD_NAME DOWNLOAD_NO_EXTRACT DOWNLOAD_NO_PROGRESS EP_BASE EP_INDEPENDENT_STEP_TARGETS EP_PREFIX EP_STEP_TARGETS EP_UPDATE_DISCONNECTED EXCLUDE_FROM_ALL FORCE GIT_CONFIG GIT_PROGRESS GIT_REMOTE_NAME GIT_REPOSITORY GIT_SHALLOW GIT_SUBMODULES GIT_TAG HG_REPOSITORY HG_TAG HTTP_HEADER HTTP_PASSWORD HTTP_USERNAME IGNORED INDEPENDENT_STEP_TARGETS INSTALL_COMMAND INSTALL_DIR JOB_POOLS LIST_SEPARATOR LOG_ LOG_BUILD LOG_CONFIGURE LOG_DOWNLOAD LOG_INSTALL LOG_TEST LOG_UPDATE MAKE_EXE NAMES NETRC NETRC_FILE NOTE NO_DEPENDS OPTIONAL PATCH_COMMAND PREFIX PROPERTY REQUIRED SOURCE_DIR SOURCE_SUBDIR STAMP_DIR STEP_TARGETS STRING SVN_PASSWORD SVN_REPOSITORY SVN_REVISION SVN_TRUST_CERT SVN_USERNAME TEST_AFTER_INSTALL TEST_BEFORE_INSTALL TEST_COMMAND TEST_EXCLUDE_FROM_MAIN TIMEOUT TLS_CAINFO TLS_VERIFY TMP_DIR TRUE UPDATE_COMMAND UPDATE_DISCONNECTED URL URL_HASH USES_TERMINAL_BUILD USES_TERMINAL_CONFIGURE USES_TERMINAL_DOWNLOAD USES_TERMINAL_INSTALL USES_TERMINAL_TEST USES_TERMINAL_UPDATE WORKING_DIRECTORY + +syn keyword cmakeKWadd_compile_definitions contained + \ COMPILE_DEFINITIONS VAR + +syn keyword cmakeKWadd_compile_options contained + \ COMPILE_OPTIONS SHELL UNIX_COMMAND + +syn keyword cmakeKWadd_custom_command contained + \ APPEND ARGS BYPRODUCTS CC COMMAND COMMAND_EXPAND_LISTS COMMENT CROSSCOMPILING_EMULATOR DEPENDS DEPFILE GENERATED IMPLICIT_DEPENDS INCLUDE_DIRECTORIES JOIN MAIN_DEPENDENCY NOT OUTPUT POST_BUILD PRE_BUILD PRE_LINK SYMBOLIC TARGET_FILE TARGET_PROPERTY USES_TERMINAL VERBATIM WORKING_DIRECTORY + +syn keyword cmakeKWadd_custom_target contained + \ ALL BYPRODUCTS CC COMMAND COMMAND_EXPAND_LISTS COMMENT CROSSCOMPILING_EMULATOR DEPENDS GENERATED INCLUDE_DIRECTORIES JOIN SOURCES TARGET_PROPERTY USES_TERMINAL VERBATIM WORKING_DIRECTORY + +syn keyword cmakeKWadd_definitions contained + \ COMPILE_DEFINITIONS + +syn keyword cmakeKWadd_dependencies contained + \ DEPENDS OBJECT_DEPENDS + +syn keyword cmakeKWadd_executable contained + \ ALIAS CONFIG EXCLUDE_FROM_ALL GLOBAL HEADER_FILE_ONLY IMPORTED IMPORTED_ IMPORTED_LOCATION IMPORTED_LOCATION_ MACOSX_BUNDLE OUTPUT_NAME RUNTIME_OUTPUT_DIRECTORY TARGET + +syn keyword cmakeKWadd_library contained + \ ALIAS ARCHIVE_OUTPUT_DIRECTORY CLI CONFIG DLL EXCLUDE_FROM_ALL FRAMEWORK GLOBAL HEADER_FILE_ONLY IMPORTED IMPORTED_ IMPORTED_LOCATION IMPORTED_LOCATION_ IMPORTED_OBJECTS IMPORTED_OBJECTS_ INTERFACE_ LIBRARY_OUTPUT_DIRECTORY MODULE OBJECT ON OUTPUT_NAME POSITION_INDEPENDENT_CODE POST_BUILD PRE_BUILD PRE_LINK RUNTIME_OUTPUT_DIRECTORY SHARED STATIC TARGET_OBJECTS UNKNOWN + +syn keyword cmakeKWadd_link_options contained + \ CMAKE_ GCC GNU LANG LINKER LINK_OPTIONS SHELL UNIX_COMMAND _LINKER_WRAPPER_FLAG _LINKER_WRAPPER_FLAG_SEP + +syn keyword cmakeKWadd_subdirectory contained + \ EXCLUDE_FROM_ALL + +syn keyword cmakeKWadd_test contained + \ BUILD_TESTING COMMAND CONFIGURATIONS FAIL_REGULAR_EXPRESSION NAME PASS_REGULAR_EXPRESSION TARGET_FILE WILL_FAIL WORKING_DIRECTORY + +syn keyword cmakeKWbuild_command contained + \ CONFIGURATION TARGET + +syn keyword cmakeKWbuild_name contained + \ CMAKE_CXX_COMPILER + +syn keyword cmakeKWcmake_host_system_information contained + \ AVAILABLE_PHYSICAL_MEMORY AVAILABLE_VIRTUAL_MEMORY FQDN HAS_FPU HAS_MMX HAS_MMX_PLUS HAS_SERIAL_NUMBER HAS_SSE HAS_SSE_FP HAS_SSE_MMX HOSTNAME ID NUMBER_OF_LOGICAL_CORES NUMBER_OF_PHYSICAL_CORES OS_NAME OS_PLATFORM OS_RELEASE OS_VERSION PROCESSOR_DESCRIPTION PROCESSOR_NAME PROCESSOR_SERIAL_NUMBER QUERY RESULT TOTAL_PHYSICAL_MEMORY TOTAL_VIRTUAL_MEMORY + +syn keyword cmakeKWcmake_minimum_required contained + \ FATAL_ERROR VERSION + +syn keyword cmakeKWcmake_parse_arguments contained + \ ARGN CONFIGURATIONS DESTINATION FALSE FAST FILES MY_INSTALL MY_INSTALL_CONFIGURATIONS MY_INSTALL_DESTINATION MY_INSTALL_FAST MY_INSTALL_OPTIONAL MY_INSTALL_RENAME MY_INSTALL_TARGETS MY_INSTALL_UNPARSED_ARGUMENTS OPTIONAL PARSE_ARGV RENAME TARGETS TRUE UNDEFINED _UNPARSED_ARGUMENTS + +syn keyword cmakeKWcmake_policy contained + \ CMAKE_POLICY_DEFAULT_CMP CMP GET NNNN NO_POLICY_SCOPE OLD POP PUSH SET VERSION + +syn keyword cmakeKWconfigure_file contained + \ COPYONLY CRLF DOS ESCAPE_QUOTES FOO_ENABLE FOO_STRING LF NEWLINE_STYLE VAR + +syn keyword cmakeKWcreate_test_sourcelist contained + \ CMAKE_TESTDRIVER_AFTER_TESTMAIN CMAKE_TESTDRIVER_BEFORE_TESTMAIN EXTRA_INCLUDE FUNCTION + +syn keyword cmakeKWctest_build contained + \ ALL_BUILD APPEND BUILD CAPTURE_CMAKE_ERROR CONFIGURATION CTEST_BUILD_CONFIGURATION CTEST_BUILD_FLAGS CTEST_BUILD_TARGET CTEST_PROJECT_NAME FLAGS NUMBER_ERRORS NUMBER_WARNINGS QUIET RETURN_VALUE TARGET + +syn keyword cmakeKWctest_configure contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR OPTIONS QUIET RETURN_VALUE SOURCE + +syn keyword cmakeKWctest_coverage contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR LABELS QUIET RETURN_VALUE + +syn keyword cmakeKWctest_memcheck contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR DEFECT_COUNT EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD + +syn keyword cmakeKWctest_run_script contained + \ NEW_PROCESS RETURN_VALUE + +syn keyword cmakeKWctest_start contained + \ APPEND QUIET TAG TRACK + +syn keyword cmakeKWctest_submit contained + \ API CAPTURE_CMAKE_ERROR CDASH_UPLOAD CDASH_UPLOAD_TYPE CTEST_EXTRA_SUBMIT_FILES CTEST_NOTES_FILES FILES HTTPHEADER PARTS QUIET RETRY_COUNT RETRY_DELAY RETURN_VALUE + +syn keyword cmakeKWctest_test contained + \ APPEND BUILD CAPTURE_CMAKE_ERROR CPU EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD + +syn keyword cmakeKWctest_update contained + \ CAPTURE_CMAKE_ERROR QUIET RETURN_VALUE SOURCE + +syn keyword cmakeKWctest_upload contained + \ CAPTURE_CMAKE_ERROR FILES QUIET + +syn keyword cmakeKWdefine_property contained + \ APPEND APPEND_STRING BRIEF_DOCS CACHED_VARIABLE DIRECTORY FULL_DOCS GLOBAL INHERITED PROPERTY SOURCE TARGET TEST VARIABLE + +syn keyword cmakeKWenable_language contained + \ ASM CUDA OPTIONAL + +syn keyword cmakeKWexec_program contained + \ ARGS OUTPUT_VARIABLE RETURN_VALUE + +syn keyword cmakeKWexecute_process contained + \ ANSI AUTO COMMAND ENCODING ERROR_FILE ERROR_QUIET ERROR_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE INPUT_FILE NONE OEM OUTPUT_FILE OUTPUT_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE RESULTS_VARIABLE RESULT_VARIABLE RFC TIMEOUT UTF VERBATIM WORKING_DIRECTORY + +syn keyword cmakeKWexport contained + \ ANDROID_MK APPEND CONFIG EXPORT EXPORT_LINK_INTERFACE_LIBRARIES FILE IMPORTED IMPORTED_ NAMESPACE NDK OLD PACKAGE TARGETS + +syn keyword cmakeKWexport_library_dependencies contained + \ APPEND EXPORT INCLUDE LINK_INTERFACE_LIBRARIES SET + +syn keyword cmakeKWfile contained + \ ALGO APPEND ASCII CMAKE_TLS_CAINFO CMAKE_TLS_VERIFY CONDITION CONFIG CONFIGURE_DEPENDS CONTENT COPY DESTINATION DIRECTORY_PERMISSIONS DOWNLOAD ENCODING EXCLUDE EXPECTED_HASH FILES_MATCHING FILE_PERMISSIONS FOLLOW_SYMLINKS FUNCTION GENERATE GLOB GLOB_RECURSE GUARD HASH HEX HTTPHEADER IGNORED INACTIVITY_TIMEOUT INSTALL LENGTH_MAXIMUM LENGTH_MINIMUM LF LIMIT LIMIT_COUNT LIMIT_INPUT LIMIT_OUTPUT LIST_DIRECTORIES LOCK LOG MAKE_DIRECTORY NETRC NETRC_FILE NEWLINE_CONSUME NO_HEX_CONVERSION NO_SOURCE_PERMISSIONS OFFSET OLD OPTIONAL OUTPUT PATTERN PROCESS READ REGEX RELATIVE_PATH RELEASE REMOVE REMOVE_RECURSE RENAME REQUIRED RESULT_VARIABLE SHOW_PROGRESS SSL STATUS STRINGS TIMESTAMP TLS_CAINFO TLS_VERIFY TOUCH TOUCH_NOCREATE TO_CMAKE_PATH TO_NATIVE_PATH UPLOAD URL USERPWD USE_SOURCE_PERMISSIONS UTC UTF WRITE + +syn keyword cmakeKWfind_file contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS INCLUDE NAMES NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfind_library contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS LIB NAMES NAMES_PER_DIR NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfind_package contained + \ ABI CMAKE_DISABLE_FIND_PACKAGE_ CMAKE_FIND_ROOT_PATH_BOTH COMPONENTS CONFIG CONFIGS DEC DVAR EXACT HINTS MODULE NAMES NATURAL NO_CMAKE_BUILDS_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_PATH NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_MODULE NO_PACKAGE_ROOT_PATH NO_POLICY_SCOPE NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH OPTIONAL_COMPONENTS PACKAGE_FIND_NAME PACKAGE_FIND_VERSION PACKAGE_FIND_VERSION_COUNT PACKAGE_FIND_VERSION_MAJOR PACKAGE_FIND_VERSION_MINOR PACKAGE_FIND_VERSION_PATCH PACKAGE_FIND_VERSION_TWEAK PACKAGE_VERSION PACKAGE_VERSION_COMPATIBLE PACKAGE_VERSION_EXACT PACKAGE_VERSION_UNSUITABLE PATHS PATH_SUFFIXES QUIET REQUIRED SET TRUE _CONFIG _CONSIDERED_CONFIGS _CONSIDERED_VERSIONS _DIR _FIND_COMPONENTS _FIND_QUIETLY _FIND_REQUIRED _FIND_REQUIRED_ _FIND_VERSION_EXACT _FOUND + +syn keyword cmakeKWfind_path contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS INCLUDE NAMES NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfind_program contained + \ CMAKE_FIND_ROOT_PATH_BOTH DOC DVAR HINTS NAMES NAMES_PER_DIR NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_SYSTEM_ENVIRONMENT_PATH ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES VAR + +syn keyword cmakeKWfltk_wrap_ui contained + \ FLTK + +syn keyword cmakeKWforeach contained + \ ARGS IN ITEMS LISTS RANGE + +syn keyword cmakeKWfunction contained + \ ARGC ARGN ARGS ARGV PARENT_SCOPE + +syn keyword cmakeKWget_cmake_property contained + \ COMPONENTS GLOBAL MACROS VAR VARIABLES + +syn keyword cmakeKWget_directory_property contained + \ DEFINITION DIRECTORY INHERITED + +syn keyword cmakeKWget_filename_component contained + \ ABSOLUTE ARG_VAR BASE_DIR COMP DIRECTORY EXT NAME NAME_WE PATH PROGRAM PROGRAM_ARGS REALPATH VAR + +syn keyword cmakeKWget_property contained + \ BRIEF_DOCS DEFINED DIRECTORY FULL_DOCS GLOBAL INSTALL PROPERTY SET SOURCE TARGET TEST VARIABLE + +syn keyword cmakeKWget_source_file_property contained + \ INHERITED LOCATION VAR + +syn keyword cmakeKWget_target_property contained + \ INHERITED VAR + +syn keyword cmakeKWget_test_property contained + \ INHERITED VAR + +syn keyword cmakeKWif contained + \ ARGS CMAKE_MATCH_ CMP COMMAND DEFINED EQUAL EXISTS FALSE GREATER GREATER_EQUAL IGNORE IN_LIST IS_ABSOLUTE IS_DIRECTORY IS_NEWER_THAN IS_SYMLINK LESS LESS_EQUAL MATCHES NNNN NOT OFF OR POLICY STREQUAL STRGREATER STRGREATER_EQUAL STRLESS STRLESS_EQUAL TARGET TEST THEN TRUE VERSION_EQUAL VERSION_GREATER VERSION_GREATER_EQUAL VERSION_LESS VERSION_LESS_EQUAL YES + +syn keyword cmakeKWinclude contained + \ NO_POLICY_SCOPE OPTIONAL RESULT_VARIABLE + +syn keyword cmakeKWinclude_directories contained + \ AFTER BEFORE INCLUDE_DIRECTORIES ON SYSTEM + +syn keyword cmakeKWinclude_external_msproject contained + \ GUID MAP_IMPORTED_CONFIG_ PLATFORM TYPE WIX + +syn keyword cmakeKWinclude_guard contained + \ DIRECTORY GLOBAL TRUE __CURRENT_FILE_VAR__ + +syn keyword cmakeKWinstall contained + \ AFTER APT ARCHIVE BEFORE BUILD_TYPE BUNDLE CODE COMPONENT CONFIGURATIONS CVS DBUILD_TYPE DCOMPONENT DESTDIR DESTINATION DIRECTORY DIRECTORY_PERMISSIONS DLL EXCLUDE_FROM_ALL EXPORT EXPORT_ANDROID_MK EXPORT_LINK_INTERFACE_LIBRARIES FILES FILES_MATCHING FILE_PERMISSIONS FRAMEWORK GROUP_EXECUTE GROUP_READ GROUP_WRITE IMPORTED_ INCLUDES INSTALL_PREFIX INTERFACE_INCLUDE_DIRECTORIES LIBRARY MACOSX_BUNDLE MESSAGE_NEVER NAMELINK_COMPONENT NAMELINK_ONLY NAMELINK_SKIP NAMESPACE NDK OBJECTS OPTIONAL OWNER_EXECUTE OWNER_READ OWNER_WRITE PATTERN PERMISSIONS POST_INSTALL_SCRIPT PRE_INSTALL_SCRIPT PRIVATE_HEADER PROGRAMS PUBLIC_HEADER REGEX RENAME RESOURCE RPM RUNTIME SCRIPT SETGID SETUID SOVERSION TARGETS TRUE USE_SOURCE_PERMISSIONS VERSION WORLD_EXECUTE WORLD_READ WORLD_WRITE + +syn keyword cmakeKWinstall_files contained + \ FILES GLOB + +syn keyword cmakeKWinstall_programs contained + \ FILES GLOB PROGRAMS TARGETS + +syn keyword cmakeKWinstall_targets contained + \ DLL RUNTIME_DIRECTORY TARGETS + +syn keyword cmakeKWlink_directories contained + \ AFTER BEFORE LINK_DIRECTORIES ON ORIGIN RPATH + +syn keyword cmakeKWlist contained + \ ACTION APPEND ASCENDING CASE COMPARE DESCENDING EXCLUDE FILE_BASENAME FILTER FIND GENEX_STRIP GET INCLUDE INSENSITIVE INSERT INTERNAL JOIN LENGTH ORDER OUTPUT_VARIABLE PARENT_SCOPE PREPEND REGEX REMOVE_AT REMOVE_DUPLICATES REMOVE_ITEM REPLACE REVERSE SELECTOR SENSITIVE SORT STRING STRIP SUBLIST TOLOWER TOUPPER TRANSFORM + +syn keyword cmakeKWload_cache contained + \ EXCLUDE INCLUDE_INTERNALS READ_WITH_PREFIX + +syn keyword cmakeKWload_command contained + \ CMAKE_LOADED_COMMAND_ COMMAND_NAME + +syn keyword cmakeKWmacro contained + \ ARGC ARGN ARGS ARGV DEFINED GREATER LISTS NOT _BAR _FOO + +syn keyword cmakeKWmake_directory contained + \ MAKE_DIRECTORY + +syn keyword cmakeKWmark_as_advanced contained + \ CLEAR FORCE VAR + +syn keyword cmakeKWmath contained + \ EXPR HEXADECIMAL OUTPUT_FORMAT + +syn keyword cmakeKWmessage contained + \ AUTHOR_WARNING DEPRECATION FATAL_ERROR GUI SEND_ERROR STATUS WARNING + +syn keyword cmakeKWoption contained + \ OFF ON + +syn keyword cmakeKWproject contained + \ ASM CMAKE_PROJECT_ CUDA DESCRIPTION HOMEPAGE_URL LANGUAGES NAME NONE PROJECT VERSION _BINARY_DIR _DESCRIPTION _HOMEPAGE_URL _INCLUDE _SOURCE_DIR _VERSION _VERSION_MAJOR _VERSION_MINOR _VERSION_PATCH _VERSION_TWEAK + +syn keyword cmakeKWremove contained + \ REMOVE_ITEM VALUE VAR + +syn keyword cmakeKWseparate_arguments contained + \ MSDN NATIVE NATIVE_COMMAND UNIX_COMMAND WINDOWS WINDOWS_COMMAND _COMMAND + +syn keyword cmakeKWset contained + \ BOOL FILEPATH FORCE INTERNAL OFF ON PARENT_SCOPE STRING STRINGS + +syn keyword cmakeKWset_directory_properties contained + \ PROPERTIES + +syn keyword cmakeKWset_property contained + \ APPEND APPEND_STRING DIRECTORY GLOBAL INHERITED INSTALL PROPERTY SOURCE TARGET TEST WIX + +syn keyword cmakeKWset_source_files_properties contained + \ PROPERTIES + +syn keyword cmakeKWset_target_properties contained + \ PROPERTIES TARGET + +syn keyword cmakeKWset_tests_properties contained + \ PROPERTIES + +syn keyword cmakeKWsource_group contained + \ FILES PREFIX REGULAR_EXPRESSION TREE + +syn keyword cmakeKWstring contained + \ ALPHABET APPEND ASCII CMAKE_MATCH_ COMPARE CONCAT CONFIGURE EQUAL ESCAPE_QUOTES FIND GENEX_STRIP GREATER GREATER_EQUAL GUID HASH JOIN LENGTH LESS LESS_EQUAL MAKE_C_IDENTIFIER MATCH MATCHALL MATCHES NAMESPACE NOTEQUAL ONLY PREPEND RANDOM RANDOM_SEED REGEX REPLACE REVERSE RFC SHA SOURCE_DATE_EPOCH STRIP SUBSTRING SZ TIMESTAMP TOLOWER TOUPPER TYPE US UTC UUID + +syn keyword cmakeKWsubdirs contained + \ EXCLUDE_FROM_ALL PREORDER + +syn keyword cmakeKWtarget_compile_definitions contained + \ ALIAS COMPILE_DEFINITIONS FOO IMPORTED INTERFACE INTERFACE_COMPILE_DEFINITIONS PRIVATE PUBLIC + +syn keyword cmakeKWtarget_compile_features contained + \ ALIAS COMPILE_FEATURES IMPORTED INTERFACE INTERFACE_COMPILE_FEATURES PRIVATE PUBLIC + +syn keyword cmakeKWtarget_compile_options contained + \ ALIAS BEFORE COMPILE_OPTIONS IMPORTED INTERFACE INTERFACE_COMPILE_OPTIONS PRIVATE PUBLIC SHELL UNIX_COMMAND + +syn keyword cmakeKWtarget_include_directories contained + \ ALIAS BEFORE BUILD_INTERFACE IMPORTED INCLUDE_DIRECTORIES INSTALL_INTERFACE INTERFACE INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES PRIVATE PUBLIC SYSTEM + +syn keyword cmakeKWtarget_link_directories contained + \ ALIAS BEFORE IMPORTED INTERFACE INTERFACE_LINK_DIRECTORIES LINK_DIRECTORIES ORIGIN PRIVATE PUBLIC RPATH + +syn keyword cmakeKWtarget_link_libraries contained + \ ALIAS DA DAG DEBUG_CONFIGURATIONS DOBJ IMPORTED IMPORTED_NO_SONAME INTERFACE INTERFACE_LINK_LIBRARIES LINK_INTERFACE_LIBRARIES LINK_INTERFACE_LIBRARIES_DEBUG LINK_INTERFACE_MULTIPLICITY LINK_OPTIONS LINK_PRIVATE LINK_PUBLIC OBJECT OLD OSX PRIVATE PUBLIC SHARED STATIC + +syn keyword cmakeKWtarget_link_options contained + \ ALIAS BEFORE CMAKE_ GCC GNU IMPORTED INTERFACE INTERFACE_LINK_OPTIONS LANG LINKER LINK_OPTIONS PRIVATE PUBLIC SHELL UNIX_COMMAND _LINKER_WRAPPER_FLAG _LINKER_WRAPPER_FLAG_SEP + +syn keyword cmakeKWtarget_sources contained + \ ALIAS IMPORTED INTERFACE INTERFACE_SOURCES PRIVATE PUBLIC SOURCES + +syn keyword cmakeKWtry_compile contained + \ ALL_BUILD CMAKE_FLAGS COMPILE_DEFINITIONS COPY_FILE COPY_FILE_ERROR CUDA_EXTENSIONS CUDA_STANDARD CUDA_STANDARD_REQUIRED CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEFINED DLINK_LIBRARIES DVAR FALSE INCLUDE_DIRECTORIES LANG LINK_DIRECTORIES LINK_LIBRARIES NOT OUTPUT_VARIABLE RESULT_VAR SOURCES TRUE TYPE VALUE _EXTENSIONS _STANDARD _STANDARD_REQUIRED + +syn keyword cmakeKWtry_run contained + \ ARGS CMAKE_FLAGS COMPILE_DEFINITIONS COMPILE_OUTPUT_VARIABLE COMPILE_RESULT_VAR DLINK_LIBRARIES DVAR FAILED_TO_RUN FALSE INCLUDE_DIRECTORIES LINK_DIRECTORIES LINK_LIBRARIES RUN_OUTPUT_VARIABLE RUN_RESULT_VAR TRUE TYPE VALUE __TRYRUN_OUTPUT + +syn keyword cmakeKWunset contained + \ LD_LIBRARY_PATH PARENT_SCOPE VAR + +syn keyword cmakeKWuse_mangled_mesa contained + \ GL OUTPUT_DIRECTORY PATH_TO_MESA + +syn keyword cmakeKWvariable_requires contained + \ RESULT_VARIABLE TEST_VARIABLE + +syn keyword cmakeKWvariable_watch contained + \ COMMAND + +syn keyword cmakeKWwhile contained + \ ARGS + +syn keyword cmakeKWwrite_file contained + \ APPEND CONFIGURE_FILE NOTE WRITE + + +syn keyword cmakeGeneratorExpressions contained + \ LINK_LIBRARIES INCLUDE_DIRECTORIES COMPILE_DEFINITIONS CONFIG DEBUG_MODE BOOL AND NOT IF STREQUAL IN_LIST TARGET_EXISTS MAP_IMPORTED_CONFIG_ PLATFORM_ID C_COMPILER_ID CMAKE_ LANG CXX_COMPILER_ID VERSION_LESS VERSION_GREATER VERSION_EQUAL VERSION_LESS_EQUAL VERSION_GREATER_EQUAL C_COMPILER_VERSION CXX_COMPILER_VERSION TARGET_POLICY COMPILE_FEATURES C_STANDARD CXX_STANDARD COMPILE_LANGUAGE PRIVATE COMPILING_CXX CUDA COMPILING_CUDA PUBLIC GNU OLD_COMPILER CMAKE_CXX_COMPILER_VERSION CONFIGURATION TARGET_FILE TARGET_FILE_NAME TARGET_FILE_DIR TARGET_LINKER_FILE TARGET_LINKER_FILE_NAME TARGET_LINKER_FILE_DIR TARGET_SONAME_FILE TARGET_SONAME_FILE_NAME TARGET_SONAME_FILE_DIR TARGET_PDB_FILE PDB_NAME PDB_OUTPUT_DIRECTORY PDB_NAME_ PDB_OUTPUT_DIRECTORY_ TARGET_PDB_FILE_NAME TARGET_PDB_FILE_DIR TARGET_BUNDLE_DIR TARGET_BUNDLE_CONTENT_DIR SDK TARGET_PROPERTY INSTALL_PREFIX EXPORT JOIN ANGLE COMMA SEMICOLON TARGET_NAME TARGET_NAME_IF_EXISTS LINK_ONLY INTERFACE_LINK_LIBRARIES INSTALL_INTERFACE BUILD_INTERFACE LOWER_CASE UPPER_CASE MAKE_C_IDENTIFIER TARGET_OBJECTS OBJECT_LIBRARY SHELL_PATH MSYS GENEX_EVAL TARGET_GENEX_EVAL CUSTOM_KEYS FOO_EXTRA_THINGS COMMAND + +syn case ignore + +syn keyword cmakeCommand + \ add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory break build_command cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue create_test_sourcelist ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload define_property enable_language enable_testing endfunction endmacro execute_process export file find_file find_library find_package find_path find_program fltk_wrap_ui function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property include include_directories include_external_msproject include_guard include_regular_expression install link_directories list load_cache load_command macro mark_as_advanced math message option project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run unset variable_watch + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandConditional + \ else elseif endif if + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandRepeat + \ endforeach endwhile foreach while + \ nextgroup=cmakeArguments + +syn keyword cmakeCommandDeprecated + \ build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file + \ nextgroup=cmakeArguments + +syn case match + +syn keyword cmakeTodo + \ TODO FIXME XXX + \ contained + +hi def link cmakeBracketArgument String +hi def link cmakeBracketComment Comment +hi def link cmakeCommand Function +hi def link cmakeCommandConditional Conditional +hi def link cmakeCommandDeprecated WarningMsg +hi def link cmakeCommandRepeat Repeat +hi def link cmakeComment Comment +hi def link cmakeEnvironment Special +hi def link cmakeEscaped Special +hi def link cmakeGeneratorExpression WarningMsg +hi def link cmakeGeneratorExpressions Constant +hi def link cmakeModule Include +hi def link cmakeProperty Constant +hi def link cmakeRegistry Underlined +hi def link cmakeString String +hi def link cmakeTodo TODO +hi def link cmakeVariableValue Type +hi def link cmakeVariable Identifier + +hi def link cmakeKWExternalProject ModeMsg +hi def link cmakeKWadd_compile_definitions ModeMsg +hi def link cmakeKWadd_compile_options ModeMsg +hi def link cmakeKWadd_custom_command ModeMsg +hi def link cmakeKWadd_custom_target ModeMsg +hi def link cmakeKWadd_definitions ModeMsg +hi def link cmakeKWadd_dependencies ModeMsg +hi def link cmakeKWadd_executable ModeMsg +hi def link cmakeKWadd_library ModeMsg +hi def link cmakeKWadd_link_options ModeMsg +hi def link cmakeKWadd_subdirectory ModeMsg +hi def link cmakeKWadd_test ModeMsg +hi def link cmakeKWbuild_command ModeMsg +hi def link cmakeKWbuild_name ModeMsg +hi def link cmakeKWcmake_host_system_information ModeMsg +hi def link cmakeKWcmake_minimum_required ModeMsg +hi def link cmakeKWcmake_parse_arguments ModeMsg +hi def link cmakeKWcmake_policy ModeMsg +hi def link cmakeKWconfigure_file ModeMsg +hi def link cmakeKWcreate_test_sourcelist ModeMsg +hi def link cmakeKWctest_build ModeMsg +hi def link cmakeKWctest_configure ModeMsg +hi def link cmakeKWctest_coverage ModeMsg +hi def link cmakeKWctest_memcheck ModeMsg +hi def link cmakeKWctest_run_script ModeMsg +hi def link cmakeKWctest_start ModeMsg +hi def link cmakeKWctest_submit ModeMsg +hi def link cmakeKWctest_test ModeMsg +hi def link cmakeKWctest_update ModeMsg +hi def link cmakeKWctest_upload ModeMsg +hi def link cmakeKWdefine_property ModeMsg +hi def link cmakeKWenable_language ModeMsg +hi def link cmakeKWexec_program ModeMsg +hi def link cmakeKWexecute_process ModeMsg +hi def link cmakeKWexport ModeMsg +hi def link cmakeKWexport_library_dependencies ModeMsg +hi def link cmakeKWfile ModeMsg +hi def link cmakeKWfind_file ModeMsg +hi def link cmakeKWfind_library ModeMsg +hi def link cmakeKWfind_package ModeMsg +hi def link cmakeKWfind_path ModeMsg +hi def link cmakeKWfind_program ModeMsg +hi def link cmakeKWfltk_wrap_ui ModeMsg +hi def link cmakeKWforeach ModeMsg +hi def link cmakeKWfunction ModeMsg +hi def link cmakeKWget_cmake_property ModeMsg +hi def link cmakeKWget_directory_property ModeMsg +hi def link cmakeKWget_filename_component ModeMsg +hi def link cmakeKWget_property ModeMsg +hi def link cmakeKWget_source_file_property ModeMsg +hi def link cmakeKWget_target_property ModeMsg +hi def link cmakeKWget_test_property ModeMsg +hi def link cmakeKWif ModeMsg +hi def link cmakeKWinclude ModeMsg +hi def link cmakeKWinclude_directories ModeMsg +hi def link cmakeKWinclude_external_msproject ModeMsg +hi def link cmakeKWinclude_guard ModeMsg +hi def link cmakeKWinstall ModeMsg +hi def link cmakeKWinstall_files ModeMsg +hi def link cmakeKWinstall_programs ModeMsg +hi def link cmakeKWinstall_targets ModeMsg +hi def link cmakeKWlink_directories ModeMsg +hi def link cmakeKWlist ModeMsg +hi def link cmakeKWload_cache ModeMsg +hi def link cmakeKWload_command ModeMsg +hi def link cmakeKWmacro ModeMsg +hi def link cmakeKWmake_directory ModeMsg +hi def link cmakeKWmark_as_advanced ModeMsg +hi def link cmakeKWmath ModeMsg +hi def link cmakeKWmessage ModeMsg +hi def link cmakeKWoption ModeMsg +hi def link cmakeKWproject ModeMsg +hi def link cmakeKWremove ModeMsg +hi def link cmakeKWseparate_arguments ModeMsg +hi def link cmakeKWset ModeMsg +hi def link cmakeKWset_directory_properties ModeMsg +hi def link cmakeKWset_property ModeMsg +hi def link cmakeKWset_source_files_properties ModeMsg +hi def link cmakeKWset_target_properties ModeMsg +hi def link cmakeKWset_tests_properties ModeMsg +hi def link cmakeKWsource_group ModeMsg +hi def link cmakeKWstring ModeMsg +hi def link cmakeKWsubdirs ModeMsg +hi def link cmakeKWtarget_compile_definitions ModeMsg +hi def link cmakeKWtarget_compile_features ModeMsg +hi def link cmakeKWtarget_compile_options ModeMsg +hi def link cmakeKWtarget_include_directories ModeMsg +hi def link cmakeKWtarget_link_directories ModeMsg +hi def link cmakeKWtarget_link_libraries ModeMsg +hi def link cmakeKWtarget_link_options ModeMsg +hi def link cmakeKWtarget_sources ModeMsg +hi def link cmakeKWtry_compile ModeMsg +hi def link cmakeKWtry_run ModeMsg +hi def link cmakeKWunset ModeMsg +hi def link cmakeKWuse_mangled_mesa ModeMsg +hi def link cmakeKWvariable_requires ModeMsg +hi def link cmakeKWvariable_watch ModeMsg +hi def link cmakeKWwhile ModeMsg +hi def link cmakeKWwrite_file ModeMsg + +" Manually added - difficult to parse out of documentation +syn case ignore + +syn keyword cmakeCommandManuallyAdded + \ configure_package_config_file write_basic_package_version_file + \ nextgroup=cmakeArguments + +syn case match + +syn keyword cmakeKWconfigure_package_config_file contained + \ INSTALL_DESTINATION PATH_VARS NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO INSTALL_PREFIX + +syn keyword cmakeKWconfigure_package_config_file_constants contained + \ AnyNewerVersion SameMajorVersion SameMinorVersion ExactVersion + +syn keyword cmakeKWwrite_basic_package_version_file contained + \ VERSION COMPATIBILITY + +hi def link cmakeCommandManuallyAdded Function + +hi def link cmakeKWconfigure_package_config_file ModeMsg +hi def link cmakeKWwrite_basic_package_version_file ModeMsg +hi def link cmakeKWconfigure_package_config_file_constants Constant + +let b:current_syntax = "cmake" + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim: set nowrap: |