mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-06 15:20:12 +00:00
soci: Add recipe
Define PACKAGECONFIG to enable a given backend of choice by default its 'empty' Change-Id: Ie1123af658ca94d2fe22a3ca1a32dfb47d58979e Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
Define SOCI_LIBDIR only if its not passed via environemnt. In OE we
|
||||||
|
want to set it per our choice since we use 'lib' for 64bit unless we
|
||||||
|
are using multilib
|
||||||
|
|
||||||
|
-Khem
|
||||||
|
|
||||||
|
Index: soci-3.2.2/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- soci-3.2.2.orig/CMakeLists.txt
|
||||||
|
+++ soci-3.2.2/CMakeLists.txt
|
||||||
|
@@ -69,11 +69,12 @@ include(SociDependencies)
|
||||||
|
###############################################################################
|
||||||
|
# Installation
|
||||||
|
###############################################################################
|
||||||
|
-
|
||||||
|
-if(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||||
|
- set(SOCI_LIBDIR "lib")
|
||||||
|
-else()
|
||||||
|
- set(SOCI_LIBDIR "lib64")
|
||||||
|
+if(NOT DEFINED SOCI_LIBDIR)
|
||||||
|
+ if(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||||
|
+ set(SOCI_LIBDIR "lib")
|
||||||
|
+ else()
|
||||||
|
+ set(SOCI_LIBDIR "lib")
|
||||||
|
+ endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(BINDIR "bin" CACHE PATH "The directory to install binaries into.")
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
|
||||||
|
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||||
|
|
||||||
|
DESCRIPTION = "The C++ Database Access Library"
|
||||||
|
HOMEPAGE = "http://soci.sourceforge.net"
|
||||||
|
LICENSE = "BSL-1.0"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
|
||||||
|
SECTION = "libs"
|
||||||
|
DEPENDS = "boost"
|
||||||
|
|
||||||
|
|
||||||
|
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${P}/${P}.tar.gz \
|
||||||
|
file://soci_libdir.patch \
|
||||||
|
"
|
||||||
|
SRC_URI[md5sum] = "bc3c35f6cd3f80a1be19fe30b3c111bf"
|
||||||
|
SRC_URI[sha256sum] = "30ea2f4d26639ef5b5cdc24fb300b3896746243dbb77b743582de2ff443ccb1c"
|
||||||
|
|
||||||
|
TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
|
||||||
|
-DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
|
||||||
|
-DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=oe password=oe"'
|
||||||
|
|
||||||
|
OBASEDIR ?= "/opt/oracle"
|
||||||
|
OINCDIR = "rdbms/public"
|
||||||
|
OLIBDIR = "lib"
|
||||||
|
|
||||||
|
PACKAGECONFIG[sqlite3] = "-DSOCI_SQLITE3=ON,-DSOCI_SQLITE3=OFF,sqlite3,"
|
||||||
|
PACKAGECONFIG[mysql] = "-DSOCI_MYSQL=ON,-DSOCI_MYSQL=OFF,mariadb,"
|
||||||
|
PACKAGECONFIG[postgresql] = "-DSOCI_POSTGRESQL=ON,-DSOCI_POSTGRESQL=OFF,postgresql,"
|
||||||
|
PACKAGECONFIG[odbc] = "-DSOCI_ODBC=ON,-DSOCI_ODBC=OFF,,"
|
||||||
|
PACKAGECONFIG[empty] = "-DSOCI_EMPTY=ON,-DSOCI_EMPTY=OFF,,"
|
||||||
|
PACKAGECONFIG[oracle] = "-DWITH_ORACLE=ON --with-oracle-include=${OINCDIR} --with-oracle-lib=${OLIBDIR},-DWITH_ORACLE=OFF,,"
|
||||||
|
PACKAGECONFIG[ptest] = "${TESTCONFIG},,,"
|
||||||
|
|
||||||
|
# enable your backend by default we enable 'empty'
|
||||||
|
PACKAGECONFIG ??= "empty"
|
||||||
|
|
||||||
|
# Take the flags added by PACKAGECONFIG and pass them to cmake.
|
||||||
|
EXTRA_OECMAKE = "${EXTRA_OECONF} -DSOCI_LIBDIR=${libdir}"
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
PACKAGES += "${PN}-sqlite3 ${PN}-mysql ${PN}-postgresql ${PN}-odbc ${PN}-oracle"
|
||||||
|
|
||||||
|
FILES_${PN}-sqlite3 = "${libdir}/lib${BPN}_sqlite3.so.*"
|
||||||
|
FILES_${PN}-mysql = "${libdir}/lib${BPN}_mysql.so.*"
|
||||||
|
FILES_${PN}-postgresql = "${libdir}/lib${BPN}_postgresql.so.*"
|
||||||
|
FILES_${PN}-odbc = "${libdir}/lib${BPN}_odbc.so.*"
|
||||||
|
FILES_${PN}-oracle = "${libdir}/lib${BPN}_oracle.so.*"
|
||||||
Reference in New Issue
Block a user