From 262379db969ed0ee4b3644f49709a6af87947548 Mon Sep 17 00:00:00 2001 From: RICCIARDI-Adrien Date: Sat, 16 Mar 2019 11:17:06 +0100 Subject: [PATCH] Added system-provided Bullet support. This is based on @carlo-bramini #541 pull request. --- CMakeLists.txt | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f1a2b6db..09ee8eb3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ project(OpenTomb) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) option(FORCE_SYSTEM_FREETYPE "Use system-provided FreeType instead of internal library." OFF) +option(FORCE_SYSTEM_BULLET "Use system-provided BULLET instead of internal library." OFF) # Detect system FreeType @@ -27,11 +28,30 @@ endif () if (OPENTOMB_INTERNAL_FREETYPE) add_subdirectory(extern/freetype2) - set(FREETYPE_INCLUDE_DIRS "") + set(FREETYPE_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/extern/freetype2") set(FREETYPE_LIBRARIES freetype2) endif () -add_subdirectory(extern/bullet) +# Detect system BULLET + +if (FORCE_SYSTEM_BULLET) + find_package(Bullet QUIET) + if (NOT BULLET_FOUND) + message(WARNING "BULLET not found. Enabling internal BULLET support.") + set(OPENTOMB_INTERNAL_BULLET ON) + else() + set(OPENTOMB_INTERNAL_BULLET OFF) + endif () +else () + set(OPENTOMB_INTERNAL_BULLET ON) +endif () + +if (OPENTOMB_INTERNAL_BULLET) + add_subdirectory(extern/bullet) + set(BULLET_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/extern/bullet") + set(BULLET_LIBRARIES bullet) +endif () + add_subdirectory(extern/lua) set(OPENTOMB_SRCS @@ -259,6 +279,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES C_STANDARD 99 CXX_STANDARD 11) target_include_directories( ${PROJECT_NAME} PRIVATE ${FREETYPE_INCLUDE_DIRS} + ${BULLET_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${SDL2_INCLUDE_DIR} @@ -268,8 +289,8 @@ target_include_directories( target_link_libraries( ${PROJECT_NAME} - bullet ${FREETYPE_LIBRARIES} + ${BULLET_LIBRARIES} lua5.3 ${PNG_LIBRARIES} ${OPENAL_LIBRARY}