aboutsummaryrefslogtreecommitdiff
path: root/eb.el
blob: 52c67f6f92a6cb8a543a727ace62e5889b6b8da2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
;;; eb --- Episode Browser development functions for Emacs

;;; Commentary:

;;; Code:

(defcustom eb-system "vs2019"
  "Build system (mingw/vs2019)."
  :group 'eb
  :type 'string)

(defcustom eb-cwd "b"
  "Working directory for executable."
  :group 'eb
  :type 'directory)

(defcustom eb-cppclean-argv (list "cppclean")
  "Argument vector for cppclean."
  :group 'eb
  :type 'sexp)

;;;###autoload
(defun eb-run ()
  "Launch built executable, displaying its output in a buffer."
  (interactive)
  (require 'project)
  (let ((buf (get-buffer-create "*eb-run*"))
	(exe (concat (project-root (project-current))
		     "/b/"
		     eb-system
		     (if (not (string-equal eb-system "mingw")) "/Debug/" "")
		     "EpisodeBrowser.exe"))
	(default-directory eb-cwd))
    (with-current-buffer buf
      (compilation-mode))
    (start-process "EpisodeBrowser" buf exe)
    (display-buffer buf)))

(provide 'eb)
;;; eb.el ends here