FindOIS.cmake 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # Searches for an OIS installation
  2. #
  3. # Defines:
  4. #
  5. # OIS_FOUND True if OIS was found, else false
  6. # OIS_LIBRARIES Libraries to link
  7. # OIS_INCLUDE_DIRS The directories containing the header files
  8. #
  9. # To specify an additional directory to search, set OIS_ROOT.
  10. #
  11. # Author: Siddhartha Chaudhuri, 2008
  12. #
  13. SET(OIS_FOUND FALSE)
  14. IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") # OS X
  15. #INCLUDE(CMakeFindFrameworks)
  16. #CMAKE_FIND_FRAMEWORKS(OIS)
  17. SET(OIS_FRAMEWORKS ../../../dependencies/Frameworks/OIS.framework)
  18. IF(OIS_FRAMEWORKS)
  19. LIST(GET OIS_FRAMEWORKS 0 OIS_LIBRARIES)
  20. SET(OIS_INCLUDE_DIRS ${OIS_LIBRARIES}/Headers)
  21. SET(OIS_LDFLAGS -F${OIS_LIBRARIES}/.. -framework OIS)
  22. SET(OIS_LIBRARY_DIRS)
  23. SET(OIS_LIBRARIES)
  24. SET(OIS_CFLAGS)
  25. SET(OIS_FOUND TRUE)
  26. ENDIF(OIS_FRAMEWORKS)
  27. ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") # Windows, Linux etc
  28. SET(OIS_INCLUDE_DOC "The directory containing OIS/OIS.h")
  29. FIND_PATH(OIS_INCLUDE_DIRS NAMES OIS/OIS.h PATHS ${OIS_ROOT} ${OIS_ROOT}/include DOC ${OIS_INCLUDE_DOC} NO_DEFAULT_PATH)
  30. IF(NOT OIS_INCLUDE_DIRS) # now look in system locations
  31. FIND_PATH(OIS_INCLUDE_DIRS NAMES OIS/OIS.h DOC ${OIS_INCLUDE_DOC})
  32. ENDIF(NOT OIS_INCLUDE_DIRS)
  33. IF(OIS_INCLUDE_DIRS)
  34. SET(OIS_LIBRARY_DIRS ${OIS_INCLUDE_DIRS})
  35. IF("${OIS_LIBRARY_DIRS}" MATCHES "/include$")
  36. # Strip off the trailing "/include" in the path.
  37. GET_FILENAME_COMPONENT(OIS_LIBRARY_DIRS ${OIS_LIBRARY_DIRS} PATH)
  38. ENDIF("${OIS_LIBRARY_DIRS}" MATCHES "/include$")
  39. IF(EXISTS "${OIS_LIBRARY_DIRS}/lib")
  40. SET(OIS_LIBRARY_DIRS ${OIS_LIBRARY_DIRS}/lib)
  41. ENDIF(EXISTS "${OIS_LIBRARY_DIRS}/lib")
  42. IF(WIN32) # Windows
  43. FIND_LIBRARY(OIS_DEBUG_LIBRARY NAMES OISd OIS_d libOISd libOIS_d
  44. PATH_SUFFIXES Debug ${CMAKE_LIBRARY_ARCHITECTURE} ${CMAKE_LIBRARY_ARCHITECTURE}/Debug
  45. PATHS ${OIS_LIBRARY_DIRS} NO_DEFAULT_PATH)
  46. FIND_LIBRARY(OIS_RELEASE_LIBRARY NAMES OIS libOIS
  47. PATH_SUFFIXES Release ${CMAKE_LIBRARY_ARCHITECTURE} ${CMAKE_LIBRARY_ARCHITECTURE}/Release
  48. PATHS ${OIS_LIBRARY_DIRS} NO_DEFAULT_PATH)
  49. SET(OIS_LIBRARIES)
  50. IF(OIS_DEBUG_LIBRARY AND OIS_RELEASE_LIBRARY)
  51. SET(OIS_LIBRARIES debug ${OIS_DEBUG_LIBRARY} optimized ${OIS_RELEASE_LIBRARY})
  52. ELSEIF(OIS_DEBUG_LIBRARY)
  53. SET(OIS_LIBRARIES ${OIS_DEBUG_LIBRARY})
  54. ELSEIF(OIS_RELEASE_LIBRARY)
  55. SET(OIS_LIBRARIES ${OIS_RELEASE_LIBRARY})
  56. ENDIF(OIS_DEBUG_LIBRARY AND OIS_RELEASE_LIBRARY)
  57. ELSE(WIN32) # Linux etc
  58. FIND_LIBRARY(OIS_LIBRARIES NAMES OIS
  59. PATH_SUFFIXES ${CMAKE_LIBRARY_ARCHITECTURE}
  60. PATHS ${OIS_LIBRARY_DIRS} NO_DEFAULT_PATH)
  61. ENDIF(WIN32)
  62. IF(OIS_LIBRARIES)
  63. SET(OIS_FOUND TRUE)
  64. ENDIF(OIS_LIBRARIES)
  65. ENDIF(OIS_INCLUDE_DIRS)
  66. ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
  67. IF(OIS_FOUND)
  68. IF(NOT OIS_FIND_QUIETLY)
  69. IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
  70. #MESSAGE(STATUS "Found OIS: ${OIS_LIBRARIES}")
  71. ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
  72. #MESSAGE(STATUS "Found OIS: headers at ${OIS_INCLUDE_DIRS}, libraries at ${OIS_LIBRARIES}")
  73. ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
  74. ENDIF(NOT OIS_FIND_QUIETLY)
  75. ELSE(OIS_FOUND)
  76. IF(OIS_FIND_REQUIRED)
  77. MESSAGE(FATAL_ERROR "OIS not found")
  78. ENDIF(OIS_FIND_REQUIRED)
  79. ENDIF(OIS_FOUND)