mirror of
https://github.com/overte-org/overte.git
synced 2025-08-07 18:30:42 +02:00
add an external project to handle bullet
This commit is contained in:
parent
27c6f80a61
commit
6f055ca0d7
10 changed files with 72 additions and 29 deletions
36
cmake/externals/bullet/CMakeLists.txt
vendored
Normal file
36
cmake/externals/bullet/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
set(EXTERNAL_NAME bullet)
|
||||||
|
|
||||||
|
if (ANDROID)
|
||||||
|
set(ANDROID_CMAKE_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" "-DANDROID_NATIVE_API_LEVEL=19")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(ExternalProject)
|
||||||
|
ExternalProject_Add(
|
||||||
|
${EXTERNAL_NAME}
|
||||||
|
URL http://bullet.googlecode.com/files/bullet-2.82-r2704.tgz
|
||||||
|
URL_MD5 70b3c8d202dee91a0854b4cbc88173e8
|
||||||
|
CMAKE_ARGS ${ANDROID_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DBUILD_SHARED_LIBS=1 -DUSE_GLM=0
|
||||||
|
LOG_DOWNLOAD 1
|
||||||
|
LOG_CONFIGURE 1
|
||||||
|
LOG_BUILD 1
|
||||||
|
LOG_INSTALL 1
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
||||||
|
|
||||||
|
string(TOUPPER ${EXTERNAL_NAME} EXTERNAL_NAME_UPPER)
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIR ${INSTALL_DIR}/include CACHE TYPE "Path to bullet include directory")
|
||||||
|
|
||||||
|
set(BULLET_LIB_DIR "${INSTALL_DIR}/lib")
|
||||||
|
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_DYNAMICS_LIBRARY_RELEASE ${BULLET_LIB_DIR}/libBulletDynamics.dylib CACHE TYPE "Bullet dynamics release library location")
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_DYNAMICS_LIBRARY_DEBUG NOTFOUND CACHE TYPE "Bullet dynamics debug library location")
|
||||||
|
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_COLLISION_LIBRARY_RELEASE ${BULLET_LIB_DIR}/libBulletCollision.dylib CACHE TYPE "Bullet collision release library location")
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_COLLISION_LIBRARY_DEBUG NOTFOUND CACHE TYPE "Bullet collision debug library location")
|
||||||
|
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_MATH_LIBRARY_RELEASE ${BULLET_LIB_DIR}/libLinearMath.dylib CACHE TYPE "Bullet math release library location")
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_MATH_LIBRARY_DEBUG NOTFOUND CACHE TYPE "Bullet math debug library location")
|
||||||
|
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_SOFTBODY_LIBRARY_RELEASE ${BULLET_LIB_DIR}/libBulletSoftbody.dylib CACHE TYPE "Bullet softbody release library location")
|
||||||
|
set(${EXTERNAL_NAME_UPPER}_SOFTBODY_LIBRARY_DEBUG NOTFOUND CACHE TYPE "Bullet softbody debug library location")
|
5
cmake/externals/glm/CMakeLists.txt
vendored
5
cmake/externals/glm/CMakeLists.txt
vendored
|
@ -6,7 +6,10 @@ ExternalProject_Add(
|
||||||
URL http://pkgs.fedoraproject.org/repo/pkgs/glm/glm-0.9.5.4.zip/fab76fc982b256b46208e5c750ed456a/glm-0.9.5.4.zip
|
URL http://pkgs.fedoraproject.org/repo/pkgs/glm/glm-0.9.5.4.zip/fab76fc982b256b46208e5c750ed456a/glm-0.9.5.4.zip
|
||||||
URL_MD5 fab76fc982b256b46208e5c750ed456a
|
URL_MD5 fab76fc982b256b46208e5c750ed456a
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
||||||
LOG_DOWNLOAD ON
|
LOG_DOWNLOAD 1
|
||||||
|
LOG_CONFIGURE 1
|
||||||
|
LOG_BUILD 1
|
||||||
|
LOG_INSTALL 1
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
||||||
|
|
5
cmake/externals/gverb/CMakeLists.txt
vendored
5
cmake/externals/gverb/CMakeLists.txt
vendored
|
@ -10,7 +10,10 @@ ExternalProject_Add(
|
||||||
URL http://hifi-public.s3.amazonaws.com/dependencies/gverb-master.zip
|
URL http://hifi-public.s3.amazonaws.com/dependencies/gverb-master.zip
|
||||||
URL_MD5 8b16d586390a2102804e46b87820dfc6
|
URL_MD5 8b16d586390a2102804e46b87820dfc6
|
||||||
CMAKE_ARGS ${ANDROID_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
CMAKE_ARGS ${ANDROID_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
||||||
LOG_DOWNLOAD ON
|
LOG_DOWNLOAD 1
|
||||||
|
LOG_CONFIGURE 1
|
||||||
|
LOG_BUILD 1
|
||||||
|
LOG_INSTALL 1
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
||||||
|
|
5
cmake/externals/soxr/CMakeLists.txt
vendored
5
cmake/externals/soxr/CMakeLists.txt
vendored
|
@ -10,7 +10,10 @@ ExternalProject_Add(
|
||||||
URL http://hifi-public.s3.amazonaws.com/dependencies/soxr-0.1.1.zip
|
URL http://hifi-public.s3.amazonaws.com/dependencies/soxr-0.1.1.zip
|
||||||
URL_MD5 349b5b2f323a7380bc12186d98c77d1d
|
URL_MD5 349b5b2f323a7380bc12186d98c77d1d
|
||||||
CMAKE_ARGS ${PLATFORM_CMAKE_ARGS} -DBUILD_SHARED_LIBS=1 -DBUILD_TESTS=0 -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
CMAKE_ARGS ${PLATFORM_CMAKE_ARGS} -DBUILD_SHARED_LIBS=1 -DBUILD_TESTS=0 -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
||||||
LOG_DOWNLOAD ON
|
LOG_DOWNLOAD 1
|
||||||
|
LOG_CONFIGURE 1
|
||||||
|
LOG_BUILD 1
|
||||||
|
LOG_INSTALL 1
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
ExternalProject_Get_Property(${EXTERNAL_NAME} INSTALL_DIR)
|
||||||
|
|
5
cmake/externals/tbb/CMakeLists.txt
vendored
5
cmake/externals/tbb/CMakeLists.txt
vendored
|
@ -14,7 +14,10 @@ if (ANDROID)
|
||||||
BUILD_IN_SOURCE 1
|
BUILD_IN_SOURCE 1
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/AndroidTBBLibCopy.cmake
|
INSTALL_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/AndroidTBBLibCopy.cmake
|
||||||
LOG_DOWNLOAD ON
|
LOG_DOWNLOAD 1
|
||||||
|
LOG_CONFIGURE 1
|
||||||
|
LOG_BUILD 1
|
||||||
|
LOG_INSTALL 1
|
||||||
)
|
)
|
||||||
else ()
|
else ()
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# IncludeBullet.cmake
|
|
||||||
#
|
|
||||||
# Copyright 2014 High Fidelity, Inc.
|
|
||||||
#
|
|
||||||
# Distributed under the Apache License, Version 2.0.
|
|
||||||
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
#
|
|
||||||
|
|
||||||
macro(INCLUDE_BULLET)
|
|
||||||
find_package(Bullet REQUIRED)
|
|
||||||
include_directories("${BULLET_INCLUDE_DIRS}")
|
|
||||||
if (APPLE OR UNIX)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${BULLET_INCLUDE_DIRS}")
|
|
||||||
endif()
|
|
||||||
endmacro(INCLUDE_BULLET)
|
|
|
@ -32,8 +32,6 @@ elseif (WIN32)
|
||||||
set(GL_HEADERS "#include <windowshacks.h>\n#include <GL/glew.h>\n#include <GL/wglew.h>")
|
set(GL_HEADERS "#include <windowshacks.h>\n#include <GL/glew.h>\n#include <GL/wglew.h>")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
include_bullet()
|
|
||||||
|
|
||||||
# create the InterfaceConfig.h file based on GL_HEADERS above
|
# create the InterfaceConfig.h file based on GL_HEADERS above
|
||||||
configure_file(InterfaceConfig.h.in "${PROJECT_BINARY_DIR}/includes/InterfaceConfig.h")
|
configure_file(InterfaceConfig.h.in "${PROJECT_BINARY_DIR}/includes/InterfaceConfig.h")
|
||||||
configure_file(InterfaceVersion.h.in "${PROJECT_BINARY_DIR}/includes/InterfaceVersion.h")
|
configure_file(InterfaceVersion.h.in "${PROJECT_BINARY_DIR}/includes/InterfaceVersion.h")
|
||||||
|
@ -108,10 +106,14 @@ endif()
|
||||||
add_executable(${TARGET_NAME} MACOSX_BUNDLE ${INTERFACE_SRCS} ${QM})
|
add_executable(${TARGET_NAME} MACOSX_BUNDLE ${INTERFACE_SRCS} ${QM})
|
||||||
|
|
||||||
# set up the external glm library
|
# set up the external glm library
|
||||||
add_dependency_external_projects(glm)
|
add_dependency_external_projects(glm bullet)
|
||||||
find_package(GLM REQUIRED)
|
find_package(GLM REQUIRED)
|
||||||
target_include_directories(${TARGET_NAME} PRIVATE ${GLM_INCLUDE_DIRS})
|
target_include_directories(${TARGET_NAME} PRIVATE ${GLM_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
find_package(Bullet REQUIRED)
|
||||||
|
target_include_directories(${TARGET_NAME} PRIVATE SYSTEM ${BULLET_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(${TARGET_NAME} ${BULLET_LIBRARIES})
|
||||||
|
|
||||||
# link required hifi libraries
|
# link required hifi libraries
|
||||||
link_hifi_libraries(shared octree environment gpu model fbx metavoxels networking entities avatars
|
link_hifi_libraries(shared octree environment gpu model fbx metavoxels networking entities avatars
|
||||||
audio audio-client animation script-engine physics
|
audio audio-client animation script-engine physics
|
||||||
|
|
|
@ -7,6 +7,10 @@ add_dependency_external_projects(glm)
|
||||||
find_package(GLM REQUIRED)
|
find_package(GLM REQUIRED)
|
||||||
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
||||||
|
|
||||||
include_bullet()
|
add_dependency_external_projects(bullet)
|
||||||
|
|
||||||
|
find_package(Bullet REQUIRED)
|
||||||
|
target_include_directories(${TARGET_NAME} PRIVATE SYSTEM ${BULLET_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(${TARGET_NAME} ${BULLET_LIBRARIES})
|
||||||
|
|
||||||
link_hifi_libraries(avatars shared octree gpu model fbx networking animation)
|
link_hifi_libraries(avatars shared octree gpu model fbx networking animation)
|
||||||
|
|
|
@ -7,10 +7,11 @@ add_dependency_external_projects(glm)
|
||||||
find_package(GLM REQUIRED)
|
find_package(GLM REQUIRED)
|
||||||
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
||||||
|
|
||||||
include_bullet()
|
add_dependency_external_projects(bullet)
|
||||||
if (BULLET_FOUND)
|
|
||||||
|
find_package(Bullet REQUIRED)
|
||||||
|
target_include_directories(${TARGET_NAME} PRIVATE SYSTEM ${BULLET_INCLUDE_DIRS})
|
||||||
target_link_libraries(${TARGET_NAME} ${BULLET_LIBRARIES})
|
target_link_libraries(${TARGET_NAME} ${BULLET_LIBRARIES})
|
||||||
endif (BULLET_FOUND)
|
|
||||||
|
|
||||||
link_hifi_libraries(shared fbx entities)
|
link_hifi_libraries(shared fbx entities)
|
||||||
include_hifi_library_headers(fbx)
|
include_hifi_library_headers(fbx)
|
||||||
|
|
|
@ -6,7 +6,11 @@ add_dependency_external_projects(glm)
|
||||||
find_package(GLM REQUIRED)
|
find_package(GLM REQUIRED)
|
||||||
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
target_include_directories(${TARGET_NAME} PUBLIC ${GLM_INCLUDE_DIRS})
|
||||||
|
|
||||||
include_bullet()
|
add_dependency_external_projects(bullet)
|
||||||
|
|
||||||
|
find_package(Bullet REQUIRED)
|
||||||
|
target_include_directories(${TARGET_NAME} PRIVATE SYSTEM ${BULLET_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(${TARGET_NAME} ${BULLET_LIBRARIES})
|
||||||
|
|
||||||
link_hifi_libraries(shared physics)
|
link_hifi_libraries(shared physics)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue