mirror of
https://github.com/bulletphysics/bullet3
synced 2025-01-10 17:30:12 +00:00
128 lines
3.3 KiB
CMake
128 lines
3.3 KiB
CMake
cmake_minimum_required(VERSION 2.4)
|
|
|
|
|
|
PROJECT(BULLET_PHYSICS)
|
|
SET(BULLET_VERSION 2.75)
|
|
|
|
IF (NOT CMAKE_BUILD_TYPE)
|
|
# SET(CMAKE_BUILD_TYPE "Debug")
|
|
SET(CMAKE_BUILD_TYPE "Release")
|
|
ENDIF (NOT CMAKE_BUILD_TYPE)
|
|
|
|
|
|
OPTION(USE_DOUBLE_PRECISION "Use double precision" OFF)
|
|
OPTION(USE_GRAPHICAL_BENCHMARK "Use Graphical Benchmark" OFF)
|
|
|
|
|
|
IF (WIN32)
|
|
OPTION(CREATE_MSVC_RELATIVE_PATH_PROJECTFILES "Create MSVC projectfiles with relative paths" OFF)
|
|
IF (CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
|
|
SET(CMAKE_SUPPRESS_REGENERATION 1)
|
|
SET(CMAKE_USE_RELATIVE_PATHS 1)
|
|
ENDIF(CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
|
|
ENDIF (WIN32)
|
|
|
|
OPTION(INTERNAL_UPDATE_SERIALIZATION_STRUCTURES "Internal update serialization structures" OFF)
|
|
IF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
|
|
ADD_DEFINITIONS( -DBT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
|
|
ENDIF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
|
|
|
|
IF (USE_DOUBLE_PRECISION)
|
|
ADD_DEFINITIONS( -DBT_USE_DOUBLE_PRECISION)
|
|
ENDIF (USE_DOUBLE_PRECISION)
|
|
|
|
IF(USE_GRAPHICAL_BENCHMARK)
|
|
ADD_DEFINITIONS( -DUSE_GRAPHICAL_BENCHMARK)
|
|
ENDIF (USE_GRAPHICAL_BENCHMARK)
|
|
|
|
IF (WIN32)
|
|
OPTION(USE_GLUT "Use Glut" ON)
|
|
ADD_DEFINITIONS( -D_IRR_STATIC_LIB_ )
|
|
ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
|
|
ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE )
|
|
|
|
IF (USE_GLUT)
|
|
string (REPLACE "/D_WINDOWS" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
|
remove_definitions(-D_WINDOWS )
|
|
ENDIF (USE_GLUT)
|
|
|
|
ELSE(WIN32)
|
|
OPTION(USE_GLUT "Use Glut" ON)
|
|
ENDIF(WIN32)
|
|
|
|
|
|
IF(COMMAND cmake_policy)
|
|
cmake_policy(SET CMP0003 NEW)
|
|
ENDIF(COMMAND cmake_policy)
|
|
|
|
|
|
# This is the shortcut to finding GLU, GLUT and OpenGL if they are properly installed on your system
|
|
# This should be the case.
|
|
|
|
FIND_PACKAGE(OpenGL)
|
|
IF (OPENGL_FOUND)
|
|
MESSAGE("OPENGL FOUND")
|
|
MESSAGE(${OPENGL_LIBRARIES})
|
|
ELSE (OPENGL_FOUND)
|
|
MESSAGE("OPENGL NOT FOUND")
|
|
SET(OPENGL_gl_LIBRARY opengl32)
|
|
SET(OPENGL_glu_LIBRARY glu32)
|
|
ENDIF (OPENGL_FOUND)
|
|
|
|
# ADD_DEFINITIONS(-DBT_USE_FREEGLUT)
|
|
|
|
FIND_PACKAGE(GLU)
|
|
|
|
IF (USE_GLUT)
|
|
FIND_PACKAGE(GLUT)
|
|
IF (GLUT_FOUND)
|
|
MESSAGE("GLUT FOUND")
|
|
MESSAGE(${GLUT_glut_LIBRARY})
|
|
ELSE (GLUT_FOUND)
|
|
|
|
IF (MINGW)
|
|
MESSAGE ("GLUT NOT FOUND not found, trying to use MINGW glut32")
|
|
SET(GLUT_glut_LIBRARY glut32)
|
|
ENDIF (MINGW)
|
|
|
|
IF (MSVC)
|
|
MESSAGE ("GLUT NOT FOUND, trying to use Bullet/Glut/glut32.lib for MSVC")
|
|
|
|
|
|
IF (CMAKE_CL_64)
|
|
message("win64 using glut64.lib")
|
|
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut64.lib)
|
|
ELSE(CMAKE_CL_64)
|
|
message("win32 using glut32.lib")
|
|
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut32.lib)
|
|
ENDIF (CMAKE_CL_64)
|
|
|
|
ENDIF (MSVC)
|
|
ENDIF (GLUT_FOUND)
|
|
|
|
IF (WIN32)
|
|
INCLUDE_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|
ELSE (WIN32)
|
|
# This is the lines for linux. This should always work if everything is installed and working fine.
|
|
INCLUDE_DIRECTORIES(/usr/include /usr/local/include ${GLUT_INCLUDE_DIR})
|
|
ENDIF (WIN32)
|
|
|
|
ENDIF(USE_GLUT)
|
|
|
|
OPTION(BUILD_DEMOS "Set when you want to build the demos" ON)
|
|
IF(BUILD_DEMOS)
|
|
SUBDIRS(Demos)
|
|
ENDIF(BUILD_DEMOS)
|
|
|
|
OPTION(BUILD_EXTRAS "Set when you want to build the extras" ON)
|
|
IF(BUILD_EXTRAS)
|
|
SUBDIRS(Extras)
|
|
ENDIF(BUILD_EXTRAS)
|
|
|
|
#INSTALL of other files requires CMake 2.6
|
|
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
|
OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF)
|
|
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
|
|
|
SUBDIRS(src)
|