CMakeLists.txt 3.0 KB

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