Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 73 lines (59 sloc) 2.45 kb
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
(cl:eval-when (:load-toplevel :execute)
  (asdf:load-system :cffi-grovel))

(defsystem :cl-freetype2
  :description "Wrapper for the Freetype2 library"
  :author "Ryan Pavlik <rpavlik@gmail.com>"
  :license "New BSD, LLGPL"

  :depends-on (:alexandria :cffi :trivial-garbage)
  :serial t

  :pathname "src"
  :components ((:file "package")

               (:module "freetype2-ffi"
                :pathname "ffi"
                :serial t
                :components
                ((:module "freetype2-grovel"
                  :pathname "grovel"
                  :components
                          ((:static-file "grovel-freetype.h")
                           (cffi-grovel:grovel-file "grovel-freetype2")))
                 
                 (:file "cffi-cwrap")
                 (:file "cffi-defs")
                 (:file "ft2-lib")
                 (:file "ft2-init")
                 (:file "ft2-basic-types")
                 (:file "ft2-face")
                 (:file "ft2-glyph")
                 (:file "ft2-size")
                 (:file "ft2-outline")
                 (:file "ft2-bitmap")))

               (:file "init")
               (:file "face")
               (:file "bitmap")
               (:file "glyph")
               (:file "render")
               (:file "outline")
               (:file "toy")))

;; Making an :around COMPILE-OP GROVEL-FILE is sortof the right way to do
;; this, if it didn't override everything else anyway. Fix.
(push (concatenate 'string "-I"
                   (directory-namestring
                    (asdf:component-pathname
                     (asdf:find-component :cl-freetype2 '("freetype2-ffi" "freetype2-grovel")))))
      cffi-grovel::*cc-flags*)

(defmethod perform ((o test-op) (c (eql (find-system :cl-freetype2))))
  (operate 'asdf:load-op :cl-freetype2-tests)
  (operate 'asdf:test-op :cl-freetype2-tests))


(defsystem :cl-freetype2-doc
  :description "Documentation generation for cl-freetype2"
  :depends-on (:cl-freetype2 :cl-who :cl-markdown)

  :pathname "doc"
  :serial t
  :components ((:file "gendoc")
               (:file "ft2docs")
               (:static-file "ft2docs.css")))

(defmethod perform :after ((o load-op) (c (eql (find-system :cl-freetype2))))
  (pushnew :freetype2 cl:*features*))

(defmethod perform :after ((o load-op) (c (eql (find-system :cl-freetype2-doc))))
  (let ((fn (find-symbol "GENERATE-DOCS" (find-package :freetype2))))
    (funcall fn)))
Something went wrong with that request. Please try again.