diff --git a/CMakeModules/FindBullet.cmake b/CMakeModules/FindBullet.cmake index 808658d399127c0863609a7e9d2b1d0ab28ac928..668ba0052fa5bc73c2f2bbce86b5565dc4c0e631 100644 --- a/CMakeModules/FindBullet.cmake +++ b/CMakeModules/FindBullet.cmake @@ -20,16 +20,34 @@ SET( BULLET_ROOT "" CACHE PATH "Bullet install dir, parent of both header files SET( BULLET_BUILD_DIR "" CACHE PATH "Parent directory of Bullet binary file directories such as src/BulletCollision." ) SET( BULLET_SOURCE_DIR "" CACHE PATH "Parent directory of Bullet header file directories such as src or include." ) +set(BULLET_SEARCH_PATHS) +macro(add_bullet_search_path p) + if(NOT "${p}" STREQUAL "") + set(BULLET_SEARCH_PATHS ${BULLET_SEARCH_PATHS} ${p}) + endif() +endmacro() + +add_bullet_search_path("C:/Program Files/BULLET_PHYSICS") + +add_bullet_search_path("$ENV{Bullet_DIR}") +add_bullet_search_path("${Bullet_DIR}") + +add_bullet_search_path("$ENV{BULLET_DIR}") +add_bullet_search_path("${BULLET_DIR}") + +add_bullet_search_path("$ENV{BULLET_ROOT}") +add_bullet_search_path("${BULLET_ROOT}") + +add_bullet_search_path("$ENV{BULLET_SOURCE_DIR}") +add_bullet_search_path("${BULLET_SOURCE_DIR}") + +message(STATUS "Searching bullet using these base paths: ${BULLET_SEARCH_PATHS}") + #UNSET( BULLET_INCLUDE_DIRS CACHE ) MARK_AS_ADVANCED( BULLET_INCLUDE_DIRS ) FIND_PATH( BULLET_INCLUDE_DIRS btBulletCollisionCommon.h PATHS - $ENV{Bullet_DIR} - ${BULLET_ROOT} - $ENV{BULLET_ROOT} - ${BULLET_SOURCE_DIR} - $ENV{BULLET_SOURCE_DIR} - "C:/Program Files/BULLET_PHYSICS" + ${BULLET_SEARCH_PATHS} PATH_SUFFIXES /BulletCollision /src @@ -39,7 +57,17 @@ FIND_PATH( BULLET_INCLUDE_DIRS btBulletCollisionCommon.h /src/BulletCollision /include/BulletCollision /include/bullet/BulletCollision + NO_DEFAULT_PATH +) + +if(NOT BULLET_INCLUDE_DIRS) + FIND_PATH( BULLET_INCLUDE_DIRS btBulletCollisionCommon.h + PATH_SUFFIXES + bullet ) +endif() + +MESSAGE (STATUS " **** BULLET_INCLUDE_DIRS: ${BULLET_INCLUDE_DIRS}") IF( BULLET_INCLUDE_DIRS ) #SET( BULLET_DEMOS_INCLUDE_DIR ${BULLET_INCLUDE_DIRS}/../Demos/OpenGL ) FIND_PATH( BULLET_OPENGL_INCLUDE_DIR DemoApplication.h @@ -71,12 +99,7 @@ MACRO( FIND_BULLET_LIBRARY_DIRNAME LIBNAME DIRNAME ) NAMES ${LIBNAME} PATHS - $ENV{Bullet_DIR} - ${BULLET_ROOT} - $ENV{BULLET_ROOT} - ${BULLET_BUILD_DIR} - $ENV{BULLET_BUILD_DIR} - "C:/Program Files/BULLET_PHYSICS" + ${BULLET_SEARCH_PATHS} PATH_SUFFIXES ./src/${DIRNAME} ./Extras/${DIRNAME} @@ -99,12 +122,7 @@ MACRO( FIND_BULLET_LIBRARY_DIRNAME LIBNAME DIRNAME ) ${LIBNAME}_Debug ${LIBNAME} PATHS - $ENV{Bullet_DIR} - ${BULLET_ROOT} - $ENV{BULLET_ROOT} - ${BULLET_BUILD_DIR} - $ENV{BULLET_BUILD_DIR} - "C:/Program Files/BULLET_PHYSICS" + ${BULLET_SEARCH_PATHS} PATH_SUFFIXES ./src/${DIRNAME} ./Extras/${DIRNAME}