FindLua50.cmake 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # Locate Lua library
  2. # This module defines
  3. # LUA_LIBRARIES, both lua and lualib
  4. # LUA_FOUND, if false, do not try to link to Lua
  5. # LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
  6. #
  7. # Note that the expected include convention is
  8. # #include "lua.h"
  9. # and not
  10. # #include <lua/lua.h>
  11. # This is because, the lua location is not standardized and may exist
  12. # in locations other than lua/
  13. FIND_PATH(LUA_INCLUDE_DIR lua.h
  14. PATHS
  15. $ENV{LUA_DIR}
  16. NO_DEFAULT_PATH
  17. PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
  18. )
  19. FIND_PATH(LUA_INCLUDE_DIR lua.h
  20. PATHS
  21. ~/Library/Frameworks
  22. /Library/Frameworks
  23. /usr/local
  24. /usr
  25. /sw # Fink
  26. /opt/local # DarwinPorts
  27. /opt/csw # Blastwave
  28. /opt
  29. PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
  30. )
  31. FIND_LIBRARY(LUA_LIBRARY_lua
  32. NAMES lua50 lua5.0 lua5 lua
  33. PATHS
  34. $ENV{LUA_DIR}
  35. NO_DEFAULT_PATH
  36. PATH_SUFFIXES lib64 lib
  37. )
  38. FIND_LIBRARY(LUA_LIBRARY_lua
  39. NAMES lua50 lua5.0 lua5 lua
  40. PATHS
  41. ~/Library/Frameworks
  42. /Library/Frameworks
  43. /usr/local
  44. /usr
  45. /sw
  46. /opt/local
  47. /opt/csw
  48. /opt
  49. PATH_SUFFIXES lib64 lib
  50. )
  51. # In an OS X framework, lualib is usually included as part of the framework
  52. # (like GLU in OpenGL.framework)
  53. IF(${LUA_LIBRARY_lua} MATCHES "framework")
  54. SET( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework")
  55. ELSE(${LUA_LIBRARY_lua} MATCHES "framework")
  56. FIND_LIBRARY(LUA_LIBRARY_lualib
  57. NAMES lualib50 lualib5.0 lualib5 lualib
  58. PATHS
  59. $ENV{LUALIB_DIR}
  60. $ENV{LUA_DIR}
  61. NO_DEFAULT_PATH
  62. PATH_SUFFIXES lib64 lib
  63. )
  64. FIND_LIBRARY(LUA_LIBRARY_lualib
  65. NAMES lualib50 lualib5.0 lualib5 lualib
  66. PATHS
  67. /usr/local
  68. /usr
  69. /sw
  70. /opt/local
  71. /opt/csw
  72. /opt
  73. PATH_SUFFIXES lib64 lib
  74. )
  75. IF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
  76. # include the math library for Unix
  77. IF(UNIX AND NOT APPLE)
  78. FIND_LIBRARY(MATH_LIBRARY_FOR_LUA m)
  79. SET( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries")
  80. # For Windows and Mac, don't need to explicitly include the math library
  81. ELSE(UNIX AND NOT APPLE)
  82. SET( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries")
  83. ENDIF(UNIX AND NOT APPLE)
  84. ENDIF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
  85. ENDIF(${LUA_LIBRARY_lua} MATCHES "framework")
  86. SET(LUA_FOUND "NO")
  87. IF(LUA_LIBRARIES AND LUA_INCLUDE_DIR)
  88. SET(LUA_FOUND "YES")
  89. ENDIF(LUA_LIBRARIES AND LUA_INCLUDE_DIR)