Merge ~mitya57/compiz:googletest into compiz:master

Proposed by Dmitry Shachnev
Status: Merged
Approved by: Dmitry Shachnev
Approved revision: 902dd5c4c4cfb6c431e8416fc4cf58fcd8fd8a96
Merged at revision: f83829bee579f939a1835bd785deb1f912548551
Proposed branch: ~mitya57/compiz:googletest
Merge into: compiz:master
Diff against target: 71 lines (+8/-38)
2 files modified
cmake/GoogleTest.cmake (+6/-37)
debian/control (+2/-1)
Reviewer Review Type Date Requested Status
Alberts Muktupāvels Approve
Compiz Maintainers Pending
Review via email: mp+375657@code.launchpad.net

Commit message

Fix build with latest googletest, by using static libraries shipped by distro.

Description of the change

There is no need to compile googletest ourselves, when Ubuntu has pre-built binaries.

One may argue that this will work only on Debian/Ubuntu, but the previous code looking for source in /usr/src/googletest will also work only there. Anyway, if someone wants to re-introduce old code later, I will happily accept patches.

To post a comment you must log in.
Revision history for this message
Alberts Muktupāvels (muktupavels) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/cmake/GoogleTest.cmake b/cmake/GoogleTest.cmake
2index 3f9d459..14efaca 100644
3--- a/cmake/GoogleTest.cmake
4+++ b/cmake/GoogleTest.cmake
5@@ -1,46 +1,15 @@
6-set (GOOGLETEST_DIR "/usr/src/googletest" CACHE PATH "Path to Google Test")
7+find_library (GTEST_LIBRARY gtest)
8+find_library (GTEST_MAIN_LIBRARY gtest_main)
9+find_library (GMOCK_LIBRARY gmock)
10+find_library (GMOCK_MAIN_LIBRARY gmock_main)
11
12-if (EXISTS "${GOOGLETEST_DIR}")
13+if (GTEST_LIBRARY AND GTEST_MAIN_LIBRARY AND GMOCK_LIBRARY AND GMOCK_MAIN_LIBRARY)
14
15 find_package (Threads REQUIRED)
16
17- set (GMOCK_SRC_DIR "${GOOGLETEST_DIR}/googlemock" CACHE PATH "Path to Google Mock Sources")
18- set (GMOCK_INCLUDE_DIR "${GMOCK_SRC_DIR}/include" CACHE PATH "Path to Google Mock Headers")
19- set (GTEST_INCLUDE_DIR "${GOOGLETEST_DIR}/googletest/include" CACHE PATH "Path to Google Test Headers")
20- set (GMOCK_BIN_DIR "${CMAKE_BINARY_DIR}/gmock")
21-
22- include (ExternalProject)
23- ExternalProject_Add (GMock
24- SOURCE_DIR "${GMOCK_SRC_DIR}"
25- BINARY_DIR "${GMOCK_BIN_DIR}"
26- STAMP_DIR "${GMOCK_BIN_DIR}/stamp"
27- TMP_DIR "${GMOCK_BIN_DIR}/tmp"
28- INSTALL_COMMAND "")
29-
30- add_library (gtest INTERFACE)
31- target_include_directories (gtest INTERFACE ${GTEST_INCLUDE_DIR})
32- target_link_libraries (gtest INTERFACE "${GMOCK_BIN_DIR}/gtest/libgtest.a" ${CMAKE_THREAD_LIBS_INIT})
33- add_dependencies (gtest GMock)
34-
35- add_library (gtest_main INTERFACE)
36- target_include_directories (gtest_main INTERFACE ${GTEST_INCLUDE_DIR})
37- target_link_libraries (gtest_main INTERFACE "${GMOCK_BIN_DIR}/gtest/libgtest_main.a" gtest)
38-
39- add_library (gmock INTERFACE)
40- target_include_directories (gmock INTERFACE ${GMOCK_INCLUDE_DIR})
41- target_link_libraries (gmock INTERFACE "${GMOCK_BIN_DIR}/libgmock.a" gtest)
42-
43- add_library (gmock_main INTERFACE)
44- target_include_directories (gmock_main INTERFACE ${GMOCK_INCLUDE_DIR})
45- target_link_libraries (gmock_main INTERFACE "${GMOCK_BIN_DIR}/libgmock_main.a" gmock)
46-
47- set (GMOCK_LIBRARY gmock)
48- set (GMOCK_MAIN_LIBRARY gmock_main)
49- set (GTEST_BOTH_LIBRARIES gtest gtest_main)
50+ set (GTEST_BOTH_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
51
52 add_definitions (-DGTEST_USE_OWN_TR1_TUPLE=0)
53- include_directories (${GMOCK_INCLUDE_DIR}
54- ${GTEST_INCLUDE_DIR})
55
56 set (GTEST_FOUND TRUE)
57 set (GOOGLE_TEST_AND_MOCK_FOUND TRUE)
58diff --git a/debian/control b/debian/control
59index 2161815..a66d8e1 100644
60--- a/debian/control
61+++ b/debian/control
62@@ -8,7 +8,8 @@ Build-Depends: cmake (>= 3.10.0),
63 debhelper (>= 9~),
64 dh-python,
65 dh-translations,
66- googletest (>= 1.8.0),
67+ libgtest-dev (>= 1.8.0),
68+ libgmock-dev (>= 1.8.0),
69 intltool,
70 libtool,
71 pkg-config (>= 0.29.1),

Subscribers

People subscribed via source and target branches