如何为gmock创建CMakeLists.txt以仅配置一次?
我试过了:
ADD_CUSTOM_TARGET(gmock DEPENDS $ {CMAKE_CURRENT_LIST_DIR} /gmock-1.6.0/lib/.libs/libgmock.a COMMAND cd $ {CMAKE_CURRENT_LIST_DIR} /gmock-1.6.0&& ./configure&& make )
但是每次都会执行./configure,即使我真的只需要运行一次。
顺便说一句,我很乐意使用FIND_PACKAGE()等...从长远来看,所以我不需要在更新gtest时进行更改,但此时,我只是想获取它无需每次配置即可构建。
答案 0 :(得分:2)
你想对gtets或gmock源有构建依赖吗?如果是这样,gtest邮件列表上的这个thread可能有所帮助。简而言之,只需使用您的gtest或gmock源代码ADD_DIRECTORY
,然后就可以依赖于那里定义的公共库目标。
答案 1 :(得分:1)
将gmock的configure和make调用拆分为两个单独的custom_targets,不要忘记为每个都添加一个依赖项。
对于configure-target,可能是configure.in或来自gmock的任何其他文件,这使得有必要重新运行configure和configure-target到make-target。
然后make-target应该依赖于你的一个目标,而不是libgmock.a(由make调用生成)。
HTH