cmake ExternalProject_Add项目在依赖它的目标之前没有构建

时间:2018-01-07 22:19:46

标签: cmake ninja

我有

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)

但显然说明可执行文件sometestgoogletest的依赖性实际上并不需要在ExternalProject_Add的构建命令之前调用sometest的构建命令。

如果我运行ninja,则会抱怨它无法找到libgtest_main.a。但是如果你打电话给ninja googletest && ninja sometest它就可以了。

那么,您如何告诉cmake sometest依赖于googletest的构建命令被调用?

0 个答案:

没有答案