EQL5/Qt_EQL/reload.lisp

30 lines
759 B
Common Lisp

;;;
;;; OSX note: unloading may not work!
;;;
;;; Simple demo:
;;;
;;; 0) do: eql5 reload.lisp -qtpl
;;;
;;; 1) make some changes in "cpp/lib.h", "cpp/lib.cpp"
;;; 2) do: (recompile-c++)
;;; 3) goto 1)
;;;
;;; Call plugin functions like this:
;;;
;;; (qfun+ *lib* "myFunction") ; a)
;;; (! "myFunction" (:qt *lib*)) ; b)
;;;
(in-package :eql-user)
(defvar *lib* (qload-c++ (in-src "Qt_EQL/eql_cpp")))
(defun recompile-c++ ()
(qload-c++ (in-src "Qt_EQL/eql_cpp")
:unload)
(ext:run-program #+msvc "make.bat" #-msvc "make"
#+msvc nil #-msvc '("-C" "cpp/")
:output t)
(setf *lib* (qload-c++ (in-src "Qt_EQL/eql_cpp")))
(assert (qt-object-p *lib*))
(qapropos nil *lib*))