forked from Shinmera/qt-libs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmokeqt.lisp
56 lines (50 loc) · 1.92 KB
/
smokeqt.lisp
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
#|
This file is a part of Qtools
(c) 2015 Shirakumo http://tymoon.eu ([email protected])
Author: Nicolas Hafner <[email protected]>
|#
(in-package #:org.shirakumo.qtools.libs.generator)
(defclass smokeqt (cmake-build-library github-library checksummed-library)
((smokegen :initarg :smokegen :initform (make-instance 'smokegen) :accessor smokegen))
(:default-initargs :tag "qt-libs2.0.0"))
(defmethod cmake-flags ((library smokeqt))
(list* "-DCMAKE_BUILD_TYPE=Release"
"-Wno-dev"
(format NIL "-DCMAKE_INSTALL_PREFIX=~a" (externalize (install-directory library)))
(format NIL "-DSmoke_DIR=~a" (externalize (subdirectory (install-directory (smokegen library)) "share" "smoke" "cmake")))
(call-next-method)))
(defmethod stage :before ((stage (eql :prepare-sources)) (library smokeqt) &key)
(stage :install-sources (smokegen library)))
(defmethod stage :around ((stage (eql :compile-sources)) (library smokeqt) &key)
(let* ((libdirs (subdirectory (install-directory (smokegen library)) "lib"))
(ldvar #+linux "LD_LIBRARY_PATH" #+darwin "DYLD_LIBRARY_PATH" #+windows "PATH")
(ld-orig (get-path ldvar)))
(set-path (list* (externalize libdirs) (externalize (subdirectory libdirs "smokegen")) ld-orig) ldvar)
(unwind-protect
(call-next-method)
(set-path ld-orig ldvar))))
(defmethod output-files ((library smokeqt))
(make-shared-library-files
'("smokephonon"
"smokeqimageblitz"
"smokeqsci"
"smokeqt3support"
"smokeqtcore"
"smokeqtdbus"
"smokeqtdeclarative"
"smokeqtgui"
"smokeqthelp"
"smokeqtmultimedia"
"smokeqtnetwork"
"smokeqtopengl"
"smokeqtscript"
"smokeqtsql"
"smokeqtsvg"
"smokeqttest"
"smokeqtuitools"
"smokeqtwebkit"
"smokeqtxmlpatterns"
"smokeqtxml"
"smokeqwt")
(list (install-directory library)
(subdirectory (install-directory library) "lib"))))