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

Subscribers

People subscribed via source and target branches