Merge lp:~didrocks/libusermetrics/build-new-gmock into lp:~indicator-applet-developers/libusermetrics/trunk

Proposed by Didier Roche-Tolomelli
Status: Merged
Merged at revision: 103
Proposed branch: lp:~didrocks/libusermetrics/build-new-gmock
Merge into: lp:~indicator-applet-developers/libusermetrics/trunk
Diff against target: 223 lines (+6/-172)
4 files modified
cmake/FindGMock.cmake (+0/-129)
cmake/FindLocalGTest.cmake (+0/-33)
debian/control (+1/-1)
tests/CMakeLists.txt (+5/-9)
To merge this branch: bzr merge lp:~didrocks/libusermetrics/build-new-gmock
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Indicator Applet Developers Pending
Review via email: mp+173945@code.launchpad.net

Commit message

Build with new google mock in distro

Description of the change

Build with new google mock in distro

To post a comment you must log in.
93. By Didier Roche-Tolomelli

move the snippet to a separaate cmake module

94. By Didier Roche-Tolomelli

remove include from the module, put it externally

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'cmake/FindGMock.cmake'
2--- cmake/FindGMock.cmake 1970-01-01 00:00:00 +0000
3+++ cmake/FindGMock.cmake 2013-07-10 14:42:27 +0000
4@@ -0,0 +1,10 @@
5+# Build with system gmock and embedded gtest
6+set (GMOCK_INCLUDE_DIR "/usr/include/gmock/include" CACHE PATH "gmock source include directory")
7+set (GMOCK_SOURCE_DIR "/usr/src/gmock" CACHE PATH "gmock source directory")
8+set (GTEST_INCLUDE_DIR "${GMOCK_SOURCE_DIR}/gtest/include" CACHE PATH "gtest source include directory")
9+
10+add_subdirectory(${GMOCK_SOURCE_DIR} "${CMAKE_CURRENT_BINARY_DIR}/gmock")
11+
12+set(GTEST_LIBRARIES gtest)
13+set(GTEST_MAIN_LIBRARIES gtest_main)
14+set(GMOCK_LIBRARIES gmock gmock_main)
15
16=== removed file 'cmake/FindGMock.cmake'
17--- cmake/FindGMock.cmake 2013-06-09 07:57:29 +0000
18+++ cmake/FindGMock.cmake 1970-01-01 00:00:00 +0000
19@@ -1,129 +0,0 @@
20-# Locate the Google C++ Mocking Framework.
21-# (This file is almost an identical copy of the original FindGTest.cmake file,
22-# feel free to use it as it is or modify it for your own needs.)
23-#
24-#
25-# Defines the following variables:
26-#
27-# GMOCK_FOUND - Found the Google Testing framework
28-# GMOCK_INCLUDE_DIRS - Include directories
29-#
30-# Also defines the library variables below as normal
31-# variables. These contain debug/optimized keywords when
32-# a debugging library is found.
33-#
34-# GMOCK_BOTH_LIBRARIES - Both libgmock & libgmock-main
35-# GMOCK_LIBRARIES - libgmock
36-# GMOCK_MAIN_LIBRARIES - libgmock-main
37-#
38-# Accepts the following variables as input:
39-#
40-# GMOCK_ROOT - (as a CMake or environment variable)
41-# The root directory of the gmock install prefix
42-#
43-# GMOCK_MSVC_SEARCH - If compiling with MSVC, this variable can be set to
44-# "MD" or "MT" to enable searching a gmock build tree
45-# (defaults: "MD")
46-#
47-#-----------------------
48-# Example Usage:
49-#
50-# find_package(GMock REQUIRED)
51-# include_directories(${GMOCK_INCLUDE_DIRS})
52-#
53-# add_executable(foo foo.cc)
54-# target_link_libraries(foo ${GMOCK_BOTH_LIBRARIES})
55-#
56-#=============================================================================
57-# This file is released under the MIT licence:
58-#
59-# Copyright (c) 2011 Matej Svec
60-#
61-# Permission is hereby granted, free of charge, to any person obtaining a copy
62-# of this software and associated documentation files (the "Software"), to
63-# deal in the Software without restriction, including without limitation the
64-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
65-# sell copies of the Software, and to permit persons to whom the Software is
66-# furnished to do so, subject to the following conditions:
67-#
68-# The above copyright notice and this permission notice shall be included in
69-# all copies or substantial portions of the Software.
70-#
71-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
72-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
73-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
74-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
75-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
76-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
77-# IN THE SOFTWARE.
78-#=============================================================================
79-
80-
81-function(_gmock_append_debugs _endvar _library)
82- if(${_library} AND ${_library}_DEBUG)
83- set(_output optimized ${${_library}} debug ${${_library}_DEBUG})
84- else()
85- set(_output ${${_library}})
86- endif()
87- set(${_endvar} ${_output} PARENT_SCOPE)
88-endfunction()
89-
90-function(_gmock_find_library _name)
91- find_library(${_name}
92- NAMES ${ARGN}
93- HINTS
94- $ENV{GMOCK_ROOT}
95- ${GMOCK_ROOT}
96- PATH_SUFFIXES ${_gmock_libpath_suffixes}
97- )
98- mark_as_advanced(${_name})
99-endfunction()
100-
101-
102-if(NOT DEFINED GMOCK_MSVC_SEARCH)
103- set(GMOCK_MSVC_SEARCH MD)
104-endif()
105-
106-set(_gmock_libpath_suffixes lib)
107-if(MSVC)
108- if(GMOCK_MSVC_SEARCH STREQUAL "MD")
109- list(APPEND _gmock_libpath_suffixes
110- msvc/gmock-md/Debug
111- msvc/gmock-md/Release)
112- elseif(GMOCK_MSVC_SEARCH STREQUAL "MT")
113- list(APPEND _gmock_libpath_suffixes
114- msvc/gmock/Debug
115- msvc/gmock/Release)
116- endif()
117-endif()
118-
119-find_path(GMOCK_INCLUDE_DIR gmock/gmock.h
120- HINTS
121- $ENV{GMOCK_ROOT}/include
122- ${GMOCK_ROOT}/include
123-)
124-mark_as_advanced(GMOCK_INCLUDE_DIR)
125-
126-if(MSVC AND GMOCK_MSVC_SEARCH STREQUAL "MD")
127- # The provided /MD project files for Google Mock add -md suffixes to the
128- # library names.
129- _gmock_find_library(GMOCK_LIBRARY gmock-md gmock)
130- _gmock_find_library(GMOCK_LIBRARY_DEBUG gmock-mdd gmockd)
131- _gmock_find_library(GMOCK_MAIN_LIBRARY gmock_main-md gmock_main)
132- _gmock_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_main-mdd gmock_maind)
133-else()
134- _gmock_find_library(GMOCK_LIBRARY gmock)
135- _gmock_find_library(GMOCK_LIBRARY_DEBUG gmockd)
136- _gmock_find_library(GMOCK_MAIN_LIBRARY gmock_main)
137- _gmock_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_maind)
138-endif()
139-
140-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMock DEFAULT_MSG GMOCK_LIBRARY GMOCK_INCLUDE_DIR GMOCK_MAIN_LIBRARY)
141-
142-if(GMOCK_FOUND)
143- set(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIR})
144- _gmock_append_debugs(GMOCK_LIBRARIES GMOCK_LIBRARY)
145- _gmock_append_debugs(GMOCK_MAIN_LIBRARIES GMOCK_MAIN_LIBRARY)
146- set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARIES} ${GMOCK_MAIN_LIBRARIES})
147-endif()
148-
149
150=== removed file 'cmake/FindLocalGTest.cmake'
151--- cmake/FindLocalGTest.cmake 2013-06-05 17:25:45 +0000
152+++ cmake/FindLocalGTest.cmake 1970-01-01 00:00:00 +0000
153@@ -1,33 +0,0 @@
154-
155-# Check for google test and build it locally
156-set(
157- GTEST_ROOT_DIR
158- "/usr/src/gtest" # Default value, adjustable by user with e.g., ccmake
159- CACHE
160- PATH
161- "Path to Google test srcs"
162-)
163-
164-set(
165- GTEST_INCLUDE_DIR
166- "/usr/include/gtest"
167- CACHE
168- PATH
169- "Path to Google tests include"
170-)
171-
172-find_path(GTEST_INCLUDE_DIR gtest/gtest.h)
173-if (GTEST_INCLUDE_DIR)
174- set(GTEST_FOUND true)
175- #FIXME - hardcoded is bad!
176- add_subdirectory(
177- ${GTEST_ROOT_DIR}
178- gtest
179- )
180-endif(GTEST_INCLUDE_DIR)
181-
182-set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
183-set(GTEST_LIBRARIES gtest)
184-set(GTEST_MAIN_LIBRARIES gtest_main)
185-set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
186-
187
188=== modified file 'debian/control'
189--- debian/control 2013-07-05 15:38:41 +0000
190+++ debian/control 2013-07-10 14:42:27 +0000
191@@ -4,7 +4,7 @@
192 Build-Depends: cmake,
193 debhelper (>= 9),
194 doxygen,
195- google-mock,
196+ google-mock (>= 1.6.0+svn437),
197 libgtest-dev,
198 qtbase5-dev,
199 libqdjango-dev,
200
201=== modified file 'tests/CMakeLists.txt'
202--- tests/CMakeLists.txt 2013-07-05 15:31:22 +0000
203+++ tests/CMakeLists.txt 2013-07-10 14:42:27 +0000
204@@ -1,15 +1,11 @@
205-
206-set(CMAKE_AUTOMOC OFF)
207-find_package("LocalGTest" REQUIRED)
208-include_directories(${GTEST_INCLUDE_DIRS})
209-set(CMAKE_AUTOMOC ON)
210-
211-find_package("GMock" REQUIRED)
212-include_directories(${GMOCK_INCLUDE_DIRS})
213+include(FindGMock)
214
215 find_package("Valgrind" REQUIRED)
216
217-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
218+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
219+ ${GMOCK_INCLUDE_DIR}
220+ ${GTEST_INCLUDE_DIR}
221+)
222
223 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
224

Subscribers

People subscribed via source and target branches