Fix T65092: error with gizmos using freed keymaps
[blender.git] / source / blender / blenlib / 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   # ../blenkernel  # dont add this back!
24   ../makesdna
25   ../../../intern/atomic
26   ../../../intern/eigen
27   ../../../intern/guardedalloc
28   ../../../intern/numaapi/include
29   ../../../extern/wcwidth
30 )
31
32 set(INC_SYS
33   ${ZLIB_INCLUDE_DIRS}
34   ${FREETYPE_INCLUDE_DIRS}
35 )
36
37 set(SRC
38   intern/BLI_args.c
39   intern/BLI_array.c
40   intern/BLI_dial_2d.c
41   intern/BLI_dynstr.c
42   intern/BLI_filelist.c
43   intern/BLI_ghash.c
44   intern/BLI_ghash_utils.c
45   intern/BLI_heap.c
46   intern/BLI_heap_simple.c
47   intern/BLI_kdopbvh.c
48   intern/BLI_linklist.c
49   intern/BLI_linklist_lockfree.c
50   intern/BLI_memarena.c
51   intern/BLI_memblock.c
52   intern/BLI_memiter.c
53   intern/BLI_mempool.c
54   intern/BLI_timer.c
55   intern/DLRB_tree.c
56   intern/array_store.c
57   intern/array_store_utils.c
58   intern/array_utils.c
59   intern/astar.c
60   intern/bitmap.c
61   intern/bitmap_draw_2d.c
62   intern/boxpack_2d.c
63   intern/buffer.c
64   intern/callbacks.c
65   intern/convexhull_2d.c
66   intern/dynlib.c
67   intern/easing.c
68   intern/edgehash.c
69   intern/endian_switch.c
70   intern/expr_pylike_eval.c
71   intern/fileops.c
72   intern/fnmatch.c
73   intern/freetypefont.c
74   intern/gsqueue.c
75   intern/hash_md5.c
76   intern/hash_mm2a.c
77   intern/hash_mm3.c
78   intern/jitter_2d.c
79   intern/kdtree_1d.c
80   intern/kdtree_2d.c
81   intern/kdtree_3d.c
82   intern/kdtree_4d.c
83   intern/lasso_2d.c
84   intern/listbase.c
85   intern/math_base.c
86   intern/math_base_inline.c
87   intern/math_bits_inline.c
88   intern/math_color.c
89   intern/math_color_blend_inline.c
90   intern/math_color_inline.c
91   intern/math_geom.c
92   intern/math_geom_inline.c
93   intern/math_interp.c
94   intern/math_matrix.c
95   intern/math_rotation.c
96   intern/math_solvers.c
97   intern/math_statistics.c
98   intern/math_vector.c
99   intern/math_vector_inline.c
100   intern/memory_utils.c
101   intern/noise.c
102   intern/path_util.c
103   intern/polyfill_2d.c
104   intern/polyfill_2d_beautify.c
105   intern/quadric.c
106   intern/rand.c
107   intern/rct.c
108   intern/scanfill.c
109   intern/scanfill_utils.c
110   intern/smallhash.c
111   intern/sort.c
112   intern/sort_utils.c
113   intern/stack.c
114   intern/storage.c
115   intern/string.c
116   intern/string_cursor_utf8.c
117   intern/string_utf8.c
118   intern/string_utils.c
119   intern/system.c
120   intern/task.c
121   intern/threads.c
122   intern/time.c
123   intern/timecode.c
124   intern/uvproject.c
125   intern/voronoi_2d.c
126   intern/voxel.c
127   intern/winstuff.c
128   intern/winstuff_dir.c
129
130   # Header as source (included in C files above).
131   intern/kdtree_impl.h
132   intern/list_sort_impl.h
133
134   BLI_alloca.h
135   BLI_args.h
136   BLI_array.h
137   BLI_array_store.h
138   BLI_array_store_utils.h
139   BLI_array_utils.h
140   BLI_assert.h
141   BLI_astar.h
142   BLI_bitmap.h
143   BLI_bitmap_draw_2d.h
144   BLI_blenlib.h
145   BLI_boxpack_2d.h
146   BLI_buffer.h
147   BLI_callbacks.h
148   BLI_compiler_attrs.h
149   BLI_compiler_compat.h
150   BLI_compiler_typecheck.h
151   BLI_console.h
152   BLI_convexhull_2d.h
153   BLI_dial_2d.h
154   BLI_dlrbTree.h
155   BLI_dynlib.h
156   BLI_dynstr.h
157   BLI_easing.h
158   BLI_edgehash.h
159   BLI_endian_switch.h
160   BLI_endian_switch_inline.h
161   BLI_expr_pylike_eval.h
162   BLI_fileops.h
163   BLI_fileops_types.h
164   BLI_fnmatch.h
165   BLI_ghash.h
166   BLI_gsqueue.h
167   BLI_hash.h
168   BLI_hash_md5.h
169   BLI_hash_mm2a.h
170   BLI_hash_mm3.h
171   BLI_heap.h
172   BLI_heap_simple.h
173   BLI_iterator.h
174   BLI_jitter_2d.h
175   BLI_kdopbvh.h
176   BLI_kdtree.h
177   BLI_kdtree_impl.h
178   BLI_lasso_2d.h
179   BLI_link_utils.h
180   BLI_linklist.h
181   BLI_linklist_lockfree.h
182   BLI_linklist_stack.h
183   BLI_listbase.h
184   BLI_math.h
185   BLI_math_base.h
186   BLI_math_bits.h
187   BLI_math_color.h
188   BLI_math_color_blend.h
189   BLI_math_geom.h
190   BLI_math_inline.h
191   BLI_math_interp.h
192   BLI_math_matrix.h
193   BLI_math_rotation.h
194   BLI_math_solvers.h
195   BLI_math_statistics.h
196   BLI_math_vector.h
197   BLI_memarena.h
198   BLI_memblock.h
199   BLI_memiter.h
200   BLI_memory_utils.h
201   BLI_mempool.h
202   BLI_noise.h
203   BLI_path_util.h
204   BLI_polyfill_2d.h
205   BLI_polyfill_2d_beautify.h
206   BLI_quadric.h
207   BLI_rand.h
208   BLI_rect.h
209   BLI_scanfill.h
210   BLI_smallhash.h
211   BLI_sort.h
212   BLI_sort_utils.h
213   BLI_stack.h
214   BLI_strict_flags.h
215   BLI_string.h
216   BLI_string_cursor_utf8.h
217   BLI_string_utf8.h
218   BLI_string_utils.h
219   BLI_sys_types.h
220   BLI_system.h
221   BLI_task.h
222   BLI_threads.h
223   BLI_timecode.h
224   BLI_timer.h
225   BLI_utildefines.h
226   BLI_utildefines_iter.h
227   BLI_utildefines_stack.h
228   BLI_utildefines_variadic.h
229   BLI_uvproject.h
230   BLI_vfontdata.h
231   BLI_voronoi_2d.h
232   BLI_voxel.h
233   BLI_winstuff.h
234   PIL_time.h
235   PIL_time_utildefines.h
236 )
237
238 set(LIB
239   bf_intern_eigen
240   bf_intern_guardedalloc
241   bf_intern_numaapi
242   extern_wcwidth
243 )
244
245 if(WITH_MEM_VALGRIND)
246   add_definitions(-DWITH_MEM_VALGRIND)
247 endif()
248
249 if(WIN32)
250   list(APPEND INC
251     ../../../intern/utfconv
252   )
253   list(APPEND LIB
254     bf_intern_utfconv
255   )
256 endif()
257
258 # no need to compile object files for inline headers.
259 set_source_files_properties(
260   intern/math_base_inline.c
261   intern/math_bits_inline.c
262   intern/math_color_blend_inline.c
263   intern/math_color_inline.c
264   intern/math_geom_inline.c
265   intern/math_vector_inline.c
266   PROPERTIES HEADER_FILE_ONLY TRUE
267 )
268
269 blender_add_lib(bf_blenlib "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")