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