Changeset 7944 for code/branches/kicklib/cmake/tools
- Timestamp:
- Feb 21, 2011, 3:47:04 AM (14 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
code/branches/kicklib/cmake/tools/FindLua5.1.cmake
r7943 r7944 21 21 # Reto Grieder 22 22 # Description: 23 # Finds either Lua 5.0 or Lua 5.1 on the system. The script regards the 24 # VERSION, EXACT, REQUIRED and QUIET arguments. A note about the EXACT 25 # argument: EXACT 5 will match all Lua 5 versions. 23 # Finds Lua 5.1 on the system. 24 # Handles REQUIRED and QUIET arguments. 26 25 # When the search was successful, the following variables are set: 27 # LUA _INCLUDE_DIR, LUA_LIBRARIES, LUA_VERSION, LUA_FOUND26 # LUA5.1_INCLUDE_DIR, LUA5.1_LIBRARY, LUA5.1_VERSION, LUA5.1_FOUND 28 27 # 29 28 … … 55 54 56 55 57 # Find Lua 5.158 FIND_PATH(LUA _5.1_INCLUDE_DIR lua.h56 # Find include path 57 FIND_PATH(LUA5.1_INCLUDE_DIR lua.h 59 58 PATHS $ENV{LUA_DIR} 60 59 PATH_SUFFIXES include/lua51 include/lua5.1 include/lua include 61 60 ) 62 IF(LUA_5.1_INCLUDE_DIR) 63 DETERMINE_LUA_VERSION(${LUA_5.1_INCLUDE_DIR}/lua.h LUA_5.1_VERSION) 64 COMPARE_VERSION_STRINGS("${LUA_5.1_VERSION}" "5.1" _version_compare TRUE) 61 62 # Check whether we really found Lua version 5.1 63 IF(LUA5.1_INCLUDE_DIR) 64 DETERMINE_LUA_VERSION(${LUA5.1_INCLUDE_DIR}/lua.h LUA5.1_VERSION) 65 COMPARE_VERSION_STRINGS("${LUA5.1_VERSION}" "5.1" _version_compare TRUE) 65 66 IF(NOT _version_compare EQUAL 0) 66 # Incorrect version found, abort search 67 SET(LUA_5.1_INCLUDE_DIR "LUA_5.1_INCLUDE_DIR-NOTFOUND" CACHE PATH "" FORCE) 68 ELSE() 69 FIND_LIBRARY(LUA_5.1_LIBRARY_OPTIMIZED 70 NAMES lua51 lua5.1 lua 71 PATHS $ENV{LUA_DIR} 72 PATH_SUFFIXES lib64 lib 73 ) 74 FIND_LIBRARY(LUA_5.1_LIBRARY_DEBUG 75 NAMES lua51d lua51_d lua5.1d lua5.1_d luad lua_d 76 lua51D lua51_D lua5.1D lua5.1_D luad lua_D 77 PATHS $ENV{LUA_DIR} 78 PATH_SUFFIXES lib64 lib 79 ) 80 HANDLE_LIBRARY_TYPES(LUA_5.1) 81 SET(LUA_5.1_LIBRARIES ${LUA_5.1_LIBRARY}) 82 IF(LUA_5.1_LIBRARIES) 83 SET(LUA_5.1_FOUND TRUE) 84 ENDIF() 67 # Wrong version 68 SET(LUA5.1_INCLUDE_DIR "LUA5.1_INCLUDE_DIR-NOTFOUND" CACHE PATH "" FORCE) 85 69 ENDIF(NOT _version_compare EQUAL 0) 86 ENDIF(LUA _5.1_INCLUDE_DIR)70 ENDIF(LUA5.1_INCLUDE_DIR) 87 71 88 89 # Find Lua 5.0 90 FIND_PATH(LUA_5.0_INCLUDE_DIR lua.h 91 PATHS $ENV{LUA _DIR}92 PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include72 # Find library 73 FIND_LIBRARY(LUA5.1_LIBRARY_OPTIMIZED 74 NAMES lua51 lua5.1 lua 75 PATHS $ENV{LUA5.1_DIR} $ENV{LUA_DIR} 76 PATH_SUFFIXES lib64 lib 93 77 ) 94 IF(LUA_5.0_INCLUDE_DIR) 95 DETERMINE_LUA_VERSION(${LUA_5.0_INCLUDE_DIR}/lua.h LUA_5.0_VERSION) 96 COMPARE_VERSION_STRINGS("${LUA_5.0_VERSION}" "5.0" _version_compare TRUE) 97 IF(NOT _version_compare EQUAL 0) 98 # Incorrect version found, abourt search 99 SET(LUA_5.0_INCLUDE_DIR "LUA_5.0_INCLUDE_DIR-NOTFOUND" CACHE PATH "" FORCE) 100 ELSE() 101 FIND_LIBRARY(LUA_5.0_LUA_LIBRARY_OPTIMIZED 102 NAMES lua50 lua5.0 lua5 lua 103 PATHS $ENV{LUA_DIR} 104 PATH_SUFFIXES lib64 lib 105 ) 106 FIND_LIBRARY(LUA_5.0_LUA_LIBRARY_DEBUG 107 NAMES lua50d lua50_d lua5.0d lua5.0_d lua5d lua5_d luad lua_d 108 lua50D lua50_D lua5.0D lua5.0_D lua5d lua5_D luaD lua_D 109 PATHS $ENV{LUA_DIR} 110 PATH_SUFFIXES lib64 lib 111 ) 112 HANDLE_LIBRARY_TYPES(LUA_5.0_LUA) 113 114 # In an OS X framework, lualib is usually included as part of the framework 115 # (like GLU in OpenGL.framework) 116 IF(${LUA_5.0_LUA_LIBRARY} MATCHES "framework") 117 SET(LUA_5.0_LIBRARIES ${LUA_5.0_LUA_LIBRARY}) 118 ELSE() 119 FIND_LIBRARY(LUA_5.0_LUALIB_LIBRARY_OPTIMIZED 120 NAMES lualib50 lualib5.0 lualib5 lualib 121 PATHS $ENV{LUALIB_DIR} $ENV{LUA_DIR} 122 PATH_SUFFIXES lib64 lib 123 ) 124 FIND_LIBRARY(LUA_5.0_LUALIB_LIBRARY_DEBUG 125 NAMES lualib50d lualib50_d lualib5.0d lualib5.0_d 126 lualib5d lualib5_d lualibd lualib_d 127 lualib50D lualib50_D lualib5.0D lualib5.0_D 128 lualib5D lualib5_D lualibD lualib_D 129 PATHS $ENV{LUALIB_DIR} $ENV{LUA_DIR} 130 PATH_SUFFIXES lib64 lib 131 ) 132 HANDLE_LIBRARY_TYPES(LUA_5.0_LUALIB) 133 # Both libraries are required for Lua 5.0 to be found 134 IF(LUA_5.0_LUA_LIBRARY AND LUA_5.0_LUALIB_LIBRARY) 135 SET(LUA_5.0_LIBRARIES ${LUA_5.0_LUA_LIBRARY} ${LUA_5.0_LUALIB_LIBRARY}) 136 ENDIF() 137 ENDIF(${LUA_5.0_LUA_LIBRARY} MATCHES "framework") 138 139 IF(LUA_5.0_LIBRARIES) 140 SET(LUA_5.0_FOUND TRUE) 141 ENDIF() 142 ENDIF(NOT _version_compare EQUAL 0) 143 ENDIF(LUA_5.0_INCLUDE_DIR) 144 145 # Pick the right version 146 IF(Lua_FIND_VERSION_EXACT AND NOT Lua_FIND_VERSION MATCHES "^[0-9]*$") 147 STRING(REGEX REPLACE "^([0-9]+\\.[0-9]+)(\\..*)?$" "\\1" LUA_VERSION_SELECTION ${Lua_FIND_VERSION}) 148 ELSE() 149 IF(LUA_5.1_FOUND) # Prefer version 5.1 if found 150 SET(LUA_VERSION_SELECTION "5.1") 151 ELSEIF(LUA_5.0_FOUND) 152 SET(LUA_VERSION_SELECTION "5.0") 153 ENDIF() 154 ENDIF() 155 156 SET(LUA_INCLUDE_DIR "${LUA_${LUA_VERSION_SELECTION}_INCLUDE_DIR}") 157 SET(LUA_LIBRARIES "${LUA_${LUA_VERSION_SELECTION}_LIBRARIES}") 158 SET(LUA_VERSION_LONG "${LUA_${LUA_VERSION_SELECTION}_VERSION}") 159 SET(LUA_VERSION "${LUA_VERSION_SELECTION}") 160 161 FIND_PACKAGE_HANDLE_ADVANCED_ARGS(Lua DEFAULT_MSG "${LUA_VERSION_LONG}" 162 LUA_LIBRARIES 163 LUA_INCLUDE_DIR 78 FIND_LIBRARY(LUA5.1_LIBRARY_DEBUG 79 NAMES lua51d lua51_d lua5.1d lua5.1_d 80 lua51D lua51_D lua5.1D lua5.1_D 81 luad lua_d luad lua_D 82 PATHS $ENV{LUA5.1_DIR} $ENV{LUA_DIR} 83 PATH_SUFFIXES lib64 lib 164 84 ) 165 85 166 # Include the math library for Unix only 167 IF(LUA_FOUND) 168 IF(UNIX AND NOT APPLE) 169 FIND_LIBRARY(UNIX_MATH_LIBRARY m) 170 SET(LUA_LIBRARIES ${LUA_LIBRARIES} ${UNIX_MATH_LIBRARY}) 171 ENDIF() 172 ENDIF(LUA_FOUND) 86 # Handle the REQUIRED argument and set LUA5.1_FOUND 87 FIND_PACKAGE_HANDLE_ADVANCED_ARGS(Lua5.1 DEFAULT_MSG 88 LUA5.1_LIBRARY 89 LUA5.1_INCLUDE_DIR 90 ) 91 92 # Collect optimized and debug libraries 93 HANDLE_LIBRARY_TYPES(LUA5.1) 173 94 174 95 MARK_AS_ADVANCED( 175 LUA_5.0_INCLUDE_DIR 176 LUA_5.0_LUA_LIBRARY_OPTIMIZED 177 LUA_5.0_LUA_LIBRARY_DEBUG 178 LUA_5.0_LUALIB_LIBRARY_OPTIMIZED 179 LUA_5.0_LUALIB_LIBRARY_DEBUG 180 LUA_5.1_INCLUDE_DIR 181 LUA_5.1_LIBRARY_OPTIMIZED 182 LUA_5.1_LIBRARY_DEBUG 183 UNIX_MATH_LIBRARY 96 LUA5.1_INCLUDE_DIR 97 LUA5.1_LIBRARY_OPTIMIZED 98 LUA5.1_LIBRARY_DEBUG 184 99 )
Note: See TracChangeset
for help on using the changeset viewer.