INCLUDE(FindPkgConfig)
pkg_check_modules(pkgs REQUIRED
- tota
openssl1.1
blkid
+ liblzma-tool
)
pkg_check_modules(blkid_pkgs REQUIRED
blkid
)
+FIND_LIBRARY(libtota_path REQUIRED NAMES libtota.a)
+FIND_LIBRARY(libbrotlidec_path REQUIRED NAMES libbrotlidec-static.a)
+FIND_LIBRARY(libbrotlicommon_path REQUIRED NAMES libbrotlicommon-static.a)
+
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
+ADD_LIBRARY(tota STATIC IMPORTED)
+ADD_LIBRARY(brotlienc STATIC IMPORTED)
+ADD_LIBRARY(brotlicommon STATIC IMPORTED)
+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -fPIE")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -pie")
ADD_EXECUTABLE(${EXECNAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${EXECNAME} ${pkgs_LDFLAGS})
+SET_TARGET_PROPERTIES(tota PROPERTIES IMPORTED_LOCATION ${libtota_path})
+SET_TARGET_PROPERTIES(brotlienc PROPERTIES IMPORTED_LOCATION ${libbrotlidec_path})
+SET_TARGET_PROPERTIES(brotlicommon PROPERTIES IMPORTED_LOCATION ${libbrotlicommon_path})
+TARGET_LINK_LIBRARIES(${EXECNAME} tota brotlienc brotlicommon ${pkgs_LDFLAGS})
INSTALL(TARGETS ${EXECNAME} DESTINATION ${BINDIR})
BuildRequires: cmake
BuildRequires: ca-certificates-devel
BuildRequires: pkgconfig(tota)
+BuildRequires: pkgconfig(liblzma-tool)
+BuildRequires: libbrotli-devel
BuildRequires: pkgconfig(openssl1.1)
BuildRequires: pkgconfig(libtzplatform-config)
BuildRequires: pkgconfig(dlog)