diff --git a/CMakeLists.txt b/CMakeLists.txt index 5032f51..db75d71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.1) project(lua LANGUAGES C VERSION 5.4.2) option(LUA_SUPPORT_DL "Support dynamic loading of compiled modules" OFF) +option(LUA_BUILD_AS_CXX "Build lua as C++" OFF) +enable_language(CXX) if(${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME}) set(TOP_LEVEL TRUE) diff --git a/lua-5.4.2/CMakeLists.txt b/lua-5.4.2/CMakeLists.txt index f155311..c9a2477 100644 --- a/lua-5.4.2/CMakeLists.txt +++ b/lua-5.4.2/CMakeLists.txt @@ -33,6 +33,10 @@ set(LUA_LIB_SRCS "src/linit.c" ) +if(LUA_BUILD_AS_CXX) + set_source_files_properties(${LUA_LIB_SRCS} "src/lua.c" "src/luac.c" PROPERTIES LANGUAGE CXX ) +endif() + add_library(lua_static STATIC ${LUA_LIB_SRCS}) set_target_properties(lua_static PROPERTIES OUTPUT_NAME "lua") target_include_directories(lua_static PUBLIC "include")