Changeset 15181
- Timestamp:
- Jan 25, 2012, 12:11:39 PM (13 years ago)
- File:
-
- 1 edited
-
trunk/source/cocoa-ide/start.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/cocoa-ide/start.lisp
r15028 r15181 113 113 114 114 115 (defun build-ide (bundle-path)116 (setq bundle-path (ensure-directory-pathname bundle-path))117 118 ;; The bundle is expected to exist, we'll just add the executable into it.119 (assert (probe-file bundle-path))120 121 ;; Wait until we're sure that the Cocoa event loop has started.122 (wait-on-semaphore *cocoa-application-finished-launching*)123 124 #-cocotron;needs conditionalization125 (require :easygui)126 127 (ccl::maybe-map-objc-classes t)128 (let* ((missing ()))129 (ccl::do-interface-dirs (d)130 (ccl::cdb-enumerate-keys131 (ccl::db-objc-classes d)132 (lambda (name)133 (let* ((class (ccl::lookup-objc-class name nil)))134 (unless (ccl::objc-class-id class) (push name missing))))))135 (when missing136 (break "ObjC classes ~{~&~a~} are declared but not defined." missing)))137 138 #-cocotron139 (ccl::touch bundle-path)140 141 (let ((image-file (make-pathname :name (ccl::standard-kernel-name) :type nil :version nil142 :defaults (merge-pathnames (format nil";Contents;~a;" #+darwin-target "MacOS" #+cocotron "Windows") bundle-path))))143 (format *error-output* "~2%Saving application to ~a~2%" (truename bundle-path))144 (force-output *error-output*)145 (ensure-directories-exist image-file)146 (save-application image-file147 :prepend-kernel t148 :application-class 'cocoa-application149 #+windows-target #+windows-target150 :application-type :gui)))115 (defun build-ide (bundle-path) 116 (setq bundle-path (ensure-directory-pathname bundle-path)) 117 118 ;; The bundle is expected to exist, we'll just add the executable into it. 119 (assert (probe-file bundle-path)) 120 121 ;; Wait until we're sure that the Cocoa event loop has started. 122 (wait-on-semaphore *cocoa-application-finished-launching*) 123 124 #-cocotron ;needs conditionalization 125 (require :easygui) 126 127 (ccl::maybe-map-objc-classes t) 128 (let* ((missing ())) 129 (ccl::do-interface-dirs (d) 130 (ccl::cdb-enumerate-keys 131 (ccl::db-objc-classes d) 132 (lambda (name) 133 (let* ((class (ccl::lookup-objc-class name nil))) 134 (unless (ccl::objc-class-id class) (push name missing)))))) 135 (when missing 136 (break "ObjC classes ~{~&~a~} are declared but not defined." missing))) 137 138 #-cocotron 139 (ccl::touch bundle-path) 140 141 (let ((image-file (make-pathname :name (ccl::standard-kernel-name) :type nil :version nil 142 :defaults (merge-pathnames (format nil";Contents;~a;" #+darwin-target "MacOS" #+cocotron "Windows") bundle-path)))) 143 (format *error-output* "~2%Saving application to ~a~2%" (truename bundle-path)) 144 (force-output *error-output*) 145 (ensure-directories-exist image-file) 146 (save-application image-file 147 :prepend-kernel t 148 :application-class 'cocoa-application 149 #+windows-target #+windows-target 150 :application-type :gui))) 151 151 152 152 ;;; If we're running as a standalone .app, try to see if a bundle named
Note:
See TracChangeset
for help on using the changeset viewer.
