@@ -106,45 +106,54 @@ ADD_DEFINITIONS(
106
106
)
107
107
108
108
if (LIBSERIAL_ENABLE_TESTING )
109
+ FIND_PATH (GTEST_SRCPATH src/gtest.cc
110
+ /usr/src/googletest/googletest
111
+ /usr/src/googletest
112
+ /usr/src/gtest
113
+ )
114
+ FIND_PACKAGE (GTest )
115
+ SET (GTEST_DEPENDENCIES )
116
+ SET (GTestMain gtest gtest_main )
109
117
SET (GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR} /gtest" )
110
-
111
- EXTERNALPROJECT_ADD (GTestExternal
112
- PREFIX "${GTEST_PREFIX} "
113
- URL https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz
114
- URL_HASH SHA1=bfa4b5131b6eaac06962c251742c96aab3f7aa78
115
- INSTALL_COMMAND ""
116
- )
117
-
118
- SET (LIBPREFIX "${CMAKE_STATIC_LIBRARY_PREFIX} " )
119
- SET (LIBSUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX} " )
120
-
121
- SET (GTEST_LOCATION "${GTEST_PREFIX} /src/GTestExternal-build/lib" )
122
- SET (GTEST_LIBRARY "${GTEST_LOCATION} /${LIBPREFIX} gtest${LIBSUFFIX} " )
123
- SET (GTEST_MAINLIB "${GTEST_LOCATION} /${LIBPREFIX} gtest_main${LIBSUFFIX} " )
124
-
125
- ADD_LIBRARY (GTest IMPORTED STATIC GLOBAL )
126
- SET_TARGET_PROPERTIES (GTest
127
- PROPERTIES
128
- IMPORTED_LOCATION "${GTEST_LIBRARY} "
129
- IMPORTED_LINK_INTERFACE_LIBRARIES "${CMAKE_THREAD_LIBS_INIT} "
130
- )
131
-
132
- ADD_LIBRARY (GTestMain IMPORTED STATIC GLOBAL )
133
- SET_TARGET_PROPERTIES (GTestMain
134
- PROPERTIES
135
- IMPORTED_LOCATION "${GTEST_MAINLIB} "
136
- IMPORTED_LINK_INTERFACE_LIBRARIES "${GTEST_LIBRARY} ;${CMAKE_THREAD_LIBS_INIT} "
137
- )
138
-
139
- ADD_DEPENDENCIES (GTest GTestExternal )
140
- ADD_DEPENDENCIES (GTestMain GTestExternal )
141
-
142
- EXTERNALPROJECT_GET_PROPERTY (GTestExternal source_dir )
143
-
144
- INCLUDE_DIRECTORIES (
145
- BEFORE ${GTEST_PREFIX} /src/GTestExternal/googletest/include
146
- ${Boost_INCLUDE_DIRS}
147
- )
118
+ if (NOT GTEST_FOUND )
119
+ EXTERNALPROJECT_ADD (GTestExternal
120
+ PREFIX "${GTEST_PREFIX} "
121
+ URL https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz
122
+ URL_HASH SHA1=bfa4b5131b6eaac06962c251742c96aab3f7aa78
123
+ INSTALL_COMMAND ""
124
+ )
125
+
126
+ SET (LIBPREFIX "${CMAKE_STATIC_LIBRARY_PREFIX} " )
127
+ SET (LIBSUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX} " )
128
+
129
+ SET (GTEST_LOCATION "${GTEST_PREFIX} /src/GTestExternal-build/lib" )
130
+ SET (GTEST_LIBRARY "${GTEST_LOCATION} /${LIBPREFIX} gtest${LIBSUFFIX} " )
131
+ SET (GTEST_MAINLIB "${GTEST_LOCATION} /${LIBPREFIX} gtest_main${LIBSUFFIX} " )
132
+
133
+ ADD_LIBRARY (GTest IMPORTED STATIC GLOBAL )
134
+ SET_TARGET_PROPERTIES (GTest
135
+ PROPERTIES
136
+ IMPORTED_LOCATION "${GTEST_LIBRARY} "
137
+ IMPORTED_LINK_INTERFACE_LIBRARIES "${CMAKE_THREAD_LIBS_INIT} "
138
+ )
139
+
140
+ ADD_LIBRARY (GTestMain IMPORTED STATIC GLOBAL )
141
+ SET_TARGET_PROPERTIES (GTestMain
142
+ PROPERTIES
143
+ IMPORTED_LOCATION "${GTEST_MAINLIB} "
144
+ IMPORTED_LINK_INTERFACE_LIBRARIES "${GTEST_LIBRARY} ;${CMAKE_THREAD_LIBS_INIT} "
145
+ )
146
+ SET (GTestMain GTestMain )
147
+ ADD_DEPENDENCIES (GTest GTestExternal )
148
+ ADD_DEPENDENCIES (GTestMain GTestExternal )
149
+
150
+ EXTERNALPROJECT_GET_PROPERTY (GTestExternal source_dir )
151
+
152
+ INCLUDE_DIRECTORIES (
153
+ BEFORE ${GTEST_PREFIX} /src/GTestExternal/googletest/include
154
+ ${Boost_INCLUDE_DIRS}
155
+ )
156
+ endif ()
148
157
endif ()
149
158
150
159
SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib )
0 commit comments