Merge branch 'blender2.7'
[blender.git] / intern / elbeem / 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         extern
28         ../guardedalloc
29 )
30
31 set(INC_SYS
32         ${PNG_INCLUDE_DIRS}
33         ${ZLIB_INCLUDE_DIRS}
34 )
35
36 set(SRC
37         intern/attributes.cpp
38         intern/controlparticles.cpp
39         intern/elbeem.cpp
40         intern/elbeem_control.cpp
41         intern/isosurface.cpp
42         intern/mvmcoords.cpp
43         intern/ntl_blenderdumper.cpp
44         intern/ntl_bsptree.cpp
45         intern/ntl_geometrymodel.cpp
46         intern/ntl_geometryobject.cpp
47         intern/ntl_lighting.cpp
48         intern/ntl_ray.cpp
49         intern/ntl_world.cpp
50         intern/parametrizer.cpp
51         intern/particletracer.cpp
52         intern/simulation_object.cpp
53         intern/solver_adap.cpp
54         intern/solver_control.cpp
55         intern/solver_init.cpp
56         intern/solver_interface.cpp
57         intern/solver_main.cpp
58         intern/solver_util.cpp
59         intern/utilities.cpp
60
61         extern/LBM_fluidsim.h
62         extern/elbeem.h
63         intern/attributes.h
64         intern/controlparticles.h
65         intern/elbeem_control.h
66         intern/isosurface.h
67         intern/loop_tools.h
68         intern/mcubes_tables.h
69         intern/mvmcoords.h
70         intern/ntl_blenderdumper.h
71         intern/ntl_bsptree.h
72         intern/ntl_geometryclass.h
73         intern/ntl_geometrymodel.h
74         intern/ntl_geometryobject.h
75         intern/ntl_geometryshader.h
76         intern/ntl_lighting.h
77         intern/ntl_matrices.h
78         intern/ntl_ray.h
79         intern/ntl_vector3dim.h
80         intern/ntl_world.h
81         intern/paraloopend.h
82         intern/parametrizer.h
83         intern/particletracer.h
84         intern/simulation_object.h
85         intern/solver_class.h
86         intern/solver_control.h
87         intern/solver_interface.h
88         intern/solver_relax.h
89         intern/utilities.h
90         intern/globals.h
91 )
92
93 # elbeem has some harmless UNUSED warnings
94 remove_strict_flags()
95
96 add_definitions(
97         -DNOGUI
98         -DELBEEM_BLENDER=1
99 )
100
101 # not essential but quiet gcc's -Wundef
102 add_definitions(
103         -DLBM_PRECISION=1
104         -DLBM_INCLUDE_TESTSOLVERS=0
105         -DFSGR_STRICT_DEBUG=0
106         -DELBEEM_MPI=0
107         -DNEWDIRVELMOTEST=0
108 )
109
110 if(WIN32)
111         # We need BLI_gzopen on win32 for unicode paths
112         add_definitions(
113                 -DLBM_GZIP_OVERRIDE_H="${CMAKE_SOURCE_DIR}/source/blender/blenlib/BLI_fileops.h"
114                 -D LBM_GZIP_OPEN_FN="\(gzFile\)BLI_gzopen"
115         )
116 endif()
117
118 if(WITH_OPENMP)
119         add_definitions(-DPARALLEL=1)
120 else()
121         add_definitions(-DPARALLEL=0)
122 endif()
123
124 blender_add_lib_nolist(bf_intern_elbeem "${SRC}" "${INC}" "${INC_SYS}")