blob: 6dc22c02b418c5407aec3f2ef67b530b35ba438c [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
include(FetchContent)
FetchContent_Declare(lua
URL "https://github.com/lua/lua/archive/refs/tags/v5.4.6.tar.gz"
URL_HASH "SHA256=11c228cf9b9564d880b394f8069ad829d01e39756567f79c347a6b89fed44771"
SYSTEM
)
FetchContent_GetProperties(lua)
if(NOT lua_POPULATED)
FetchContent_Populate(lua)
# lua.org tarball:
#set(lua_tarball_src_path "src/")
# github.com tarball:
set(lua_tarball_src_path "")
file(GLOB LUA_SOURCES "${lua_SOURCE_DIR}/${lua_tarball_src_path}*.c")
# the github tarball contains onelua.c, which is a concatenated version of all source files, we don't need it
list(REMOVE_ITEM LUA_SOURCES "${lua_SOURCE_DIR}/${lua_tarball_src_path}onelua.c")
add_library(lua STATIC ${LUA_SOURCES})
file(MAKE_DIRECTORY "${lua_BINARY_DIR}/include")
foreach(HEADER lua.h luaconf.h lualib.h lauxlib.h)
file(COPY "${lua_SOURCE_DIR}/${lua_tarball_src_path}${HEADER}" DESTINATION "${lua_BINARY_DIR}/include")
endforeach()
set(LUA_INCLUDE_DIR "${lua_BINARY_DIR}/include" CACHE STRING "" FORCE)
endif()