From: Jö Fahlke Date: Sat, 23 Apr 2016 01:10:46 +0000 (+0200) Subject: Regexps for matching CMake output X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/912e9159818f7356d45cc28b6666680b9857d7e7 Regexps for matching CMake output * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add regexps for matching CMake output. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add CMake test cases. * etc/compilation.txt (CMake): Add CMake examples. Copyright-paperwork-exempt: yes --- diff --git a/etc/NEWS b/etc/NEWS index a9b392265c..91e5419229 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -125,6 +125,11 @@ in these situations. * Changes in Specialized Modes and Packages in Emacs 25.2 +** Compilation mode + +--- +*** Messages from CMake are now recognized. + ** eww +++ diff --git a/etc/compilation.txt b/etc/compilation.txt index d26af20985..4a1531265a 100644 --- a/etc/compilation.txt +++ b/etc/compilation.txt @@ -84,6 +84,32 @@ Warning: this expression should have type unit. File "/tmp/foo.py", line 10 +* CMake + +symbols: cmake cmake-info + +CMake Error at CMakeLists.txt:19 (hurz): + Unknown CMake command "hurz". +CMake Warning at cmake/modules/UseUG.cmake:73 (find_package): + Could not find a package configuration file provided by "UG" (requested + version 3.11.0) with any of the following names: + + UGConfig.cmake + ug-config.cmake + + Add the installation prefix of "UG" to CMAKE_PREFIX_PATH or set "UG_DIR" to + a directory containing one of the above files. If "UG" provides a separate + development package or SDK, be sure it has been installed. +Call Stack (most recent call first): + cmake/modules/DuneGridMacros.cmake:19 (include) + /home/joe/Projekte/EXA-DUNE/patches/dune-common/cmake/modules/DuneMacros.cmake:556 (include) + /home/joe/Projekte/EXA-DUNE/patches/dune-common/cmake/modules/DuneMacros.cmake:694 (dune_process_dependency_macros) + CMakeLists.txt:22 (dune_project) + + +-- Could NOT find UG (missing: UG_DIR HAVE_UG) + + * Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94) symbol: comma diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index b7ab408f74..0160aab901 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -161,6 +161,13 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) \\(?: characters? \\([0-9]+\\)-?\\([0-9]+\\)?:\\)?\\([ \n]Warning\\(?: [0-9]+\\)?:\\)?\\)" 2 (3 . 4) (5 . 6) (7)) + (cmake + "^CMake \\(?:Error\\|\\(Warning\\)\\) at \\(.*\\):\\([1-9][0-9]*\\) ([^)]+):$" + 2 3 nil (1)) + (cmake-info + "^ \\(?: \\*\\)?\\(.*\\):\\([1-9][0-9]*\\) ([^)]+)$" + 1 2 nil 0) + (comma "^\"\\([^,\" \n\t]+\\)\", line \\([0-9]+\\)\ \\(?:[(. pos]+\\([0-9]+\\))?\\)?[:.,; (-]\\( warning:\\|[-0-9 ]*(W)\\)?" 1 2 3 (4)) diff --git a/test/lisp/progmodes/compile-tests.el b/test/lisp/progmodes/compile-tests.el index 6821a6bfae..89615760c7 100644 --- a/test/lisp/progmodes/compile-tests.el +++ b/test/lisp/progmodes/compile-tests.el @@ -79,6 +79,13 @@ 1 nil 302 "\\lib\\python\\Products\\PythonScripts\\PythonScript.py") ("File \"/tmp/foo.py\", line 10" 1 nil 10 "/tmp/foo.py") + ;; cmake cmake-info + ("CMake Error at CMakeLists.txt:23 (hurz):" + 1 nil 23 "CMakeLists.txt") + ("CMake Warning at cmake/modules/UseUG.cmake:73 (find_package):" + 1 nil 73 "cmake/modules/UseUG.cmake") + (" cmake/modules/DuneGridMacros.cmake:19 (include)" + 1 nil 19 "cmake/modules/DuneGridMacros.cmake") ;; comma ("\"foo.f\", line 3: Error: syntax error near end of statement" 1 nil 3 "foo.f")