我有一个依赖于 Google 测试库的 CMake 项目。我已经添加了谷歌测试使用ExternalProject_Add和add_subdirectory描述here(https://github.com/google/googletest/tree/master/googletest部分Incorporating Into An Existing CMake Project)。
现在,命令后,add_subdirectory我要检查包括项目的版本gtest和gmock,但是gtest_VERSION和gmock_VERSION变量是不明确的。是否可以通过添加项目版本add_subdirectory?
由于您无法直接访问子目录局部变量,因此我想添加我的变体,使gtest_VERSION变量CACHED可以全局访问:
CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
project()命令包含的 CMake 语言文件或模块。这旨在将自定义代码注入到项目构建中,而无需修改其源代码。
file(
WRITE "${CMAKE_BINARY_DIR}/SetProjectVersion.cmake"
[=[
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION}" CACHE INTERNAL "")
]=]
)
set(
CMAKE_PROJECT_gtest_INCLUDE
"${CMAKE_BINARY_DIR}/SetProjectVersion.cmake"
)
Run Code Online (Sandbox Code Playgroud)覆盖project()命令
cmake_policy(SET CMP0048 NEW)
macro(project)
_project(${ARGN})
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION}" CACHE INTERNAL "")
endmacro()
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |