Merge branch 'master' of git@git.blender.org:blender.git into blender2.8
[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(WITH_OPENMP)
111         add_definitions(-DPARALLEL=1)
112 else()
113         add_definitions(-DPARALLEL=0)
114 endif()
115
116 blender_add_lib_nolist(bf_intern_elbeem "${SRC}" "${INC}" "${INC_SYS}")