diff options
author | Andy Belle-Isle <drumsetmonkey@gmail.com> | 2019-08-30 00:19:31 -0400 |
---|---|---|
committer | Andy Belle-Isle <drumsetmonkey@gmail.com> | 2019-08-30 00:19:31 -0400 |
commit | bd3fe0cac583739bc0d7c4b5c8f301bb350abca0 (patch) | |
tree | 7eeb1aabcebd6999de1c3457d0882246ec0ff4d4 /deps/sol2/cmake/Modules/FindLuaBuild.cmake | |
parent | 2662ac356ce14dacfbc91689fd37244facff4989 (diff) |
Renamed lib to deps so github will ignore it for language stats
Diffstat (limited to 'deps/sol2/cmake/Modules/FindLuaBuild.cmake')
-rw-r--r-- | deps/sol2/cmake/Modules/FindLuaBuild.cmake | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/deps/sol2/cmake/Modules/FindLuaBuild.cmake b/deps/sol2/cmake/Modules/FindLuaBuild.cmake new file mode 100644 index 0000000..6ed229a --- /dev/null +++ b/deps/sol2/cmake/Modules/FindLuaBuild.cmake @@ -0,0 +1,120 @@ +# # # # sol3
+# The MIT License (MIT)
+#
+# Copyright (c) 2013-2019 Rapptz, ThePhD, and contributors
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+# the Software, and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+# # Standard CMake Libraries
+include(FindPackageHandleStandardArgs)
+
+# Contain literally everything inside of this function to prevent spillage
+function(find_lua_build LUA_VERSION)
+ # # # Variables
+ # # Core Paths
+ string(TOLOWER ${LUA_VERSION} LUA_BUILD_NORMALIZED_LUA_VERSION)
+ if (LUA_BUILD_NORMALIZED_LUA_VERSION MATCHES "luajit")
+ set(LUA_BUILD_LIBNAME ${LUA_VERSION})
+ elseif (BUILD_LUAJIT)
+ set(LUA_BUILD_LIBNAME luajit-${LUA_VERSION})
+ elseif (LUA_BUILD_NORMALIZED_LUA_VERSION MATCHES "lua")
+ set(LUA_BUILD_LIBNAME ${LUA_VERSION})
+ elseif (BUILD_LUA)
+ set(LUA_BUILD_LIBNAME lua-${LUA_VERSION})
+ else()
+ set(LUA_BUILD_LIBNAME lua-${LUA_VERSION})
+ endif()
+ set(LUA_BUILD_TOPLEVEL "${CMAKE_BINARY_DIR}/vendor/${LUA_BUILD_LIBNAME}")
+ set(LUA_BUILD_INSTALL_DIR "${LUA_BUILD_TOPLEVEL}")
+ # # Misc needed variables
+ set(LUA_BUILD_LIBRARY_DESCRIPTION "The base name of the library to build either the static or the dynamic library")
+
+ # Object file suffixes
+ if (MSVC)
+ set(LUA_BUILD_BUILD_DLL_DEFAULT ON)
+ set(LUA_BUILD_OBJECT_FILE_SUFFIX .obj)
+ else()
+ set(LUA_BUILD_BUILD_DLL_DEFAULT OFF)
+ set(LUA_BUILD_OBJECT_FILE_SUFFIX .o)
+ endif()
+
+ # # # Options
+ option(BUILD_LUA_AS_DLL ${LUA_BUILD_BUILD_DLL_DEFAULT} "Build Lua or LuaJIT as a Shared/Dynamic Link Library")
+
+ STRING(TOLOWER ${LUA_BUILD_LIBNAME} LUA_BUILD_NORMALIZED_LIBNAME)
+ if (NOT LUA_LIBRARY_NAME)
+ if (LUA_BUILD_NORMALIZED_LIBNAME MATCHES "luajit")
+ set(LUA_LIBRARY luajit)
+ else()
+ set(LUA_LIBRARY ${LUA_BUILD_LIBNAME})
+ endif()
+ else()
+ set(LUA_LIBRARY_NAME ${LUA_LIBRARY_NAME}
+ CACHE STRING
+ ${LUA_BUILD_LIBRARY_DESCRIPTION})
+ endif()
+ # # Dependent Variables
+ # If we're building a DLL, then set the library type to SHARED
+ if (BUILD_LUA_AS_DLL)
+ set(LUA_BUILD_LIBRARY_TYPE SHARED)
+ else()
+ set(LUA_BUILD_LIBRARY_TYPE STATIC)
+ endif()
+
+
+ # # # Build Lua
+ # # Select either LuaJIT or Vanilla Lua here, based on what we discover
+ if (BUILD_LUAJIT OR LUA_BUILD_NORMALIZED_LUA_VERSION MATCHES "luajit")
+ include(${CMAKE_CURRENT_LIST_DIR}/FindLuaBuild/LuaJIT.cmake)
+ set(LUA_VERSION_STRING ${LUA_JIT_VERSION})
+ else()
+ include(${CMAKE_CURRENT_LIST_DIR}/FindLuaBuild/LuaVanilla.cmake)
+ set(LUA_VERSION_STRING ${LUA_VANILLA_VERSION})
+ endif()
+
+ # # Export variables to the parent scope
+ set(LUA_LIBRARIES ${LUA_LIBRARIES} PARENT_SCOPE)
+ set(LUA_INTERPRETER ${LUA_INTERPRETER} PARENT_SCOPE)
+ set(LUA_INCLUDE_DIRS ${LUA_INCLUDE_DIRS} PARENT_SCOPE)
+ set(LUA_VERSION_STRING ${LUA_VERSION_STRING} PARENT_SCOPE)
+ set(LUABUILD_FOUND TRUE PARENT_SCOPE)
+endfunction(find_lua_build)
+
+# Call and then immediately undefine to avoid polluting the global scope
+if (LuaBuild_FIND_COMPONENTS)
+ list(GET LuaBuild_FIND_COMPONENTS 0 LUA_VERSION)
+endif()
+if (LuaBuild_FIND_VERSION)
+ if (LUA_VERSION)
+ set(LUA_VERSION "${LUA_VERSION}-${LuaBuild_FIND_VERSION}")
+ else()
+ set(LUA_VERSION "${LuaBuild_VERSION}")
+ endif()
+endif()
+if (NOT LUA_VERSION)
+ set(LUA_VERSION 5.3.5)
+endif()
+find_lua_build(${LUA_VERSION})
+unset(find_lua_build)
+
+# handle the QUIETLY and REQUIRED arguments and set LUABUILD_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaBuild
+ FOUND_VAR LUABUILD_FOUND
+ REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIRS
+ VERSION_VAR LUA_VERSION_STRING)
|