d9b64b3a19944df34e715af52b3751838f8e805a
[blender-staging.git] / intern / mantaflow / 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) 2019, Blender Foundation
18 # All rights reserved.
19 #
20 # The Original Code is: all of this file.
21 #
22 # Contributor(s): Sebastian Barschkis (sebbas)
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 add_definitions(-DWITH_FLUID=1)
27
28 if(WITH_OPENVDB)
29   add_definitions(-DOPENVDB=1)
30   add_definitions(-DOPENVDB_STATICLIB)
31 else()
32   add_definitions(-DOPENVDB=0)
33 endif()
34
35 if(WIN32)
36   add_definitions(-D_USE_MATH_DEFINES)
37 endif()
38
39
40 set(INC
41   extern
42   intern/strings
43   ../../source/blender/makesdna
44   ../../source/blender/blenlib
45 )
46
47 # Python is always required
48 add_definitions(-DWITH_PYTHON)
49
50 set(INC_SYS
51   ../../extern/mantaflow/helper/util
52   ../../extern/mantaflow/helper/pwrapper
53   ../../extern/mantaflow/preprocessed
54   ${PYTHON_INCLUDE_DIRS}
55   ${ZLIB_INCLUDE_DIRS}
56 )
57
58 if(WITH_TBB)
59   list(APPEND INC_SYS
60     ${TBB_INCLUDE_DIRS}
61   )
62   list(APPEND LIB
63     ${TBB_LIBRARIES}
64   )
65 endif()
66
67 if(WITH_OPENVDB)
68   list(APPEND INC_SYS
69     ${BOOST_INCLUDE_DIR}
70     ${OPENEXR_INCLUDE_DIRS}
71     ${OPENVDB_INCLUDE_DIRS}
72   )
73   list(APPEND LIB
74     ${OPENVDB_LIBRARIES}
75     ${OPENEXR_LIBRARIES}
76     ${ZLIB_LIBRARIES}
77     ${BOOST_LIBRARIES}
78   )
79   if(WITH_OPENVDB_BLOSC)
80     list(APPEND LIB
81       ${BLOSC_LIBRARIES}
82       ${ZLIB_LIBRARIES}
83     )
84   endif()
85 endif()
86
87 set(SRC
88   intern/manta_python_API.cpp
89   intern/manta_fluid_API.cpp
90   intern/MANTA_main.cpp
91
92   extern/manta_python_API.h
93   extern/manta_fluid_API.h
94   intern/MANTA_main.h
95   intern/strings/fluid_script.h
96   intern/strings/smoke_script.h
97   intern/strings/liquid_script.h
98 )
99
100 set(LIB
101   extern_mantaflow
102
103   ${PYTHON_LINKFLAGS}
104   ${PYTHON_LIBRARIES}
105   ${ZLIB_LIBRARIES}
106 )
107
108 blender_add_lib(bf_intern_mantaflow "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")