diff --git a/test/meson.build b/test/meson.build
index fbb8e01..f358414 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,20 +1,20 @@
-gtest = dependency('gtest', main: true, disabler: true, required: false)
-gmock = dependency('gmock', disabler: true, required: false)
-if not gtest.found() or not gmock.found()
+gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
+gmock_dep = dependency('gmock', disabler: true, required: false)
+if not gtest_dep.found() or not gmock_dep.found()
+  gtest_opts = import('cmake').subproject_options()
+  gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
   gtest_proj = import('cmake').subproject(
     'googletest',
-    cmake_options: [
-      '-DCMAKE_CXX_FLAGS=-Wno-pedantic',
-    ],
+    options: gtest_opts,
     required: false)
   if gtest_proj.found()
-    gtest = declare_dependency(
+    gtest_dep = declare_dependency(
       dependencies: [
         dependency('threads'),
         gtest_proj.dependency('gtest'),
         gtest_proj.dependency('gtest_main'),
       ])
-    gmock = gtest_proj.dependency('gmock')
+    gmock_dep = gtest_proj.dependency('gmock')
   else
     assert(not build_tests.enabled(), 'Googletest is required')
   endif
@@ -31,7 +31,10 @@
 ]
 
 foreach t : tests
-  test(t, executable(t.underscorify(), t + '.cpp',
-                     implicit_include_directories: false,
-                     dependencies: [gpioplus, gtest, gmock]))
+  test(
+    t,
+    executable(
+      t.underscorify(), t + '.cpp',
+      implicit_include_directories: false,
+      dependencies: [gpioplus_dep, gtest_dep, gmock_dep]))
 endforeach
