FindVorbisFile.cmake 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # Copied from http://code.google.com/p/osgaudio/source/browse/trunk/CMakeModules/FindVorbisFile.cmake
  2. # Locate VorbisFile
  3. # This module defines XXX_FOUND, XXX_INCLUDE_DIRS and XXX_LIBRARIES standard variables
  4. #
  5. # $VORBISDIR is an environment variable that would
  6. # correspond to the ./configure --prefix=$VORBISDIR
  7. # used in building Vorbis.
  8. SET(VORBISFILE_SEARCH_PATHS
  9. ~/Library/Frameworks
  10. /Library/Frameworks
  11. /usr/local
  12. /usr
  13. /sw # Fink
  14. /opt/local # DarwinPorts
  15. /opt/csw # Blastwave
  16. /opt
  17. )
  18. SET(MSVC_YEAR_NAME)
  19. IF (MSVC_VERSION GREATER 1599) # >= 1600
  20. SET(MSVC_YEAR_NAME VS2010)
  21. ELSEIF(MSVC_VERSION GREATER 1499) # >= 1500
  22. SET(MSVC_YEAR_NAME VS2008)
  23. ELSEIF(MSVC_VERSION GREATER 1399) # >= 1400
  24. SET(MSVC_YEAR_NAME VS2005)
  25. ELSEIF(MSVC_VERSION GREATER 1299) # >= 1300
  26. SET(MSVC_YEAR_NAME VS2003)
  27. ELSEIF(MSVC_VERSION GREATER 1199) # >= 1200
  28. SET(MSVC_YEAR_NAME VS6)
  29. ENDIF()
  30. FIND_PATH(VORBISFILE_INCLUDE_DIR
  31. NAMES vorbis/vorbisfile.h
  32. HINTS
  33. $ENV{VORBISFILEDIR}
  34. $ENV{VORBISFILE_PATH}
  35. $ENV{VORBISDIR}
  36. $ENV{VORBIS_PATH}
  37. PATH_SUFFIXES include
  38. PATHS ${VORBISFILE_SEARCH_PATHS}
  39. )
  40. FIND_LIBRARY(VORBISFILE_LIBRARY
  41. NAMES vorbisfile libvorbisfile
  42. HINTS
  43. $ENV{VORBISFILEDIR}
  44. $ENV{VORBISFILE_PATH}
  45. $ENV{VORBISDIR}
  46. $ENV{VORBIS_PATH}
  47. PATH_SUFFIXES lib lib64 win32/VorbisFile_Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  48. PATHS ${VORBISFILE_SEARCH_PATHS}
  49. )
  50. # First search for d-suffixed libs
  51. FIND_LIBRARY(VORBISFILE_LIBRARY_DEBUG
  52. NAMES vorbisfiled vorbisfile_d libvorbisfiled libvorbisfile_d
  53. HINTS
  54. $ENV{VORBISFILEDIR}
  55. $ENV{VORBISFILE_PATH}
  56. $ENV{VORBISDIR}
  57. $ENV{VORBIS_PATH}
  58. PATH_SUFFIXES lib lib64 win32/VorbisFile_Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
  59. PATHS ${VORBISFILE_SEARCH_PATHS}
  60. )
  61. IF(NOT VORBISFILE_LIBRARY_DEBUG)
  62. # Then search for non suffixed libs if necessary, but only in debug dirs
  63. FIND_LIBRARY(VORBISFILE_LIBRARY_DEBUG
  64. NAMES vorbisfile libvorbisfile
  65. HINTS
  66. $ENV{VORBISFILEDIR}
  67. $ENV{VORBISFILE_PATH}
  68. $ENV{VORBISDIR}
  69. $ENV{VORBIS_PATH}
  70. PATH_SUFFIXES win32/VorbisFile_Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
  71. PATHS ${VORBISFILE_SEARCH_PATHS}
  72. )
  73. ENDIF()
  74. IF(VORBISFILE_LIBRARY)
  75. IF(VORBISFILE_LIBRARY_DEBUG)
  76. SET(VORBISFILE_LIBRARIES optimized "${VORBISFILE_LIBRARY}" debug "${VORBISFILE_LIBRARY_DEBUG}")
  77. ELSE()
  78. SET(VORBISFILE_LIBRARIES "${VORBISFILE_LIBRARY}") # Could add "general" keyword, but it is optional
  79. ENDIF()
  80. ENDIF()
  81. # handle the QUIETLY and REQUIRED arguments and set XXX_FOUND to TRUE if all listed variables are TRUE
  82. INCLUDE(FindPackageHandleStandardArgs)
  83. FIND_PACKAGE_HANDLE_STANDARD_ARGS(VORBISFILE DEFAULT_MSG VORBISFILE_LIBRARIES VORBISFILE_INCLUDE_DIR)