diff options
Diffstat (limited to 'indra/cmake/LLPhysicsExtensions.cmake')
-rw-r--r-- | indra/cmake/LLPhysicsExtensions.cmake | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake index 73d5dd59cf..e6afee762e 100644 --- a/indra/cmake/LLPhysicsExtensions.cmake +++ b/indra/cmake/LLPhysicsExtensions.cmake @@ -1,29 +1,35 @@ # -*- cmake -*- include(Prebuilt) -if (INSTALL_PROPRIETARY AND NOT STANDALONE) - use_prebuilt_binary(llphysicsextensions) - set(LLPHYSICS_EXTENSIONS_LIB_NAME llphysicsextensions) -else (INSTALL_PROPRIETARY AND NOT STANDALONE) - use_prebuilt_binary(llphysicsextensionsstub) - set(LLPHYSICS_EXTENSIONS_LIB_NAME llphysicsextensionsstub) -endif (INSTALL_PROPRIETARY AND NOT STANDALONE) +# There are three possible solutions to provide the llphysicsextensions: +# - The full source package, selected by -DHAVOK:BOOL=ON +# - The stub source package, selected by -DHAVOK:BOOL=OFF +# - The prebuilt package available to those with sublicenses, selected by -DHAVOK_TPV:BOOL=ON -set(LLPHYSICS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/lib/include) +if (INSTALL_PROPRIETARY) + set(HAVOK ON CACHE BOOL "Use Havok physics library") +endif (INSTALL_PROPRIETARY) -set(LLPHYSICS_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug) -set(LLPHYSICS_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release) -find_library(LL_PHYSICS_DEBUG_LIB ${LLPHYSICS_EXTENSIONS_LIB_NAME} PATHS ${LLPHYSICS_DEBUG_LIBRARY_PATH}) -find_library(LL_PHYSICS_RELEASE_LIB ${LLPHYSICS_EXTENSIONS_LIB_NAME} PATHS ${LLPHYSICS_RELEASE_LIBRARY_PATH}) +# Note that the use_prebuilt_binary macros below do not in fact include binaries; +# the llphysicsextensions_* packages are source only and are built here. +# The source package and the stub package both build libraries of the same name. -set(LLPHYSICS_LIBRARIES +if (HAVOK) + include(Havok) + use_prebuilt_binary(llphysicsextensions_source) + set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/src) + set(LLPHYSICSEXTENSIONS_LIBRARIES llphysicsextensions) - debug ${LL_PHYSICS_DEBUG_LIB} - optimized ${LL_PHYSICS_RELEASE_LIB} -) +elseif (HAVOK_TPV) + use_prebuilt_binary(llphysicsextensions_tpv) + set(LLPHYSICSEXTENSIONS_LIBRARIES llphysicsextensions_tpv) -if (LINUX) - list(INSERT LLPHYSICS_LIBRARIES 0 -Wl,--start-group) - list(APPEND LLPHYSICS_LIBRARIES -Wl,--end-group) -endif (LINUX) +else (HAVOK) + use_prebuilt_binary(llphysicsextensions_stub) + set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub) + set(LLPHYSICSEXTENSIONS_LIBRARIES llphysicsextensionsstub) + +endif (HAVOK) + +set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions) |