Compilation functions and VS environment stuff
This commit is contained in:
parent
95e20e387c
commit
022b7e68c1
1 changed files with 67 additions and 0 deletions
|
|
@ -648,3 +648,70 @@
|
|||
;; =================================================================
|
||||
(add-to-list 'auto-mode-alist '("\\.appx\\'" . archive-mode))
|
||||
(add-to-list 'auto-coding-alist '("\\.appx\\'" . no-conversion))
|
||||
|
||||
;; =================================================================
|
||||
;; Some build stuff; I swiped this from handmade-hero
|
||||
;; =================================================================
|
||||
(when (featurep 'w32)
|
||||
(setq doty-makescript "build.bat"))
|
||||
|
||||
(when (featurep 'aquamacs)
|
||||
(setq doty-makescript "./build.macosx"))
|
||||
|
||||
(when (featurep 'x)
|
||||
(setq doty-makescript "./build.linux"))
|
||||
|
||||
(setq compilation-directory-locked nil)
|
||||
(setq compilation-context-lines 0)
|
||||
(setq compilation-error-regexp-alist
|
||||
(cons '("^\\([0-9]+>\\)?\\(\\(?:[a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)) : \\(?:fatal error\\|warnin\\(g\\)\\) C[0-9]+:" 2 3 nil (4))
|
||||
compilation-error-regexp-alist))
|
||||
|
||||
(defun find-project-directory-recursive ()
|
||||
"Recursively search for a makefile."
|
||||
(interactive)
|
||||
(if (file-exists-p doty-makescript) t
|
||||
(cd "../")
|
||||
(find-project-directory-recursive)))
|
||||
|
||||
(defun lock-compilation-directory ()
|
||||
"The compilation process should NOT hunt for a makefile"
|
||||
(interactive)
|
||||
(setq compilation-directory-locked t)
|
||||
(message "Compilation directory is locked."))
|
||||
|
||||
(defun unlock-compilation-directory ()
|
||||
"The compilation process SHOULD hunt for a makefile"
|
||||
(interactive)
|
||||
(setq compilation-directory-locked nil)
|
||||
(message "Compilation directory is roaming."))
|
||||
|
||||
(defun find-project-directory ()
|
||||
"Find the project directory."
|
||||
(interactive)
|
||||
(setq find-project-from-directory default-directory)
|
||||
(switch-to-buffer-other-window "*compilation*")
|
||||
(if compilation-directory-locked (cd last-compilation-directory)
|
||||
(cd find-project-from-directory)
|
||||
(find-project-directory-recursive)
|
||||
(setq last-compilation-directory default-directory)))
|
||||
|
||||
(defun make-without-asking ()
|
||||
"Make the current build."
|
||||
(interactive)
|
||||
(if (find-project-directory) (compile doty-makescript))
|
||||
(other-window 1))
|
||||
(define-key global-map "\C-c\C-m" 'make-without-asking)
|
||||
|
||||
(defun set-vs-environment ()
|
||||
"Load the VS environment variables into the current emacs process."
|
||||
(interactive)
|
||||
(dolist
|
||||
(ev (split-string
|
||||
(shell-command-to-string "cmd /c \" \"%ProgramFiles(x86)%\\Microsoft Visual Studio 14.0\\Common7\\Tools\\VsDevCmd.bat\" && set \"")
|
||||
"[\n]+"))
|
||||
(letrec ((spev (split-string ev "="))
|
||||
(vn (car spev))
|
||||
(vv (cadr spev)))
|
||||
(setenv vn vv))))
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue