@ -9,20 +9,14 @@
( interactive )
( message " Building using Jam " )
( let ( ( default-directory ( read-directory-name " Directory: " ) ) )
( compile
" jam -j4 -q " )
)
)
( compile " jam -j4 -q " ) ) )
( defun build-universal-jam-clean ( )
" Build using jam (select directory first) "
( interactive )
( message " Jam clean " )
( let ( ( default-directory ( read-directory-name " Directory: " ) ) )
( compile
" jam clean " )
)
)
( compile " jam clean " ) ) )
;;
;; Build system manager - select from multiple different compilation commands
@ -32,8 +26,7 @@
( setq macoy-build-system-list ( list
' ( " Jam (current directory) " build-universal-jam )
' ( " Jam Clean (current directory) " build-universal-jam-clean )
)
)
) )
( setq macoy-build-system-default nil )
@ -44,37 +37,23 @@
( when macoy-build-system-default
( message " Building %s " ( car macoy-build-system-default ) )
( let ( ( build-function ( nth 1 macoy-build-system-default ) ) )
( call-interactively build-function )
)
)
( call-interactively build-function ) ) )
( unless macoy-build-system-default
;; (message "No default build system selected. Run macoy-build-system-select-then-build")
( call-interactively 'macoy-build-system-select-then-build )
)
)
)
( call-interactively 'macoy-build-system-select-then-build ) ) ) )
( defun macoy-build-system-select ( )
" Select default build system using Ido "
( interactive )
;; Use Ido to pick the build system
( let ( ( build-system-ido-list nil ) ( selected-build-system nil ) )
( message " Going to build list " )
;; Build a list of only the names of build systems
( dolist ( build-system macoy-build-system-list build-system-ido-list )
( add-to-list 'build-system-ido-list ( car build-system ) )
)
( message " build list completed, going to set selected-build-system via Ido " )
( add-to-list 'build-system-ido-list ( car build-system ) ) )
;; Let the user select the build system using Ido
( setq selected-build-system ( ido-completing-read " Build system: " build-system-ido-list ) )
( message " Build system set; finding by string and setting the default " )
( dolist ( build-system macoy-build-system-list )
( when ( string-equal selected-build-system ( car build-system ) )
( setq macoy-build-system-default build-system )
)
)
)
)
( setq macoy-build-system-default build-system ) ) ) ) )
( defun macoy-build-system-select-then-build ( )
" Select a build from `macoy-build-system-list' and build it "
@ -82,8 +61,7 @@
( call-interactively 'macoy-build-system-select )
;; Execute the build
( macoy-build-system-build )
)
( macoy-build-system-build ) )
( global-set-key ( kbd " <f7> " ) 'macoy-build-system-build )
( global-set-key ( kbd " S-<f7> " ) 'macoy-build-system-select-then-build )