cmake_modules/FindLua.cmake
author koda
Mon, 07 May 2012 14:53:08 +0200
changeset 7031 d5ea24399a48
parent 6814 21928ae7c74b
child 7050 91199321e916
permissions -rw-r--r--
when Lua is not found, fallback to compiling the one that comes bundled in our sources
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2924
908851e59958 Engine:
smxx
parents:
diff changeset
     1
# Find the Lua library
7031
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     2
# --------------------
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     3
# On Android/Windows/OSX this just defines the name of the library that
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     4
#  will be compiled from our bundled sources
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     5
# On Linux it will try to load the system library and fallback to compiling
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     6
#  the bundled one when nothing is found
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     7
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
     8
set(LUA_FOUND true)
2924
908851e59958 Engine:
smxx
parents:
diff changeset
     9
6813
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    10
if (ANDROID)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    11
	SET(LUA_DEFAULT "liblua5.1.so")
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    12
else (ANDROID)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    13
	IF(WIN32)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    14
		SET(LUA_DEFAULT lua.dll)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    15
	ELSE(WIN32)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    16
		IF(APPLE)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    17
			SET(LUA_DEFAULT lua)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    18
		ELSE(APPLE)
6812
929b467c7277 fixed some typo's. LUA_LIBRARY now points to the right name, regardless of the host machine. Running cmake after a bad attempt (ie forgot to add paths to PATH) now works rather than having to clean the cache
Xeli
parents: 3145
diff changeset
    19
	                #locate the system's lua library
929b467c7277 fixed some typo's. LUA_LIBRARY now points to the right name, regardless of the host machine. Running cmake after a bad attempt (ie forgot to add paths to PATH) now works rather than having to clean the cache
Xeli
parents: 3145
diff changeset
    20
			FIND_LIBRARY(LUA_DEFAULT NAMES lua51 lua5.1 lua-5.1 lua PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib)
929b467c7277 fixed some typo's. LUA_LIBRARY now points to the right name, regardless of the host machine. Running cmake after a bad attempt (ie forgot to add paths to PATH) now works rather than having to clean the cache
Xeli
parents: 3145
diff changeset
    21
			IF(${LUA_DEFAULT} MATCHES "LUA_DEFAULT-NOTFOUND")
929b467c7277 fixed some typo's. LUA_LIBRARY now points to the right name, regardless of the host machine. Running cmake after a bad attempt (ie forgot to add paths to PATH) now works rather than having to clean the cache
Xeli
parents: 3145
diff changeset
    22
				#UNSET(LUA_DEFAULT)
7031
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    23
				#MESSAGE(FATAL_ERROR "Couldn't find Lua 5.1 library!")
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    24
				set(LUA_DEFAULT lua)
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    25
				set(LUA_FOUND false)
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    26
			ELSE()
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    27
				message(STATUS "LibLua 5.1 found at ${LUA_DEFAULT}")
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    28
				#remove the path (fpc doesn't like it - why?)
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 6814
diff changeset
    29
				GET_FILENAME_COMPONENT(LUA_DEFAULT ${LUA_DEFAULT} NAME)
6812
929b467c7277 fixed some typo's. LUA_LIBRARY now points to the right name, regardless of the host machine. Running cmake after a bad attempt (ie forgot to add paths to PATH) now works rather than having to clean the cache
Xeli
parents: 3145
diff changeset
    30
			ENDIF()
6814
21928ae7c74b wops ;i
Xeli
parents: 6813
diff changeset
    31
                ENDIF(APPLE)
6813
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    32
	ENDIF(WIN32)
48c3462ddce9 ANDROID and WIN32 can both be set to 1, so have ANDROID take preference
Xeli
parents: 6812
diff changeset
    33
ENDIF(ANDROID)
3134
smxx
parents: 3128
diff changeset
    34
SET(LUA_LIBRARY ${LUA_DEFAULT} CACHE STRING "Lua library to link to; file name without path only!")
3145
a9af6bf223cf Birdy's falling feathers
mbait
parents: 3134
diff changeset
    35
#UNSET(LUA_DEFAULT)