Modifier compilation tweaks (Blender conference commit)

* Fluid compilation: Inverse the compile flag from DISABLE_ELBEEM to WITH_MOD_FLUID for consistency. (scons/cmake)
* Use WITH_BF_FLUID in your user config (scons) 

* Add support for scons to disable build with Decimate and Boolean modifier. 
(WITH_BF_DECIMATE and WITH_BF_BOOLEAN)
This commit is contained in:
Thomas Dinges
2011-10-29 23:56:07 +00:00
parent 15bd96efeb
commit f837b46a2b
14 changed files with 47 additions and 38 deletions

View File

@@ -253,7 +253,9 @@ if 'blenderlite' in B.targets:
target_env_defs['WITH_BF_BULLET'] = False target_env_defs['WITH_BF_BULLET'] = False
target_env_defs['WITH_BF_BINRELOC'] = False target_env_defs['WITH_BF_BINRELOC'] = False
target_env_defs['BF_BUILDINFO'] = False target_env_defs['BF_BUILDINFO'] = False
target_env_defs['BF_NO_ELBEEM'] = True target_env_defs['WITH_BF_FLUID'] = False
target_env_defs['WITH_BF_DECIMATE'] = False
target_env_defs['WITH_BF_BOOLEAN'] = False
target_env_defs['WITH_BF_PYTHON'] = False target_env_defs['WITH_BF_PYTHON'] = False
target_env_defs['WITH_BF_3DMOUSE'] = False target_env_defs['WITH_BF_3DMOUSE'] = False
@@ -323,9 +325,9 @@ if 'blenderplayer' in B.targets:
if 'blendernogame' in B.targets: if 'blendernogame' in B.targets:
env['WITH_BF_GAMEENGINE'] = False env['WITH_BF_GAMEENGINE'] = False
# disable elbeem (fluidsim) compilation? # build without elbeem (fluidsim)?
if env['BF_NO_ELBEEM'] == 1: if env['WITH_BF_FLUID'] == 1:
env['CPPFLAGS'].append('-DDISABLE_ELBEEM') env['CPPFLAGS'].append('-DWITH_MOD_FLUID')
if btools.ENDIAN == "big": if btools.ENDIAN == "big":

View File

@@ -150,7 +150,9 @@ def validate_arguments(args, bc):
'BF_GHOST_DEBUG', 'BF_GHOST_DEBUG',
'WITH_BF_RAYOPTIMIZATION', 'WITH_BF_RAYOPTIMIZATION',
'BF_RAYOPTIMIZATION_SSE_FLAGS', 'BF_RAYOPTIMIZATION_SSE_FLAGS',
'BF_NO_ELBEEM', 'WITH_BF_FLUID',
'WITH_BF_DECIMATE',
'WITH_BF_BOOLEAN',
'WITH_BF_CXX_GUARDEDALLOC', 'WITH_BF_CXX_GUARDEDALLOC',
'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC', 'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
'BUILDBOT_BRANCH', 'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC' 'BUILDBOT_BRANCH', 'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC'
@@ -250,7 +252,9 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_OSX_STATICPYTHON', 'Staticly link to python', True)), (BoolVariable('WITH_OSX_STATICPYTHON', 'Staticly link to python', True)),
('BF_PYTHON_ABI_FLAGS', 'Python ABI flags (suffix in library version: m, mu, etc)', ''), ('BF_PYTHON_ABI_FLAGS', 'Python ABI flags (suffix in library version: m, mu, etc)', ''),
(BoolVariable('BF_NO_ELBEEM', 'Disable Fluid Sim', False)), (BoolVariable('WITH_BF_FLUID', 'Build with Fluid simulation (Elbeem)', True)),
(BoolVariable('WITH_BF_DECIMATE', 'Build with decimate modifier', True)),
(BoolVariable('WITH_BF_BOOLEAN', 'Build with boolean modifier', True)),
('BF_PROFILE_FLAGS', 'Profiling compiler flags', ''), ('BF_PROFILE_FLAGS', 'Profiling compiler flags', ''),
(BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)), (BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)),
('BF_OPENAL', 'base path for OpenAL', ''), ('BF_OPENAL', 'base path for OpenAL', ''),

View File

@@ -22,7 +22,7 @@ SConscript(['audaspace/SConscript',
# perhaps get rid of intern/csg? # perhaps get rid of intern/csg?
NEW_CSG='false' NEW_CSG='false'
if not env['BF_NO_ELBEEM']: if env['WITH_BF_FLUID']:
SConscript(['elbeem/SConscript']) SConscript(['elbeem/SConscript'])
if NEW_CSG=='false': if NEW_CSG=='false':

View File

@@ -323,8 +323,8 @@ if(WITH_OPENMP)
add_definitions(-DPARALLEL=1) add_definitions(-DPARALLEL=1)
endif() endif()
if(NOT WITH_MOD_FLUID) if(WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM) add_definitions(-DWITH_MOD_FLUID)
endif() endif()
if(WITH_MOD_SMOKE) if(WITH_MOD_SMOKE)

View File

@@ -79,8 +79,8 @@ if env['OURPLATFORM'] == 'darwin':
if env['WITH_BF_OPENMP']: if env['WITH_BF_OPENMP']:
defs.append('PARALLEL=1') defs.append('PARALLEL=1')
if env['BF_NO_ELBEEM']: if env['WITH_BF_FLUID']:
defs.append('DISABLE_ELBEEM') defs.append('WITH_MOD_FLUID')
if env['WITH_BF_LZO']: if env['WITH_BF_LZO']:
incs += ' #/extern/lzo/minilzo' incs += ' #/extern/lzo/minilzo'

View File

@@ -91,12 +91,12 @@
#include "RE_shader_ext.h" #include "RE_shader_ext.h"
/* fluid sim particle import */ /* fluid sim particle import */
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
#include "DNA_object_fluidsim.h" #include "DNA_object_fluidsim.h"
#include "LBM_fluidsim.h" #include "LBM_fluidsim.h"
#include <zlib.h> #include <zlib.h>
#include <string.h> #include <string.h>
#endif // DISABLE_ELBEEM #endif // WITH_MOD_FLUID
//XXX #include "BIF_screen.h" //XXX #include "BIF_screen.h"

View File

@@ -95,13 +95,13 @@
#include "RE_shader_ext.h" #include "RE_shader_ext.h"
/* fluid sim particle import */ /* fluid sim particle import */
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
#include "DNA_object_fluidsim.h" #include "DNA_object_fluidsim.h"
#include "LBM_fluidsim.h" #include "LBM_fluidsim.h"
#include <zlib.h> #include <zlib.h>
#include <string.h> #include <string.h>
#endif // DISABLE_ELBEEM #endif // WITH_MOD_FLUID
/************************************************/ /************************************************/
/* Reacting to system events */ /* Reacting to system events */
@@ -3916,7 +3916,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra))
} }
/* fluid sim particle import handling, actual loading of particles from file */ /* fluid sim particle import handling, actual loading of particles from file */
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
{ {
FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(sim->ob, eModifierType_Fluidsim); FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(sim->ob, eModifierType_Fluidsim);
@@ -4009,7 +4009,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra))
} // fluid sim particles done } // fluid sim particles done
} }
#endif // DISABLE_ELBEEM #endif // WITH_MOD_FLUID
} }
static int emit_particles(ParticleSimulationData *sim, PTCacheID *pid, float UNUSED(cfra)) static int emit_particles(ParticleSimulationData *sim, PTCacheID *pid, float UNUSED(cfra))

View File

@@ -45,8 +45,8 @@ set(SRC
physics_intern.h physics_intern.h
) )
if(NOT WITH_MOD_FLUID) if(WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM) add_definitions(-DWITH_MOD_FLUID)
endif() endif()
if(WITH_OPENMP) if(WITH_OPENMP)

View File

@@ -85,7 +85,7 @@
#include "physics_intern.h" // own include #include "physics_intern.h" // own include
/* enable/disable overall compilation */ /* enable/disable overall compilation */
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
#include "WM_api.h" #include "WM_api.h"
@@ -1111,7 +1111,7 @@ void fluidsimFreeBake(Object *UNUSED(ob))
/* not implemented yet */ /* not implemented yet */
} }
#else /* DISABLE_ELBEEM */ #else /* WITH_MOD_FLUID */
/* compile dummy functions for disabled fluid sim */ /* compile dummy functions for disabled fluid sim */
@@ -1135,7 +1135,7 @@ static int fluidsimBake(bContext *UNUSED(C), ReportList *UNUSED(reports), Object
return 0; return 0;
} }
#endif /* DISABLE_ELBEEM */ #endif /* WITH_MOD_FLUID */
/***************************** Operators ******************************/ /***************************** Operators ******************************/

View File

@@ -195,8 +195,8 @@ if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG) add_definitions(-DWITH_FFMPEG)
endif() endif()
if(NOT WITH_MOD_FLUID) if(WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM) add_definitions(-DWITH_MOD_FLUID)
endif() endif()
if(WITH_FFTW3) if(WITH_FFTW3)

View File

@@ -170,7 +170,7 @@ static void rna_FluidSettings_update_type(Main *bmain, Scene *scene, PointerRNA
static void rna_DomainFluidSettings_memory_estimate_get(PointerRNA *ptr, char *value) static void rna_DomainFluidSettings_memory_estimate_get(PointerRNA *ptr, char *value)
{ {
#ifdef DISABLE_ELBEEM #ifndef WITH_MOD_FLUID
(void)ptr; (void)ptr;
value[0]= '\0'; value[0]= '\0';
#else #else
@@ -183,7 +183,7 @@ static void rna_DomainFluidSettings_memory_estimate_get(PointerRNA *ptr, char *v
static int rna_DomainFluidSettings_memory_estimate_length(PointerRNA *UNUSED(ptr)) static int rna_DomainFluidSettings_memory_estimate_length(PointerRNA *UNUSED(ptr))
{ {
#ifdef DISABLE_ELBEEM #ifndef WITH_MOD_FLUID
return 0; return 0;
#else #else
return 31; return 31;

View File

@@ -111,8 +111,8 @@ if(WITH_MOD_DECIMATE)
) )
endif() endif()
if(NOT WITH_MOD_FLUID) if(WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM) add_definitions(-DWITH_MOD_FLUID)
endif() endif()
if(WITH_GAMEENGINE) if(WITH_GAMEENGINE)

View File

@@ -13,12 +13,14 @@ incs += ' ' + env['BF_ZLIB_INC']
defs = [] defs = []
# could be made optional if env ['WITH_BF_BOOLEAN']:
defs += ['WITH_MOD_BOOLEAN'] defs.append('WITH_MOD_BOOLEAN')
defs += ['WITH_MOD_DECIMATE']
if env['BF_NO_ELBEEM']: if env ['WITH_BF_DECIMATE']:
defs.append('DISABLE_ELBEEM') defs.append('WITH_MOD_DECIMATE')
if env['WITH_BF_FLUID']:
defs.append('WITH_MOD_FLUID')
if env['WITH_BF_GAMEENGINE']: if env['WITH_BF_GAMEENGINE']:
incs += ' #/extern/recastnavigation' incs += ' #/extern/recastnavigation'

View File

@@ -62,9 +62,10 @@
// headers for fluidsim bobj meshes // headers for fluidsim bobj meshes
#include "LBM_fluidsim.h" #include "LBM_fluidsim.h"
void fluidsim_init(FluidsimModifierData *fluidmd) void fluidsim_init(FluidsimModifierData *fluidmd)
{ {
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
if(fluidmd) if(fluidmd)
{ {
FluidsimSettings *fss = MEM_callocN(sizeof(FluidsimSettings), "fluidsimsettings"); FluidsimSettings *fss = MEM_callocN(sizeof(FluidsimSettings), "fluidsimsettings");
@@ -152,7 +153,7 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
void fluidsim_free(FluidsimModifierData *fluidmd) void fluidsim_free(FluidsimModifierData *fluidmd)
{ {
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
if(fluidmd) if(fluidmd)
{ {
if(fluidmd->fss->meshVelocities) if(fluidmd->fss->meshVelocities)
@@ -169,7 +170,7 @@ void fluidsim_free(FluidsimModifierData *fluidmd)
return; return;
} }
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
/* read .bobj.gz file into a fluidsimDerivedMesh struct */ /* read .bobj.gz file into a fluidsimDerivedMesh struct */
static DerivedMesh *fluidsim_read_obj(const char *filename) static DerivedMesh *fluidsim_read_obj(const char *filename)
{ {
@@ -534,14 +535,14 @@ static DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData
return dm; return dm;
} }
#endif // DISABLE_ELBEEM #endif // WITH_MOD_FLUID
DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene,
Object *UNUSED(ob), Object *UNUSED(ob),
DerivedMesh *dm, DerivedMesh *dm,
int useRenderParams, int UNUSED(isFinalCalc)) int useRenderParams, int UNUSED(isFinalCalc))
{ {
#ifndef DISABLE_ELBEEM #ifdef WITH_MOD_FLUID
DerivedMesh *result = NULL; DerivedMesh *result = NULL;
int framenr; int framenr;
FluidsimSettings *fss = NULL; FluidsimSettings *fss = NULL;