disable openmp thread assert, would fail in cases where the caller was locking for...
[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 )
29
30 set(INC_SYS
31         ${PNG_INCLUDE_DIR}
32         ${ZLIB_INCLUDE_DIRS}
33 )
34
35 set(SRC
36         intern/attributes.cpp
37         intern/controlparticles.cpp
38         intern/elbeem.cpp
39         intern/elbeem_control.cpp
40         intern/isosurface.cpp
41         intern/mvmcoords.cpp
42         intern/ntl_blenderdumper.cpp
43         intern/ntl_bsptree.cpp
44         intern/ntl_geometrymodel.cpp
45         intern/ntl_geometryobject.cpp
46         intern/ntl_lighting.cpp
47         intern/ntl_ray.cpp
48         intern/ntl_world.cpp
49         intern/parametrizer.cpp
50         intern/particletracer.cpp
51         intern/simulation_object.cpp
52         intern/solver_adap.cpp
53         intern/solver_control.cpp
54         intern/solver_init.cpp
55         intern/solver_interface.cpp
56         intern/solver_main.cpp
57         intern/solver_util.cpp
58         intern/utilities.cpp
59
60         extern/LBM_fluidsim.h
61         extern/elbeem.h
62         intern/attributes.h
63         intern/controlparticles.h
64         intern/elbeem_control.h
65         intern/isosurface.h
66         intern/loop_tools.h
67         intern/mcubes_tables.h
68         intern/mvmcoords.h
69         intern/ntl_blenderdumper.h
70         intern/ntl_bsptree.h
71         intern/ntl_geometryclass.h
72         intern/ntl_geometrymodel.h
73         intern/ntl_geometryobject.h
74         intern/ntl_geometryshader.h
75         intern/ntl_lighting.h
76         intern/ntl_matrices.h
77         intern/ntl_ray.h
78         intern/ntl_vector3dim.h
79         intern/ntl_world.h
80         intern/paraloopend.h
81         intern/parametrizer.h
82         intern/particletracer.h
83         intern/simulation_object.h
84         intern/solver_class.h
85         intern/solver_control.h
86         intern/solver_interface.h
87         intern/solver_relax.h
88         intern/utilities.h
89         intern/globals.h
90 )
91
92 # elbeem has some harmless UNUSED warnings
93 remove_strict_flags()
94
95 add_definitions(
96         -DNOGUI
97         -DELBEEM_BLENDER=1
98 )
99
100 # not essential but quiet gcc's -Wundef
101 add_definitions(
102         -DLBM_PRECISION=1
103         -DLBM_INCLUDE_TESTSOLVERS=0
104         -DFSGR_STRICT_DEBUG=0
105         -DELBEEM_MPI=0
106         -DNEWDIRVELMOTEST=0
107 )
108
109 if(WINDOWS)
110         add_definitions(-DUSE_MSVC6FIXES)
111 endif()
112
113 if(WITH_OPENMP)
114         add_definitions(-DPARALLEL=1)
115 else()
116         add_definitions(-DPARALLEL=0)
117 endif()
118
119 blender_add_lib_nolist(bf_intern_elbeem "${SRC}" "${INC}" "${INC_SYS}")