Fix T91534: GPencil interpolate Sequence fails if stroke has 0 points
[blender.git] / source / blender / windowmanager / CMakeLists.txt
1 # ***** BEGIN GPL LICENSE BLOCK *****
2 #
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software Foundation,
15 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # The Original Code is Copyright (C) 2006, Blender Foundation
18 # All rights reserved.
19 # ***** END GPL LICENSE BLOCK *****
20
21 set(INC
22   .
23   gizmo
24   gizmo/intern
25   ../blenfont
26   ../blenkernel
27   ../blenlib
28   ../blenloader
29   ../blentranslation
30   ../compositor
31   ../depsgraph
32   ../editors/include
33   ../draw
34   ../gpu
35   ../imbuf
36   ../makesdna
37   ../makesrna
38   ../nodes
39   ../render
40   ../sequencer
41   ../../../intern/clog
42   ../../../intern/ghost
43   ../../../intern/glew-mx
44   ../../../intern/guardedalloc
45   ../../../intern/memutil
46
47   # for writefile.c: dna_type_offsets.h
48   ${CMAKE_BINARY_DIR}/source/blender/makesdna/intern
49 )
50
51 set(SRC
52   intern/wm.c
53   intern/wm_cursors.c
54   intern/wm_dragdrop.c
55   intern/wm_draw.c
56   intern/wm_event_query.c
57   intern/wm_event_system.c
58   intern/wm_files.c
59   intern/wm_files_link.c
60   intern/wm_gesture.c
61   intern/wm_gesture_ops.c
62   intern/wm_init_exit.c
63   intern/wm_jobs.c
64   intern/wm_keymap.c
65   intern/wm_keymap_utils.c
66   intern/wm_menu_type.c
67   intern/wm_operator_props.c
68   intern/wm_operator_type.c
69   intern/wm_operator_utils.c
70   intern/wm_operators.c
71   intern/wm_panel_type.c
72   intern/wm_platform_support.c
73   intern/wm_playanim.c
74   intern/wm_splash_screen.c
75   intern/wm_stereo.c
76   intern/wm_subwindow.c
77   intern/wm_surface.c
78   intern/wm_toolsystem.c
79   intern/wm_tooltip.c
80   intern/wm_uilist_type.c
81   intern/wm_utils.c
82   intern/wm_window.c
83   gizmo/intern/wm_gizmo.c
84   gizmo/intern/wm_gizmo_group.c
85   gizmo/intern/wm_gizmo_group_type.c
86   gizmo/intern/wm_gizmo_map.c
87   gizmo/intern/wm_gizmo_target_props.c
88   gizmo/intern/wm_gizmo_type.c
89   message_bus/intern/wm_message_bus.c
90   message_bus/intern/wm_message_bus_rna.c
91   message_bus/intern/wm_message_bus_static.c
92
93   WM_api.h
94   WM_keymap.h
95   WM_message.h
96   WM_toolsystem.h
97   WM_types.h
98   wm.h
99   wm_cursors.h
100   wm_draw.h
101   wm_event_system.h
102   wm_event_types.h
103   wm_files.h
104   wm_surface.h
105   wm_window.h
106   intern/wm_platform_support.h
107   intern/wm_window_private.h
108   gizmo/WM_gizmo_api.h
109   gizmo/WM_gizmo_types.h
110   gizmo/wm_gizmo_fn.h
111   gizmo/wm_gizmo_wmapi.h
112   gizmo/intern/wm_gizmo_intern.h
113   message_bus/intern/wm_message_bus_intern.h
114   message_bus/wm_message_bus.h
115 )
116
117 set(LIB
118   bf_editor_screen
119   bf_sequencer
120 )
121
122 if(WITH_AUDASPACE)
123   add_definitions(-DWITH_AUDASPACE)
124
125   list(APPEND INC_SYS
126     ${AUDASPACE_C_INCLUDE_DIRS}
127   )
128   list(APPEND LIB
129     ${AUDASPACE_C_LIBRARIES}
130     ${AUDASPACE_PY_LIBRARIES}
131   )
132 endif()
133
134 if(WITH_CYCLES)
135   add_definitions(-DWITH_CYCLES)
136 endif()
137
138 if(WITH_INTERNATIONAL)
139   add_definitions(-DWITH_INTERNATIONAL)
140 endif()
141
142 if(WITH_OPENCOLLADA)
143   add_definitions(-DWITH_COLLADA)
144 endif()
145
146 if(WITH_CODEC_FFMPEG)
147   list(APPEND INC_SYS
148     ${FFMPEG_INCLUDE_DIRS}
149   )
150   list(APPEND LIB
151     ${FFMPEG_LIBRARIES}
152   )
153   add_definitions(-DWITH_FFMPEG)
154 endif()
155
156 if(WITH_HEADLESS)
157   add_definitions(-DWITH_HEADLESS)
158 elseif(WITH_GHOST_X11)
159   add_definitions(-DWITH_GHOST_X11)
160 endif()
161
162 if(WITH_PYTHON)
163   list(APPEND INC
164     ../python
165   )
166   add_definitions(-DWITH_PYTHON)
167   if(WITH_PYTHON_MODULE)
168     add_definitions(-DWITH_PYTHON_MODULE)
169   endif()
170 endif()
171
172 if(WITH_BUILDINFO)
173   add_definitions(-DWITH_BUILDINFO)
174 endif()
175
176 if(WITH_INPUT_NDOF)
177   add_definitions(-DWITH_INPUT_NDOF)
178 endif()
179
180 if(WIN32 OR APPLE)
181   if(WITH_INPUT_IME)
182     add_definitions(-DWITH_INPUT_IME)
183   endif()
184 endif()
185
186 if(WITH_COMPOSITOR)
187   list(APPEND LIB
188     bf_compositor
189   )
190   add_definitions(-DWITH_COMPOSITOR)
191 endif()
192
193 if(WITH_XR_OPENXR)
194   add_definitions(-DWITH_XR_OPENXR)
195
196   list(APPEND INC
197     xr
198   )
199
200   list(APPEND SRC
201     xr/intern/wm_xr.c
202     xr/intern/wm_xr_action.c
203     xr/intern/wm_xr_actionmap.c
204     xr/intern/wm_xr_draw.c
205     xr/intern/wm_xr_session.c
206
207     xr/wm_xr.h
208     xr/intern/wm_xr_intern.h
209   )
210 endif()
211
212 blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
213
214 # Needed so we can use dna_type_offsets.h for defaults initialization.
215 add_dependencies(bf_windowmanager bf_dna)