date: cleanup

replace the pkgconfig hack with a proper patch
This commit is contained in:
MarkusVolk 2022-01-01 07:00:26 +01:00
parent 85a698855a
commit 75a62d9a11
3 changed files with 62 additions and 17 deletions

View File

@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b5d973344b3c7bbf7535f0e6e002d017"
SRC_URI = " \ SRC_URI = " \
git://github.com/HowardHinnant/date.git;protocol=https;branch=master \ git://github.com/HowardHinnant/date.git;protocol=https;branch=master \
file://date.pc \ file://pkgconfig.patch \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
@ -23,10 +23,4 @@ EXTRA_OECMAKE += " \
-DBUILD_SHARED_LIBS=ON \ -DBUILD_SHARED_LIBS=ON \
-DUSE_SYSTEM_TZ_DB=ON \ -DUSE_SYSTEM_TZ_DB=ON \
" "
do_install:append() {
# source lacks pkgconfig support. Include a pc file, so 'date' can be found using pkgconfig
install -d ${D}${libdir}/pkgconfig
install -m 0644 ${WORKDIR}/date.pc ${D}${libdir}/pkgconfig
}

View File

@ -1,10 +0,0 @@
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
Name: date
Description: date library
Version: 3.0.0
Cflags: -I${includedir}/date
Libs: -L${libdir} -ldate-tz -lpthread

View File

@ -0,0 +1,61 @@
From e56b2dce7e89a92e1b9b35caa13b3e938c4cedea Mon Sep 17 00:00:00 2001
From: Cole Mickens <cole.mickens@gmail.com>
Date: Sun, 26 Jan 2020 01:27:08 -0800
Subject: [PATCH] CMakeLists.txt: output date.pc for pkg-config
---
CMakeLists.txt | 15 +++++++++++++++
date.pc.in | 10 ++++++++++
2 files changed, 25 insertions(+)
create mode 100644 date.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f30c473..fe778e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -128,6 +128,15 @@ if( BUILD_TZ_LIB )
endif( )
endif( )
+if ( BUILD_TZ_LIB )
+ # Cflags: -I${includedir} @TZ_COMPILE_DEFINITIONS@
+ set( TZ_COMPILE_DEFINITIONS "$<IF:$<TARGET_EXISTS:date-tz>,-D$<JOIN:$<TARGET_PROPERTY:date-tz,INTERFACE_COMPILE_DEFINITIONS>, -D>,>" )
+ configure_file(date.pc.in date.pc.cf @ONLY)
+ file( GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/date.pc"
+ INPUT "${CMAKE_CURRENT_BINARY_DIR}/date.pc.cf" )
+
+endif( )
+
#[===================================================================[
installation
#]===================================================================]
@@ -171,6 +180,12 @@ install (
FILES cmake/dateConfig.cmake "${version_config}"
DESTINATION ${CONFIG_LOC})
+if ( BUILD_TZ_LIB )
+ install(
+ FILES ${CMAKE_BINARY_DIR}/date.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+endif( )
+
#[===================================================================[
testing
#]===================================================================]
diff --git a/date.pc.in b/date.pc.in
new file mode 100644
index 0000000..b9c4623
--- /dev/null
+++ b/date.pc.in
@@ -0,0 +1,10 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_BINDIR@
+libdir=@CMAKE_INSTALL_LIB@
+includedir=@CMAKE_INSTALL_INCLUDE@
+
+Name: date
+Description: A date and time library based on the C++11/14/17 <chrono> header
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -ldate-tz
+Cflags: -I${includedir} @TZ_COMPILE_DEFINITIONS@