From 2a81f98f16e12177b52d04c8f0a6c87297d11c3c Mon Sep 17 00:00:00 2001 From: taynpg Date: Thu, 13 Feb 2025 13:17:21 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=AD=A3Linux=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/CMakeLists.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lua/CMakeLists.txt b/lua/CMakeLists.txt index 97eb30f..6a15747 100644 --- a/lua/CMakeLists.txt +++ b/lua/CMakeLists.txt @@ -4,6 +4,15 @@ project(Lua VERSION 5.4.7 LANGUAGES C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) +# 平台特定的设置 +if(WIN32) + set(PLATFORM_DEFINITIONS LUA_BUILD_AS_DLL) + set(PLATFORM_LIBS "") +else() + set(PLATFORM_DEFINITIONS LUA_USE_LINUX) + set(PLATFORM_LIBS -lm -ldl -Wl,-E) +endif() + if (MSVC) add_compile_options(/wd4530) endif() @@ -20,7 +29,9 @@ list(REMOVE_ITEM LUA_SOURCES # Build the static library add_library(lua STATIC ${LUA_SOURCES}) target_include_directories(lua PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) -target_compile_definitions(lua PRIVATE LUA_COMPAT_5_3) +target_link_libraries(lua PRIVATE ${PLATFORM_LIBS}) +target_compile_definitions(lua PRIVATE LUA_COMPAT_5_3 ${PLATFORM_DEFINITIONS}) +set_target_properties(lua PROPERTIES POSITION_INDEPENDENT_CODE ON) # 添加Lua可执行文件 add_executable(mlua src/lua.c)