use ghash for DNA_struct_find_nr(), gives ~18% speedup on loading sintel lite, will...
[blender.git] / source / blender / makesdna / intern / CMakeLists.txt
1 # -*- mode: cmake; indent-tabs-mode: t; -*-
2 # $Id$
3 # ***** BEGIN GPL LICENSE BLOCK *****
4 #
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 #
19 # The Original Code is Copyright (C) 2006, Blender Foundation
20 # All rights reserved.
21 #
22 # The Original Code is: all of this file.
23 #
24 # Contributor(s): Jacques Beaurain.
25 #
26 # ***** END GPL LICENSE BLOCK *****
27
28 # message(STATUS "Configuring makesdna")
29
30 # add_definitions(-DWITH_DNA_GHASH)
31
32 blender_include_dirs(
33         ../../../../intern/guardedalloc
34         ../../blenloader
35         ../../blenlib
36         ..
37 )
38
39
40 # -----------------------------------------------------------------------------
41 # Build makesdna executable
42 set(SRC
43         makesdna.c
44         ../../../../intern/guardedalloc/intern/mallocn.c
45 )
46
47 if(WIN32 AND NOT UNIX)
48         list(APPEND SRC
49                 ../../../../intern/guardedalloc/intern/mmap_win.c
50         )
51 endif()
52
53 # SRC_DNA_INC is defined in the parent dir
54
55 add_executable(makesdna ${SRC} ${SRC_DNA_INC})
56
57 # Output dna.c
58 add_custom_command(
59         OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
60         COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
61         DEPENDS makesdna
62 )
63
64
65 # -----------------------------------------------------------------------------
66 # Build bf_dna library
67 set(INC
68
69 )
70
71 set(INC_SYS
72
73 )
74
75 set(SRC
76         dna_genfile.c
77         dna.c
78         ${SRC_DNA_INC}
79 )
80
81 blender_add_lib(bf_dna "${SRC}" "${INC}" "${INC_SYS}")
82
83
84 # -----------------------------------------------------------------------------
85 # Build bf_dna_blenlib library
86 set(INC
87
88 )
89
90 set(INC_SYS
91
92 )
93
94 set(SRC
95         ../../blenlib/intern/BLI_mempool.c
96         ../../blenlib/intern/listbase.c
97         ../../blenlib/intern/BLI_ghash.c
98 )
99
100 blender_add_lib(bf_dna_blenlib "${SRC}" "${INC}" "${INC_SYS}")