FindLua.cmake 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. SET(LUA_SEARCH_PATHS
  2. ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/lib
  3. ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/include
  4. ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/include/lua5.1
  5. ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/lib
  6. ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies/lib
  7. )
  8. SET(MSVC_YEAR_NAME)
  9. IF (MSVC_VERSION GREATER 1599) # >= 1600
  10. SET(MSVC_YEAR_NAME VS2010)
  11. ELSEIF(MSVC_VERSION GREATER 1499) # >= 1500
  12. SET(MSVC_YEAR_NAME VS2008)
  13. ELSEIF(MSVC_VERSION GREATER 1399) # >= 1400
  14. SET(MSVC_YEAR_NAME VS2005)
  15. ELSEIF(MSVC_VERSION GREATER 1299) # >= 1300
  16. SET(MSVC_YEAR_NAME VS2003)
  17. ELSEIF(MSVC_VERSION GREATER 1199) # >= 1200
  18. SET(MSVC_YEAR_NAME VS6)
  19. ENDIF()
  20. FIND_PATH(LUA_INCLUDE_DIR
  21. NAMES lua.h
  22. HINTS
  23. $ENV{LUADIR}
  24. $ENV{LUA_PATH}
  25. PATH_SUFFIXES include include/lua5.1 lua5.1
  26. PATHS ${LUA_SEARCH_PATHS}
  27. )
  28. FIND_LIBRARY(LUA_LIBRARY
  29. NAMES lua5.1 liblua5.1
  30. HINTS
  31. NO_DEFAULT_PATH
  32. NO_CMAKE_ENVIRONMENT_PATH
  33. NO_CMAKE_SYSTEM_PATH
  34. NO_SYSTEM_ENVIRONMENT_PATH
  35. NO_CMAKE_PATH
  36. CMAKE_FIND_FRAMEWORK NEVER
  37. $ENV{LUADIR}
  38. $ENV{LUA_PATH}
  39. PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
  40. PATHS ${LUA_SEARCH_PATHS}
  41. )
  42. # First search for d-suffixed libs
  43. FIND_LIBRARY(LUA_LIBRARY_DEBUG
  44. NAMES lua5.1d liblua5.1d
  45. HINTS
  46. NO_DEFAULT_PATH
  47. NO_CMAKE_ENVIRONMENT_PATH
  48. NO_CMAKE_SYSTEM_PATH
  49. NO_SYSTEM_ENVIRONMENT_PATH
  50. NO_CMAKE_PATH
  51. CMAKE_FIND_FRAMEWORK NEVER
  52. $ENV{LUADIR}
  53. $ENV{LUA_PATH}
  54. PATH_SUFFIXES lib lib64 win32/Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
  55. PATHS ${LUA_SEARCH_PATHS}
  56. )
  57. IF(NOT LUA_LIBRARY_DEBUG)
  58. # Then search for non suffixed libs if necessary, but only in debug dirs
  59. FIND_LIBRARY(LUA_LIBRARY_DEBUG
  60. NAMES lua liblua libliblua
  61. HINTS
  62. NO_DEFAULT_PATH
  63. NO_CMAKE_ENVIRONMENT_PATH
  64. NO_CMAKE_SYSTEM_PATH
  65. NO_SYSTEM_ENVIRONMENT_PATH
  66. NO_CMAKE_PATH
  67. CMAKE_FIND_FRAMEWORK NEVER
  68. $ENV{LUADIR}
  69. $ENV{LUA_PATH}
  70. PATH_SUFFIXES win32/Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
  71. PATHS ${LUA_SEARCH_PATHS}
  72. )
  73. ENDIF()
  74. IF(LUA_LIBRARY)
  75. IF(LUA_LIBRARY_DEBUG)
  76. SET(LUA_LIBRARIES optimized "${LUA_LIBRARY}" debug "${LUA_LIBRARY_DEBUG}")
  77. ELSE()
  78. SET(LUA_LIBRARIES "${LUA_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(LUA DEFAULT_MSG LUA_LIBRARIES LUA_INCLUDE_DIR)