Lock-free memory allocator
[blender.git] / intern / guardedalloc / 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 #
20 # The Original Code is: all of this file.
21 #
22 # Contributor(s): Jacques Beaurain.
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 set(INC
27         .
28         ../atomic
29 )
30
31 set(INC_SYS
32
33 )
34
35 set(SRC
36         ./intern/mallocn.c
37         ./intern/mallocn_guarded_impl.c
38         ./intern/mallocn_lockfree_impl.c
39
40         MEM_guardedalloc.h
41         ./intern/mallocn_intern.h
42 )
43
44 if(WIN32 AND NOT UNIX)
45         list(APPEND SRC
46                 intern/mmap_win.c
47
48                 mmap_win.h
49         )
50 endif()
51
52 blender_add_lib(bf_intern_guardedalloc "${SRC}" "${INC}" "${INC_SYS}")
53
54 # Override C++ alloc, optional.
55 if(WITH_CXX_GUARDEDALLOC)
56         set(SRC
57                 cpp/mallocn.cpp
58         )
59         blender_add_lib(bf_intern_guardedalloc_cpp "${SRC}" "${INC}" "${INC_SYS}")
60 endif()