xcode 可以将编译标志从依赖的目标传递到依赖的目标吗?



这是我在构建Mac应用程序时遇到的情况。

该项目有三个目标:目标 A 由 UI src 代码组成并生成最终应用程序;目标 B

生成执行一些单元测试的命令行测试程序(我没有使用自动生成的 XXXTests 目标);目标 C 由后端 src 代码组成,并为目标 A 和目标 B 生成一个静态库以链接到。

问题在于目标 B 需要使用标志"-DZS_TEST"构建目标 C,但目标 A 需要构建没有该标志的目标 C。那么,如何设置 xcode 项目/目标设置,以便在从构建目标 A 和目标 B 切换时不必更改任何设置?因为更改构建设置会导致 git 报告未暂存的文件,这感觉没有必要,因为我只想构建一个不同的目标。

我想知道 xcode 是否可以将标志从依赖目标转发到依赖目标,然后我可以让 B 将"-DZS_TEST=1"转发到 C,让目标 A 将"-DZS_TEST=0"转发到 C。

或者有更好的方法将项目划分为不同的目标?

我用谷歌搜索并找到了许多与xcode构建设置相关的文章,但它们并没有像这个项目那样分享具体的需求。所以提前感谢。

我最终使用了两个内核目标,即目标 c1 和 c2,它们使用相同的源代码但不同的编译标志和 c1 构建,定义了ZS_TEST但 c2 没有。然后目标 A 和 B 取决于他们需要的任何内容。

我所做的是设置一个单独的配置,称之为"测试",比如说,作为标准调试配置的副本。如有必要,将其他标志放入目标 C 和 B 中的测试配置中。

编辑目标 B 的方案,并让 Run 生成测试配置。配置将传递给依赖项,因此构建了它们的测试配置,并且一切应该可以正常工作。

相关内容

  • 没有找到相关文章

最新更新