summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJö Fahlke <jorrit@jorrit.de>2016-04-23 03:10:46 +0200
committerOscar Fuentes <ofv@wanadoo.es>2016-04-23 03:10:46 +0200
commit912e9159818f7356d45cc28b6666680b9857d7e7 (patch)
tree9799b378e8156162a8dba4e7ac64e95eebef7909
parent6e790b71efae6003b9fa701a8630ee69e0a94294 (diff)
downloademacs-912e9159818f7356d45cc28b6666680b9857d7e7.tar.gz
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
-rw-r--r--etc/NEWS5
-rw-r--r--etc/compilation.txt26
-rw-r--r--lisp/progmodes/compile.el7
-rw-r--r--test/lisp/progmodes/compile-tests.el7
4 files changed, 45 insertions, 0 deletions
diff --git a/etc/NEWS b/etc/NEWS
index a9b392265cd..91e5419229c 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 d26af20985c..4a1531265a0 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 b7ab408f744..0160aab901c 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 6821a6bfae5..89615760c77 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")