在find_package之后未设置GTEST_INCLUDE_DIRS(GTEST REQUIRED)



我在Mac Catalina上运行CMake 3.20.2。我已经构建了gtest,并用sudo make install将其安装在系统上。gtest存在于/usr/include中。但当我运行cmake线路时:find_package(需要GTest(GTEST_FOUND为true,但未设置GTEST_INCLUDE_DIRS。GTEST_INCLUDE_DIRS在什么情况下被find_package调用设置或不设置?CMake文档表示,这些应该设置为结果变量,但似乎只设置了一个。

CmakeLists.txt中添加include_directories("GTEST_INCLUDE_DIRS")

显然,OP在这里找到了答案
总之,这是一个向后兼容性问题,似乎只发生在Mac上。调用find_package(GTest REQUIRED)后,未正确设置GTEST_INCLUDE_DIRS变量。如果您可以编辑CMakeLists.txt,建议使用target_link_libraries(GTest::gtest GTest::gtest_main)而不是include_directories(${GTEST_INCLUDE_DIRS})

相关内容

  • 没有找到相关文章

最新更新