cmake option to build without iksolver

This commit is contained in:
Campbell Barton
2012-08-18 13:36:29 +00:00
parent 9e742ffc2b
commit 47e313ec0c
8 changed files with 35 additions and 15 deletions

View File

@@ -126,6 +126,7 @@ option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid d
option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development)" OFF) option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development)" OFF)
option(WITH_BUILDINFO "Include extra build details (only disable for development & faster builds)" ON) option(WITH_BUILDINFO "Include extra build details (only disable for development & faster builds)" ON)
option(WITH_IK_ITASC "Enable ITASC IK solver (only disable for development & for incompatible C++ compilers)" ON) option(WITH_IK_ITASC "Enable ITASC IK solver (only disable for development & for incompatible C++ compilers)" ON)
option(WITH_IK_SOLVER "Enable Legacy IK solver (only disable for development)" ON)
option(WITH_FFTW3 "Enable FFTW3 support (Used for smoke and audio effects)" OFF) option(WITH_FFTW3 "Enable FFTW3 support (Used for smoke and audio effects)" OFF)
option(WITH_BULLET "Enable Bullet (Physics Engine)" ON) option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
option(WITH_GAMEENGINE "Enable Game Engine" ON) option(WITH_GAMEENGINE "Enable Game Engine" ON)

View File

@@ -28,7 +28,6 @@ add_subdirectory(ghost)
add_subdirectory(guardedalloc) add_subdirectory(guardedalloc)
add_subdirectory(moto) add_subdirectory(moto)
add_subdirectory(memutil) add_subdirectory(memutil)
add_subdirectory(iksolver)
add_subdirectory(opennl) add_subdirectory(opennl)
add_subdirectory(mikktspace) add_subdirectory(mikktspace)
add_subdirectory(raskter) add_subdirectory(raskter)
@@ -58,6 +57,10 @@ if(WITH_MOD_BOOLEAN)
add_subdirectory(bsp) add_subdirectory(bsp)
endif() endif()
if(WITH_IK_SOLVER)
add_subdirectory(iksolver)
endif()
if(WITH_IK_ITASC) if(WITH_IK_ITASC)
add_subdirectory(itasc) add_subdirectory(itasc)
endif() endif()

View File

@@ -73,4 +73,4 @@ set(SRC
intern/TNT/version.h intern/TNT/version.h
) )
blender_add_lib(bf_intern_ik "${SRC}" "${INC}" "${INC_SYS}") blender_add_lib(bf_intern_iksolver "${SRC}" "${INC}" "${INC_SYS}")

View File

@@ -5,5 +5,5 @@ sources = env.Glob('intern/*.cpp')
incs = 'intern ../moto/include ../memutil' incs = 'intern ../moto/include ../memutil'
env.BlenderLib ('bf_intern_ik', sources, Split(incs), [], libtype=['intern','player'], priority=[100,90] ) env.BlenderLib ('bf_intern_iksolver', sources, Split(incs), [], libtype=['intern','player'], priority=[100,90] )

View File

@@ -29,7 +29,6 @@ set(INC
../blenlib ../blenlib
../makesdna ../makesdna
../../../intern/guardedalloc ../../../intern/guardedalloc
../../../intern/iksolver/extern
) )
set(INC_SYS set(INC_SYS
@@ -38,14 +37,22 @@ set(INC_SYS
set(SRC set(SRC
intern/ikplugin_api.c intern/ikplugin_api.c
intern/iksolver_plugin.c
BIK_api.h BIK_api.h
intern/ikplugin_api.h intern/ikplugin_api.h
intern/iksolver_plugin.h
intern/itasc_plugin.h
) )
if(WITH_IK_SOLVER)
add_definitions(-DWITH_IK_SOLVER)
list(APPEND INC
../../../intern/iksolver/extern
)
list(APPEND SRC
intern/iksolver_plugin.c
intern/iksolver_plugin.h
)
endif()
if(WITH_IK_ITASC) if(WITH_IK_ITASC)
add_definitions(-DWITH_IK_ITASC) add_definitions(-DWITH_IK_ITASC)
list(APPEND INC list(APPEND INC
@@ -54,8 +61,8 @@ if(WITH_IK_ITASC)
) )
list(APPEND SRC list(APPEND SRC
intern/itasc_plugin.cpp intern/itasc_plugin.cpp
intern/itasc_plugin.h
) )
endif() endif()
blender_add_lib(bf_ikplugin "${SRC}" "${INC}" "${INC_SYS}") blender_add_lib(bf_ikplugin "${SRC}" "${INC}" "${INC_SYS}")

View File

@@ -45,13 +45,17 @@
#include "DNA_armature_types.h" #include "DNA_armature_types.h"
#include "ikplugin_api.h" #include "ikplugin_api.h"
#include "iksolver_plugin.h"
#ifdef WITH_IK_SOLVER
# include "iksolver_plugin.h"
#endif
#ifdef WITH_IK_ITASC #ifdef WITH_IK_ITASC
#include "itasc_plugin.h" # include "itasc_plugin.h"
#endif #endif
static IKPlugin ikplugin_tab[] = { static IKPlugin ikplugin_tab[] = {
#ifdef WITH_IK_SOLVER
/* Legacy IK solver */ /* Legacy IK solver */
{ {
iksolver_initialize_tree, iksolver_initialize_tree,
@@ -61,8 +65,10 @@ static IKPlugin ikplugin_tab[] = {
NULL, NULL,
NULL, NULL,
NULL, NULL,
#ifdef WITH_IK_ITASC
}, },
#endif
#ifdef WITH_IK_ITASC
/* iTaSC IK solver */ /* iTaSC IK solver */
{ {
itasc_initialize_tree, itasc_initialize_tree,
@@ -72,8 +78,8 @@ static IKPlugin ikplugin_tab[] = {
itasc_clear_cache, itasc_clear_cache,
itasc_update_param, itasc_update_param,
itasc_test_constraint, itasc_test_constraint,
#endif },
} #endif
}; };
static IKPlugin *get_plugin(bPose *pose) static IKPlugin *get_plugin(bPose *pose)

View File

@@ -110,7 +110,7 @@ endif()
ge_scenegraph ge_scenegraph
bf_ikplugin bf_ikplugin
bf_intern_itasc bf_intern_itasc
bf_intern_ik bf_intern_iksolver
bf_intern_smoke bf_intern_smoke
bf_modifiers bf_modifiers
bf_intern_moto bf_intern_moto

View File

@@ -862,7 +862,6 @@ endif()
bf_intern_bsp bf_intern_bsp
bf_intern_decimate bf_intern_decimate
bf_intern_elbeem bf_intern_elbeem
bf_intern_ik
bf_intern_memutil bf_intern_memutil
bf_intern_guardedalloc bf_intern_guardedalloc
bf_intern_ctr bf_intern_ctr
@@ -934,6 +933,10 @@ endif()
list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp) list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
endif() endif()
if(WITH_IK_SOLVER)
list_insert_after(BLENDER_SORTED_LIBS "bf_intern_elbeem" "bf_intern_iksolver")
endif()
if(WITH_IK_ITASC) if(WITH_IK_ITASC)
list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc) list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
endif() endif()