Speedup for guarded 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
38         MEM_guardedalloc.h
39 )
40
41 if(WIN32 AND NOT UNIX)
42         list(APPEND SRC
43                 intern/mmap_win.c
44
45                 mmap_win.h
46         )
47 endif()
48
49 if (WITH_GUARDEDALLOC)
50         add_definitions(-DWITH_GUARDEDALLOC)
51 else()
52         message(WARNING "Disabling GuardedAlloc is experemental, use at own risk!")
53 endif()
54
55 blender_add_lib(bf_intern_guardedalloc "${SRC}" "${INC}" "${INC_SYS}")
56
57 # Override C++ alloc, optional.
58 if(WITH_CXX_GUARDEDALLOC)
59         set(SRC
60                 cpp/mallocn.cpp
61         )
62         blender_add_lib(bf_intern_guardedalloc_cpp "${SRC}" "${INC}" "${INC_SYS}")
63 endif()