1

我正在尝试使用 CPack 来打包我的项目,但我遇到了我的依赖项之一的问题。

首先,我试图通过依赖于目标和使用target_link_libraries. 我的项目使用CMocka库作为依赖项。我已将 CMocka 存储库添加为 git 子模块,并且add_subdirectory(cmocka_dir)在我自己的CMakeLists.txt文件中。

我还使用带有TGZ生成器的 CPack 将我的所有文件收集到一个存档中。我只是在我set(CPACK_GENERATOR TGZ)的. 我发现这可以解决所有问题,也就是说,直到我开始使用 CMocka。CMocka在它的root中设置了很多变量。我相信,当我在自己的项目中包含 CMocka 的子目录时,这些变量会在我的 CMake 范围内传播,并且会干扰我的打包过程。include(CPack)CMakeLists.txtCPACK_xxx CMakeLists.txt

我的问题是如何解决这个问题。具体来说:

  1. 有没有办法在自己的环境中隔离 CMocka,或者以其他方式防止它破坏我的包装过程?
  2. 使用 CMocka 包含我做错了add_subdirectory吗?
  3. 我只是通过设置CPACK_GENERATOR和做错了 CPackinclude(CPack)吗?

谢谢你的想法。

4

0 回答 0