如何使用介子设置谷歌测试?
How to set up googletest wtih meson?
我有一个 git 存储库,其中包含一些 C++ 测试代码,我想使用 Googletest to write some tests. I used git submodule
to get it as part of the above repository. I want to use meson 作为构建引擎。到目前为止,还不错。
但是,我无法理解如何构建介子和 link 我使用 googletest 子模块进行的测试……我应该使用包装吗?外部依赖?什么?
请注意 meson supports dependencies on packaged versions of gtest/gmock 但这不是我想要的,因为 gtest/gmock 的开发人员反对它。另外,我想要最前沿的技术,因为我疯了⸮
此外,我不认为忍者在这里发挥作用,但我提到我使用它以防万一。
我尝试使用 the wrap for gtest 和
gtest_proj = subproject('gtest')
gtest_dep = gtest_proj.get_variable('gtest_dep')
gmock_dep = gtest_proj.get_variable('gmock_dep')
在 meson.build
中。这会构建一个 googletest 的本地副本,然后可以像这样使用它:
tests_src = [
'tests/gtest-all.cpp',
'tests/test_MyClass.cpp',
]
e = executable(
'gtest-all',
tests_src,
dependencies : [
gtest_dep,
gmock_dep],
link_with : libshield,
)
test('gtest tests', e)
请注意 libshield
是根据我的(玩具)代码创建的共享库,因此我可以 link 使用它。
如果您想使用一个不是介子项目的项目,您需要在 wrapDB 中找到该项目:
meson wrap search gtest
如果该命令为您提供了包装的名称,那么您需要将其安装到您的项目中:
mkdir -p subprojects
meson wrap install gtest
然后您应该重新配置您的项目,meson 将为您下载该项目:
meson --reconfigure path/to/build/dir
您可以在 wrap tool 的文档中找到其他信息。
--重新配置 - 自 0.49.0
起支持
我有一个 git 存储库,其中包含一些 C++ 测试代码,我想使用 Googletest to write some tests. I used git submodule
to get it as part of the above repository. I want to use meson 作为构建引擎。到目前为止,还不错。
但是,我无法理解如何构建介子和 link 我使用 googletest 子模块进行的测试……我应该使用包装吗?外部依赖?什么?
请注意 meson supports dependencies on packaged versions of gtest/gmock 但这不是我想要的,因为 gtest/gmock 的开发人员反对它。另外,我想要最前沿的技术,因为我疯了⸮
此外,我不认为忍者在这里发挥作用,但我提到我使用它以防万一。
我尝试使用 the wrap for gtest 和
gtest_proj = subproject('gtest')
gtest_dep = gtest_proj.get_variable('gtest_dep')
gmock_dep = gtest_proj.get_variable('gmock_dep')
在 meson.build
中。这会构建一个 googletest 的本地副本,然后可以像这样使用它:
tests_src = [
'tests/gtest-all.cpp',
'tests/test_MyClass.cpp',
]
e = executable(
'gtest-all',
tests_src,
dependencies : [
gtest_dep,
gmock_dep],
link_with : libshield,
)
test('gtest tests', e)
请注意 libshield
是根据我的(玩具)代码创建的共享库,因此我可以 link 使用它。
如果您想使用一个不是介子项目的项目,您需要在 wrapDB 中找到该项目:
meson wrap search gtest
如果该命令为您提供了包装的名称,那么您需要将其安装到您的项目中:
mkdir -p subprojects
meson wrap install gtest
然后您应该重新配置您的项目,meson 将为您下载该项目:
meson --reconfigure path/to/build/dir
您可以在 wrap tool 的文档中找到其他信息。
--重新配置 - 自 0.49.0
起支持