需要对CMAKE_NO_SYSTEM_FROM_IMPORTED属性进行说明

时间:2019-02-22 05:05:13

标签: cmake

许多开源项目包括一组带有CMake的SYSTEM属性的目录。这样,这些头文件通过-isystem选项提供给gcc:

include_directories(SYSTEM ${pybind11_INCLUDE_DIRS})

使用-isystem包含C ++头在AIX上存在问题,因为默认情况下AIX上的gcc为extern "C"选项中包含的头添加了隐式-isystem。这会在AIX上导致templates in extern "C"错误。 (更多详细信息,请访问here

因此,我们试图查看我们是否可以使用任何CMake功能来将-I选项用于这些C ++头,尽管AIX的SYSTEM选项中包含了这些选项。否则,我们需要仅在AIX中更改这些项目中的许多include_directories()调用。

我遇到了CMAKE_NO_SYSTEM_FROM_IMPORTED属性,该属性为目标设置了NO_SYSTEM_FROM_IMPORTED的默认值。但是,设置它不会覆盖SYSTEM中设置的include_directories()属性。

请让我知道我们是否正确使用了CMAKE_NO_SYSTEM_FROM_IMPORTED,是否还有其他CMake选项可以实现以上目标。

0 个答案:

没有答案
相关问题