我有
ExternalProjectAdd(googletest ......)
...
add_library(gtest_main UNKNOWN IMPORTED)
set_target_properties(gtest_main PROPERTIES
"IMPORTED_LOCATION" ${binary_dir}/googlemock/gtest/libgtest_main.a
)
...
add_executable(sometest somefile.cpp)
target_link_library(sometest gtest_main)
add_dependencies(sometest googletest)
但显然说明可执行文件sometest
对googletest
的依赖性实际上并不需要在ExternalProject_Add
的构建命令之前调用sometest
的构建命令。
如果我运行ninja
,则会抱怨它无法找到libgtest_main.a
。但是如果你打电话给ninja googletest && ninja sometest
它就可以了。
那么,您如何告诉cmake
sometest
依赖于googletest
的构建命令被调用?