diff --git a/CMakeLists.txt b/CMakeLists.txt index cb15a02b..d74a484a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,7 @@ project(dwarfs) cmake_minimum_required(VERSION 3.13.4) option(WITH_TESTS "build with tests" OFF) +option(WITH_LUA "build with Lua scripting support" OFF) set(default_build_type "Release") @@ -97,6 +98,7 @@ list( src/dwarfs/inode_manager.cpp src/dwarfs/inode_reader.cpp src/dwarfs/logger.cpp + src/dwarfs/lua_script.cpp src/dwarfs/metadata.cpp src/dwarfs/metadata_writer.cpp src/dwarfs/mmap.cpp @@ -107,6 +109,10 @@ list( src/dwarfs/similarity.cpp src/dwarfs/util.cpp) +if(WITH_LUA) + list(APPEND LIBDWARFS_SRC src/dwarfs/lua_script.cpp) +endif() + add_library(dwarfs ${LIBDWARFS_SRC}) add_executable(mkdwarfs src/mkdwarfs.cpp) @@ -139,7 +145,8 @@ foreach(tgt dwarfs ${BINARY_TARGETS}) PRIVATE DWARFS_VERSION=\"${DWARFS_VERSION}\" $<$:DWARFS_HAVE_LIBLZ4> $<$:DWARFS_HAVE_LIBLZMA> - $<$:DWARFS_HAVE_LIBZSTD>) + $<$:DWARFS_HAVE_LIBZSTD> + $<$:DWARFS_HAVE_LUA>) target_compile_options(${tgt} PRIVATE -Wall -Wextra -pedantic) @@ -160,6 +167,10 @@ foreach(tgt ${BINARY_TARGETS}) PkgConfig::LIBLZ4 PkgConfig::LIBLZMA PkgConfig::LIBZSTD) + + if(WITH_LUA) + target_link_libraries(${tgt} luabind lua) + endif() endforeach() target_link_libraries(dwarfs-bin PkgConfig::FUSE3)