gmock: add recipe

gmock is a library for writing and using C++ mock classes, by Google.

Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Mario Domenech Goulart
2014-10-30 11:10:46 -02:00
committed by Martin Jansa
parent ff5cda05c9
commit 3243648a18
3 changed files with 119 additions and 0 deletions
@@ -0,0 +1,40 @@
From ba0a7d65c918cb7e3f2073553c4cc7af5858ed03 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Thu, 31 Jul 2014 16:54:00 -0300
Subject: [PATCH] cmake: Add install command for libraries and headers
Organization: O.S. Systems Software LTDA.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
CMakeLists.txt | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 572d044..90e797a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,6 +63,8 @@ include_directories("${gmock_SOURCE_DIR}/include"
# Test sources.
"${gtest_SOURCE_DIR}")
+install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock DESTINATION include)
+
########################################################################
#
# Defines the gmock & gmock_main libraries. User tests should link
@@ -82,6 +84,10 @@ cxx_library(gmock_main
src/gmock-all.cc
src/gmock_main.cc)
+
+install(TARGETS gmock DESTINATION lib)
+install(TARGETS gmock_main DESTINATION lib)
+
########################################################################
#
# Google Mock's own tests.
--
1.9.1
@@ -0,0 +1,56 @@
From 45661183a7c78d8c4f75adcf53c6ddd663dc8b2d Mon Sep 17 00:00:00 2001
From: Mario Domenech Goulart <mario@ossystems.com.br>
Date: Mon, 20 Oct 2014 17:12:58 -0200
Subject: [PATCH] CMakeLists, gmock.pc.in: Add pkg-config support
Organization: O.S. Systems Software LTDA.
Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
---
CMakeLists.txt | 7 ++++++-
gmock.pc.in | 9 +++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
create mode 100644 gmock.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 90e797a..98fd824 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,6 +27,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
pre_project_set_up_hermetic_build()
endif()
+# pkg-config support
+configure_file("gmock.pc.in" "gmock.pc" @ONLY)
+
########################################################################
#
# Project-wide settings
@@ -87,7 +90,9 @@ cxx_library(gmock_main
install(TARGETS gmock DESTINATION lib)
install(TARGETS gmock_main DESTINATION lib)
-
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmock.pc"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
+)
########################################################################
#
# Google Mock's own tests.
diff --git a/gmock.pc.in b/gmock.pc.in
new file mode 100644
index 0000000..08ad8d2
--- /dev/null
+++ b/gmock.pc.in
@@ -0,0 +1,9 @@
+Name: libgmock
+Version: 1.7.0
+Description: Google's framework for writing C++ tests on a variety of platforms
+
+prefix=@CMAKE_INSTALL_PREFIX@
+includedir=${prefix}/include
+libdir=${prefix}/lib
+Cflags:-I${includedir}/gmock
+Libs: -L${libdir} -lgmock -lgmock_main
--
1.9.1
+23
View File
@@ -0,0 +1,23 @@
DESCRIPTION = "Google C++ Mocking Framework"
SECTION = "libs"
HOMEPAGE = "http://code.google.com/p/googlemock/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
SRC_URI = "\
http://googlemock.googlecode.com/files/${BPN}-${PV}.zip \
file://cmake-Add-install-command-for-libraries-and-headers.patch \
file://cmake-gmock.pc.in-Add-pkg-config-support.patch \
"
SRC_URI[md5sum] = "073b984d8798ea1594f5e44d85b20d66"
SRC_URI[sha256sum] = "26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b"
inherit lib_package cmake
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-dbg = "1"
RDEPENDS_${PN}-dev += "${PN}-staticdev"
BBCLASSEXTEND = "nativesdk"