add lua-cmake-build script and configuration file
This commit is contained in:
parent
358fb7457f
commit
fd812d3c71
|
@ -0,0 +1,41 @@
|
|||
cmake_minimum_required(VERSION 3.15)
|
||||
project(lua-cmake-build)
|
||||
|
||||
include(lua-config.cmake)
|
||||
|
||||
file(GLOB LUA_SOURCES ${LUA_SRC_DIR}/*.c)
|
||||
foreach (luasourcefile ${LUA_SOURCES})
|
||||
get_filename_component(testname ${luasourcefile} NAME_WLE)
|
||||
get_filename_component(dirname ${luasourcefile} DIRECTORY)
|
||||
## skip over lua.c and luac.c
|
||||
string(FIND ${luasourcefile} "lua.c" LUA_C_NAME)
|
||||
if(${LUA_C_NAME} LESS 0)
|
||||
list(APPEND LUA_LIBRARY_SRC ${luasourcefile})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
add_library(lua_static STATIC ${LUA_LIBRARY_SRC})
|
||||
set_property(TARGET lua_static PROPERTY OUTPUT_NAME ${LUA_LIBRARY_NAME}_static)
|
||||
set_target_properties(lua_static PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreadedDLL" PREFIX "")
|
||||
install(TARGETS lua_static ARCHIVE DESTINATION ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_executable(lua_binary ${LUA_SRC_DIR}/lua.c)
|
||||
target_link_libraries(lua_binary lua_library)
|
||||
set_property(TARGET lua_binary PROPERTY OUTPUT_NAME ${LUA_BINARY_NAME})
|
||||
set_target_properties(lua_binary PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
|
||||
|
||||
add_executable(luac_binary ${LUA_SRC_DIR}/luac.c)
|
||||
target_link_libraries(luac_binary lua_static)
|
||||
set_property(TARGET luac_binary PROPERTY OUTPUT_NAME ${LUAC_BINARY_NAME})
|
||||
set_target_properties(luac_binary PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
|
||||
|
||||
add_definitions(-DLUA_BUILD_AS_DLL)
|
||||
add_library(lua_library SHARED ${LUA_LIBRARY_SRC})
|
||||
set_property(TARGET lua_library PROPERTY OUTPUT_NAME ${LUA_LIBRARY_NAME})
|
||||
set_target_properties(lua_library PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreadedDLL" PREFIX "")
|
||||
|
||||
install(TARGETS lua_binary luac_binary lua_static lua_library
|
||||
RUNTIME DESTINATION ${CMAKE_BINARY_DIR}
|
||||
LIBRARY DESTINATION ${CMAKE_BINARY_DIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_BINARY_DIR}
|
||||
)
|
|
@ -0,0 +1,12 @@
|
|||
### Full path to lua/src.
|
||||
set(LUA_SRC_DIR "u:/src/lua-5.4.6/src")
|
||||
|
||||
### Desired names for lua.exe, luac.exe, lua.dll, and lua_static.lib
|
||||
set(LUA_BINARY_NAME "lua54")
|
||||
set(LUAC_BINARY_NAME "luac54")
|
||||
set(LUA_LIBRARY_NAME "lua54")
|
||||
set(LUA_STATIC_NAME "lua54_static")
|
||||
|
||||
## Note:
|
||||
## Some platforms may want liblua54.dll instead of lua54.dll for example.
|
||||
## If this is the case, remove PREFIX "" statements from the CMakeList.txt
|
Loading…
Reference in New Issue