summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMichal Domonkos <mdomonko@redhat.com>2023-04-05 16:33:34 +0200
committerPanu Matilainen <pmatilai@redhat.com>2023-04-25 15:04:06 +0300
commit49befbc12381e95c2dacab50284ff32328a4ef99 (patch)
treeff6ccef92ec815887f845467a357414f49d59e19 /CMakeLists.txt
parent87b9e0c28c3df3937f6676ee1b4164d6154dd9d3 (diff)
downloadrpm-49befbc12381e95c2dacab50284ff32328a4ef99.tar.gz
Use CMake Lua module
While many distros ship a pkg-config file for Lua, the upstream source tree does not provide one and so we shouldn't rely on it. Turns out, CMake provides a native Lua module so just use that. Unfortunately, the package doesn't define any IMPORTED target so add our own, similarly to how we did this recently with libmagic and libimaevm. Of particular note is that this adds an implicit dependency between CMake and Lua (e.g. Lua 5.4 support was only added in CMake 3.18), but that hopefully won't have much impact on most OS installations out there. Fixes: #2247
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt10
1 files changed, 8 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f052271c5..230d18d1f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -135,11 +135,11 @@ set(REQFUNCS
)
find_package(PkgConfig REQUIRED)
+find_package(Lua 5.2 REQUIRED)
find_package(ZLIB REQUIRED)
find_package(BZip2)
find_package(Iconv)
-pkg_check_modules(LUA REQUIRED IMPORTED_TARGET lua>=5.2)
pkg_check_modules(POPT REQUIRED IMPORTED_TARGET popt)
pkg_check_modules(READLINE IMPORTED_TARGET readline)
pkg_check_modules(ZSTD IMPORTED_TARGET libzstd>=1.3.8)
@@ -147,6 +147,12 @@ pkg_check_modules(LIBELF IMPORTED_TARGET libelf)
pkg_check_modules(LIBDW IMPORTED_TARGET libdw)
pkg_check_modules(LIBLZMA IMPORTED_TARGET liblzma>=5.2.0)
+# Lua module does not ship an IMPORTED target, define our own
+add_library(LUA::LUA INTERFACE IMPORTED)
+set_target_properties(LUA::LUA PROPERTIES
+ INTERFACE_LINK_LIBRARIES "${LUA_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${LUA_INCLUDE_DIR}")
+
# file >= 5.39 ships a pkg-config, may move to that later
add_library(MAGIC::MAGIC UNKNOWN IMPORTED)
find_library(MAGIC_LIBRARY NAMES magic REQUIRED)
@@ -349,7 +355,7 @@ add_executable(rpmuncompress tools/rpmuncompress.c)
add_executable(elfdeps tools/elfdeps.c)
target_link_libraries(rpmsign PRIVATE librpmsign)
-target_link_libraries(rpmlua PRIVATE PkgConfig::LUA)
+target_link_libraries(rpmlua PRIVATE LUA::LUA)
target_link_libraries(elfdeps PRIVATE PkgConfig::LIBELF)
target_link_libraries(rpmbuild PRIVATE librpmbuild)
target_link_libraries(rpmspec PRIVATE librpmbuild)