检查包是否已经通过Swift包管理器安装,并包含一个文件



我有一组用Swift包管理器和另一个包管理器(我们叫它PMX)解析的c++包。

PMX无法解析其中一个依赖项,但我必须在其上运行CI。是否有可能以某种方式检查包是否正在使用SPM系统编译并包含适当的导入,如果它不使用SPM,那么就不包含这些头文件?

的例子:

#if defined(_WIN32) || defined(_WIN64) || defined(__APPLE__)
#include <MyFile.h>
#endif

我想要一个类似的:

#if defined(_WIN32) || defined(_WIN64) || (defined(__APPLE__) && defined(SWIFT_PACKAGE_MANAGER))
#include <MyFile.h>
#endif

这样的事情可能吗?

找到了解决方案,这个标志存在,它被称为SWIFT_PACKAGE

这个解决方案对我来说非常有效:

#if defined(_WIN32) || defined(_WIN64) || (defined(__APPLE__) && defined(SWIFT_PACKAGE))
#include <MyFile.h>
#endif

提到这个问题的博客文章

相关内容

  • 没有找到相关文章

最新更新