-
Notifications
You must be signed in to change notification settings - Fork 5
/
cl-vulkan.asd
executable file
·85 lines (82 loc) · 3.08 KB
/
cl-vulkan.asd
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
73
74
75
76
77
78
79
80
81
82
83
84
85
;; Copyright 2019, 2020 Andrew Kenneth Wolven <[email protected]>
;;
;; Permission is hereby granted, free of charge, to any person obtaining
;; a copy of this software and associated documentation files (the
;; "Software"), to deal in the Software without restriction, including
;; without limitation the rights to use, copy, modify, merge, publish,
;; distribute, sublicense, and/or sell copies of the Software, and to
;; permit persons to whom the Software is furnished to do so, subject to
;; the following conditions:
;;
;; The above copyright notice and this permission notice shall be
;; included in all copies or substantial portions of the Software.
;;
;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
;; LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
;; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
;; WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;; todo: this should be in :objc-runtime system
;; but for now I don't want to fork that system
#+(and darwin (not glfw))(cl:pushnew :objc cl:*features*)
(defsystem cl-vulkan
:description "Bindings for using Vulkan with Common Lisp"
:depends-on (:cffi :bordeaux-threads #-glfw :clui)
:author "Andrew K Wolven <[email protected]>"
:components
((:file "features")
#+glfw(:file "ifc/glfw/package")
#+glfw(:file "ifc/glfw/glfw")
#+glfw(:file "ifc/glfw/abstract-os-compat")
(:file "ifc/vulkan/package")
(:file "ifc/vulkan/vk-types")
(:file "ifc/vulkan/s-type-table")
(:file "ifc/vulkan/vk-macros")
(:file "ifc/vulkan/vk-funcs")
(:file "src/package")
(:file "src/utilities")
(:file "src/macros")
(:file "src/support")
(:file "src/helpers")
(:file "src/classes")
(:file "src/allocation-callbacks")
(:file "src/debug-report")
(:file "src/pipeline-cache")
(:file "src/vulkan-instance")
(:file "src/physical-device")
(:file "src/queue-family")
(:file "src/memory-type")
(:file "src/memory-heap")
(:file "src/logical-device")
(:file "src/fence")
(:file "src/swapchain")
(:file "src/memory-pool")
(:file "src/vulkan-application")
(:file "src/window")
(:file "src/surface-format")
(:file "src/surface-capabilities")
(:file "src/present-modes")
(:file "src/surface")
(:file "src/queue")
(:file "src/images")
(:file "src/image-views")
(:file "src/render-pass")
(:file "src/descriptor-set-layout")
(:file "src/pipeline-layout")
(:file "src/shader-module")
(:file "src/graphics-pipeline")
(:file "src/compute-pipeline")
(:file "src/command-pool")
(:file "src/framebuffer")
(:file "src/buffers")
(:file "src/descriptor-pool")
(:file "src/descriptor-sets")
(:file "src/command-buffers")
(:file "src/sampler")
(:file "src/spirv")
#+linux(:file "src/x11")
#+os-windows(:file "src/win32")
#+darwin(:file "src/cocoa")
(:file "ifc/load-foreign-libs")))