summaryrefslogtreecommitdiffstats
path: root/Modules/FindLua50.cmake
diff options
context:
space:
mode:
authorEric Wing <ewing2121@yahoo.com>2007-12-21 01:59:44 (GMT)
committerEric Wing <ewing2121@yahoo.com>2007-12-21 01:59:44 (GMT)
commita5b3ab4eee1f11287c69da39b5e742353fdbd372 (patch)
tree4aaf6549ec4f360eb44a05ca3b6568b8783452ff /Modules/FindLua50.cmake
parent355b1f23afd6809edb9ed1924c0112d02d4c8f85 (diff)
downloadCMake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.zip
CMake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.tar.gz
CMake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.tar.bz2
BUG: Fixed modules to set FOO_FOUND when both headers and libraries are found.
BUG: FindSDL now has flag it responds to so it will not find/link against SDLmain. This is required to build libraries instead of applications since they don't have main(). ENH: All modules have a predictable search order, where environmental variables are searched before system paths. This is designed to make automation easier for those that need to automatically build projects without intervention but may be using alternative install locations for isolated testing. ENH: New modules for OpenSceneGraph, Freetype, GDAL, Lua, QuickTime, GIFLIB, Producer, OpenThreads. STYLE: Added documentation explaining peculuar SDL_LIBRARY_TEMP variable in SDL module when library find is incomplete.
Diffstat (limited to 'Modules/FindLua50.cmake')
-rw-r--r--Modules/FindLua50.cmake114
1 files changed, 114 insertions, 0 deletions
diff --git a/Modules/FindLua50.cmake b/Modules/FindLua50.cmake
new file mode 100644
index 0000000..7058372
--- /dev/null
+++ b/Modules/FindLua50.cmake
@@ -0,0 +1,114 @@
+# Locate Lua library
+# This module defines
+# LUA_LIBRARIES, both lua and lualib
+# LUA_FOUND, if false, do not try to link to Lua
+# LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
+#
+# Note that the expected include convention is
+# #include "lua.h"
+# and not
+# #include <lua/lua.h>
+# This is because, the lua location is not standardized and may exist
+# in locations other than lua/
+
+
+FIND_PATH(LUA_INCLUDE_DIR lua.h
+ PATHS
+ $ENV{LUA_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
+)
+FIND_PATH(LUA_INCLUDE_DIR lua.h
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
+)
+FIND_PATH(LUA_INCLUDE_DIR lua.h
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+ PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
+)
+
+FIND_LIBRARY(LUA_LIBRARY_lua
+ NAMES lua50 lua5.0 lua5 lua
+ PATHS
+ $ENV{LUA_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(LUA_LIBRARY_lua
+ NAMES lua50 lua5.0 lua5 lua
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(LUA_LIBRARY_lua
+ NAMES lua50 lua5.0 lua5 lua
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES lib64 lib
+)
+
+# In an OS X framework, lualib is usually included as part of the framework
+# (like GLU in OpenGL.framework)
+IF(${LUA_LIBRARY_lua} MATCHES "framework")
+ SET( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework")
+ELSE(${LUA_LIBRARY_lua} MATCHES "framework")
+ FIND_LIBRARY(LUA_LIBRARY_lualib
+ NAMES lualib50 lualib5.0 lualib5 lualib
+ PATHS
+ $ENV{LUALIB_DIR}
+ $ENV{LUA_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+ )
+ FIND_LIBRARY(LUA_LIBRARY_lualib
+ NAMES lualib50 lualib5.0 lualib5 lualib
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+ )
+ FIND_LIBRARY(LUA_LIBRARY_lualib
+ NAMES lualib50 lualib5.0 lualib5 lualib
+ PATHS
+ /usr/local
+ /usr
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES lib64 lib
+ )
+ IF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
+ # include the math library for Unix
+ IF(UNIX AND NOT APPLE)
+ FIND_LIBRARY(MATH_LIBRARY_FOR_LUA m)
+ SET( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries")
+ # For Windows and Mac, don't need to explicitly include the math library
+ ELSE(UNIX AND NOT APPLE)
+ SET( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries")
+ ENDIF(UNIX AND NOT APPLE)
+ ENDIF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
+ENDIF(${LUA_LIBRARY_lua} MATCHES "framework")
+
+
+
+SET(LUA_FOUND "NO")
+IF(LUA_LIBRARIES AND LUA_INCLUDE_DIR)
+ SET(LUA_FOUND "YES")
+ENDIF(LUA_LIBRARIES AND LUA_INCLUDE_DIR)
+