22 static const std::string& get_clang_resource_dir();
24 static const std::vector<std::string>& get_system_includes();
26 static const std::vector<std::string>& get_system_libraries();
28 static const std::string& find_dep_library(
const std::string& library_name,
const std::string& prefix =
"");
30 static const std::string& get_dep_includes(
const std::string& library_name);
32#ifdef MAYAFLUX_PLATFORM_MACOS
33 static std::string get_macos_sdk_path();
36 static std::string exec_command(
const char*
cmd);
38 static void trim_output(std::string& str);
41 static std::string format_library_name(
const std::string& library_name, LibraryType type = LibraryType::Static);
43 static std::vector<std::string> get_clang_includes();
45 static std::vector<std::string> parse_clang_search_paths(
const std::string& output);
47 static std::string find_latest_sdk_version(
const fs::path& base);
49#ifdef MAYAFLUX_PLATFORM_WINDOWS
51 static std::string find_latest_vs_installation();
53 static std::string find_latest_msvc_version(
const fs::path& msvc_base);
55 static std::vector<std::string> get_msvc_includes();
57 static std::vector<std::string> get_msvc_libraries();
59 static std::vector<std::string> get_windows_sdk_includes();
61 static std::vector<std::string> get_windows_sdk_libraries();
63 static std::vector<std::string> probe_sdk_paths(
const std::string& subpath,
64 const std::vector<std::string>& subdirs,
65 const std::string& arch =
"");
68 static std::vector<std::string> get_unix_library_paths();
69#ifdef MAYAFLUX_PLATFORM_MACOS
70 static std::string get_xcode_system_includes();