55{
56 static std::vector<std::string> includes;
57
58 if (includes.empty()) {
59#ifdef MAYAFLUX_PLATFORM_WINDOWS
60 auto msvc_includes = get_msvc_includes();
61 includes.insert(includes.end(), msvc_includes.begin(), msvc_includes.end());
62
63 auto sdk_includes = get_windows_sdk_includes();
64 includes.insert(includes.end(), sdk_includes.begin(), sdk_includes.end());
65#endif
66
68 includes.insert(includes.end(), clang_includes.begin(), clang_includes.end());
69
70#ifdef MAYAFLUX_PLATFORM_MACOS
71 std::string xcode_includes = SystemConfig::get_xcode_system_includes();
72 if (!xcode_includes.empty()) {
73 includes.push_back(xcode_includes);
74 }
75
76 std::string homebrew_includes = "/opt/homebrew/include";
77 if (fs::exists(homebrew_includes)) {
78 includes.push_back(homebrew_includes);
79 }
80#endif
81 }
82
83 return includes;
84}