EnhancementHelp wantedQuestion
Repository metrics
- Stars
- (5,666 stars)
- PR merge metrics
- (Avg merge 11d 20h) (7 merged PRs in 30d)
Description
I noticed is that headers are very Xcode specific. What I mean is that the relative paths are not correct. In Xcode, this doesn't matter as it mangles the include path. But for external build systems, it won't work.
When the code writes #include "path/file.hpp" that path/file.hpp should resolve relative to the current path. But I see lots of paths that are not relative.
e.g. the following include:
Should really be:
#include "../Layers/MVKLayers.hpp"
If you don't believe me, try running cpp on the raw file:
^_^ > cpp vulkan.mm
# 1 "vulkan.mm"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 360 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "vulkan.mm" 2
# 17 "vulkan.mm"
vulkan.mm:20:10: fatal error: 'MVKLayers.h' file not found
#include "MVKLayers.h"
^~~~~~~~~~~~~
If I fix it:
x_x > cpp vulkan.mm
# 1 "vulkan.mm"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 360 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "vulkan.mm" 2
# 17 "vulkan.mm"
# 1 "./../Layers/MVKLayers.h" 1
# 17 "./../Layers/MVKLayers.h"
In file included from vulkan.mm:20:
./../Layers/MVKLayers.h:21:10: fatal error: 'MVKBaseObject.h' file not found
#include "MVKBaseObject.h"
and so on.