cmake_minimum_required(VERSION 3.6)

project(lua51)

option(LUA_BUILD_SHARED "Build shared library" ON)
option(LUA_BUILD_STATIC "Build static library" OFF)

set(LUA_SRC
	src/lapi.c
	src/lauxlib.c
	src/lbaselib.c
	src/lcode.c
	src/ldblib.c
	src/ldebug.c
	src/ldo.c
	src/ldump.c
	src/lfunc.c
	src/lgc.c
	src/linit.c
	src/liolib.c
	src/llex.c
	src/lmathlib.c
	src/lmem.c
	src/loadlib.c
	src/lobject.c
	src/lopcodes.c
	src/loslib.c
	src/lparser.c
	src/lstate.c
	src/lstring.c
	src/lstrlib.c
	src/ltable.c
	src/ltablib.c
	src/ltm.c
	src/lundump.c
	src/lvm.c
	src/lzio.c
	src/print.c
)

if (LUA_BUILD_STATIC)
	add_library(lua51-static STATIC ${LUA_SRC})
	target_include_directories(lua51-static PUBLIC src)
endif()

if (LUA_BUILD_SHARED)
	add_library(lua51 SHARED ${LUA_SRC})
	target_include_directories(lua51 PUBLIC src)
	if(MSVC)
		set_property(TARGET lua51 PROPERTY COMPILE_DEFINITIONS LUA_BUILD_AS_DLL=1)
	endif()
	install(TARGETS lua51 RUNTIME DESTINATION . LIBRARY DESTINATION .)
endif()
