7
7
#
8
8
# GMOCK_FOUND - Got the Google Mocking framework
9
9
# GMOCK_INCLUDE_DIRS - GMock include directory
10
- # GTEST_INCLUDE_DIRS - GTest include direcotry
10
+ # GTEST_INCLUDE_DIRS - GTest include direcotry
11
11
#
12
12
# Also defines the library variables below as normal variables
13
13
#
45
45
# Copyright 2000-2016 Kitware, Inc.
46
46
# Copyright 2000-2011 Insight Software Consortium
47
47
# All rights reserved.
48
- #
48
+ #
49
49
# Redistribution and use in source and binary forms, with or without
50
50
# modification, are permitted provided that the following conditions
51
51
# are met:
52
- #
52
+ #
53
53
# * Redistributions of source code must retain the above copyright
54
54
# notice, this list of conditions and the following disclaimer.
55
- #
55
+ #
56
56
# * Redistributions in binary form must reproduce the above copyright
57
57
# notice, this list of conditions and the following disclaimer in the
58
58
# documentation and/or other materials provided with the distribution.
59
- #
59
+ #
60
60
# * Neither the names of Kitware, Inc., the Insight Software Consortium,
61
61
# nor the names of their contributors may be used to endorse or promote
62
62
# products derived from this software without specific prior written
63
63
# permission.
64
- #
64
+ #
65
65
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
66
66
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
67
67
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
73
73
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
74
74
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
75
75
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
76
- #
76
+ #
77
77
# ------------------------------------------------------------------------------
78
- #
78
+ #
79
79
# The above copyright and license notice applies to distributions of
80
80
# CMake in source and binary form. Some source files contain additional
81
81
# notices of original copyright by their contributors; see each source
82
82
# for details. Third-party software packages supplied with CMake under
83
83
# compatible licenses provide their own copyright notices documented in
84
84
# corresponding subdirectories.
85
- #
85
+ #
86
86
# ------------------------------------------------------------------------------
87
- #
87
+ #
88
88
# CMake was initially developed by Kitware with the following sponsorship:
89
- #
89
+ #
90
90
# * National Library of Medicine at the National Institutes of Health
91
91
# as part of the Insight Segmentation and Registration Toolkit (ITK).
92
- #
92
+ #
93
93
# * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
94
94
# Visualization Initiative.
95
- #
95
+ #
96
96
# * National Alliance for Medical Image Computing (NAMIC) is funded by the
97
97
# National Institutes of Health through the NIH Roadmap for Medical Research,
98
98
# Grant U54 EB005149.
99
- #
99
+ #
100
100
# * Kitware, Inc.
101
101
#=============================================================================
102
102
# Thanks to Daniel Blezek <[email protected] > for the GTEST_ADD_TESTS code
@@ -148,21 +148,57 @@ else()
148
148
set (GTEST_CMAKE_ARGS -DBUILD_SHARED_LIBS=ON )
149
149
endif ()
150
150
151
- if ("${GMOCK_SRC_DIR} " STREQUAL "" )
152
- if ("${GMOCK_VER} " STREQUAL "" )
153
- set (GMOCK_VER "1.7.0" )
154
- endif ()
155
- message (STATUS "Downloading GMock / GTest version ${GMOCK_VER} " )
156
- ExternalProject_Add(
157
- gmock
158
- URL "https://googlemock.googlecode.com/files/gmock-${GMOCK_VER} .zip"
159
- PREFIX ${GMOCK_ROOT}
160
- INSTALL_COMMAND ""
161
- LOG_DOWNLOAD ON
162
- LOG_CONFIGURE ON
163
- LOG_BUILD ON
164
- CMAKE_ARGS ${GTEST_CMAKE_ARGS}
165
- )
151
+ if ("${GMOCK_SRC_DIR} " STREQUAL "" )
152
+ if ("${GMOCK_VER} " STREQUAL "1.8.0" )
153
+ set (GMOCK_VER "1.7.0" )
154
+ message ("GMock ver 1.8 not supported -> switching to 1.7" )
155
+ #todo add 1.8 support from single repo of gtest
156
+ endif ()
157
+ message (STATUS "Downloading GMock / GTest version ${GMOCK_VER} " )
158
+ ExternalProject_Add(
159
+ gtest
160
+ GIT_REPOSITORY "https://github.com/google/googletest.git"
161
+ GIT_TAG "release-${GMOCK_VER} "
162
+ PREFIX "${GMOCK_ROOT} "
163
+ INSTALL_COMMAND ""
164
+ LOG_DOWNLOAD ON
165
+ LOG_CONFIGURE ON
166
+ LOG_BUILD ON
167
+ CMAKE_ARGS "${GTEST_CMAKE_ARGS} "
168
+ )
169
+ ExternalProject_Add(
170
+ gmock
171
+ GIT_REPOSITORY "https://github.com/google/googlemock.git"
172
+ GIT_TAG "release-${GMOCK_VER} "
173
+ PREFIX "${GMOCK_ROOT} "
174
+ INSTALL_COMMAND ""
175
+ LOG_DOWNLOAD ON
176
+ LOG_CONFIGURE ON
177
+ LOG_BUILD ON
178
+ CMAKE_ARGS "${GTEST_CMAKE_ARGS} "
179
+ )
180
+
181
+ add_library (libgtest IMPORTED STATIC GLOBAL )
182
+ add_dependencies (libgtest gtest)
183
+ add_library (libgmock IMPORTED STATIC GLOBAL )
184
+ add_dependencies (libgmock gtest)
185
+ add_dependencies (libgmock gmock)
186
+
187
+ ExternalProject_Get_Property(gtest source_dir binary_dir)
188
+ set (GTEST_INCLUDE_DIR "${source_dir} /include" )
189
+ mark_as_advanced (GTEST_INCLUDE_DIR)
190
+ set (GTEST_LIBRARY "${binary_dir} /${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gtest${Suffix} " )
191
+ mark_as_advanced (GTEST_LIBRARY)
192
+ set (GTEST_MAIN_LIBRARY "${binary_dir} /${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gtest_main${Suffix} " )
193
+ mark_as_advanced (GTEST_MAIN_LIBRARY)
194
+ ExternalProject_Get_Property(gmock source_dir binary_dir)
195
+ set (GMOCK_INCLUDE_DIR "${gmock_source_dir} /include" )
196
+ mark_as_advanced (GMOCK_INCLUDE_DIR)
197
+ set (GMOCK_LIBRARY "${binary_dir} /${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gmock${Suffix} " )
198
+ mark_as_advanced (GMOCK_LIBRARY)
199
+ set (GMOCK_MAIN_LIBRARY "${binary_dir} /${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gmock_main${Suffix} " )
200
+ mark_as_advanced (GMOCK_MAIN_LIBRARY)
201
+
166
202
else ()
167
203
Message (STATUS "Building Gmock / Gtest from dir ${GMOCK_SRC_DIR} " )
168
204
ExternalProject_Add(
@@ -175,31 +211,39 @@ else()
175
211
LOG_BUILD ON
176
212
CMAKE_ARGS ${GTEST_CMAKE_ARGS}
177
213
)
178
- endif ()
179
214
180
- add_library (libgmock IMPORTED STATIC GLOBAL )
181
- add_dependencies (libgmock gmock)
182
- ExternalProject_Get_Property(gmock source_dir binary_dir)
215
+ add_library (libgtest IMPORTED STATIC GLOBAL )
216
+ add_dependencies (libgtest gmock)
217
+ add_library (libgmock IMPORTED STATIC GLOBAL )
218
+ add_dependencies (libgmock gmock)
219
+
220
+ ExternalProject_Get_Property(gmock source_dir binary_dir)
221
+ set (GTEST_INCLUDE_DIR "${source_dir} /gtest/include" )
222
+ mark_as_advanced (GTEST_INCLUDE_DIR)
223
+ set (GTEST_LIBRARY "${binary_dir} /gtest/${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gtest${Suffix} " )
224
+ mark_as_advanced (GTEST_LIBRARY)
225
+ set (GTEST_MAIN_LIBRARY "${binary_dir} /gtest/${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gtest_main${Suffix} " )
226
+ mark_as_advanced (GTEST_MAIN_LIBRARY)
227
+ set (GMOCK_INCLUDE_DIR "${gmock_source_dir} /include" )
228
+ mark_as_advanced (GMOCK_INCLUDE_DIR)
229
+ set (GMOCK_LIBRARY "${binary_dir} /${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gmock${Suffix} " )
230
+ mark_as_advanced (GMOCK_LIBRARY)
231
+ set (GMOCK_MAIN_LIBRARY "${binary_dir} /${CMAKE_CFG_INTDIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gmock_main${Suffix} " )
232
+ mark_as_advanced (GMOCK_MAIN_LIBRARY)
233
+ endif ()
183
234
184
- set (GTEST_LIB_DIR "${binary_dir} /gtest/${CMAKE_CFG_INTDIR} " )
185
- set (GMOCK_LIB_DIR "${binary_dir} /${CMAKE_CFG_INTDIR} " )
186
235
236
+ set_target_properties (libgtest PROPERTIES
237
+ "IMPORTED_LOCATION" "${GTEST_LIBRARY} "
238
+ "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT} "
239
+ "INTERFACE_INCLUDE_DIRECTORIES" "${GTEST_INCLUDE_DIR} "
240
+ )
187
241
set_target_properties (libgmock PROPERTIES
188
- "IMPORTED_LOCATION" "${GMOCK_LIB_DIR} / ${CMAKE_FIND_LIBRARY_PREFIXES} gmock. ${Suffix } "
242
+ "IMPORTED_LOCATION" "${GMOCK_LIBARY } "
189
243
"IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT} "
190
- "INTERFACE_INCLUDE_DIRECTORIES" "${source_dir} /include "
244
+ "INTERFACE_INCLUDE_DIRECTORIES" "${GMOCK_INCLUDE_DIR} "
191
245
)
192
246
193
- set (GMOCK_INCLUDE_DIR ${source_dir} /include )
194
- mark_as_advanced (GMOCK_INCLUDE_DIR)
195
- set (GTEST_INCLUDE_DIR ${source_dir} /gtest/include )
196
- mark_as_advanced (GTEST_INCLUDE_DIR)
197
-
198
- set (GTEST_LIBRARY "${GTEST_LIB_DIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gtest${Suffix} " )
199
- set (GTEST_MAIN_LIBRARY "${GTEST_LIB_DIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gtest_main${Suffix} " )
200
- set (GMOCK_LIBRARY "${GMOCK_LIB_DIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gmock${Suffix} " )
201
- set (GMOCK_MAIN_LIBRARY "${GMOCK_LIB_DIR} /${CMAKE_FIND_LIBRARY_PREFIXES} gmock_main${Suffix} " )
202
-
203
247
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMock DEFAULT_MSG GMOCK_LIBRARY GMOCK_INCLUDE_DIR GMOCK_MAIN_LIBRARY)
204
248
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
205
249
@@ -223,3 +267,4 @@ if(GTEST_FOUND)
223
267
Message (STATUS "GTest libs: ${GTEST_BOTH_LIBRARIES} " )
224
268
endif ()
225
269
endif ()
270
+
0 commit comments