84 std::filesystem::path path;
88 std::vector<Candidate> candidates;
91 if (
const char* env = std::getenv(
"ENTROPIC_DATA_DIR"); env && *env) {
92 candidates.push_back({env,
"ENTROPIC_DATA_DIR env"});
97 candidates.push_back({config.
config_dir /
"data",
"config.config_dir"});
102 candidates.push_back({from_lib,
"binary-relative (dladdr)"});
106 candidates.push_back({CONFIG_ENTROPIC_DATA_DIR,
"compile-time install path"});
107 candidates.push_back({CONFIG_ENTROPIC_SOURCE_DATA_DIR,
"source tree (dev fallback)"});
108 candidates.push_back({
"data",
"CWD-relative (dev fallback)"});
110 std::filesystem::path result;
111 for (
const auto& [path, label] : candidates) {
112 if (std::filesystem::is_directory(path)) {
113 s_log->info(
"Data dir from {}: {}", label, path.string());
119 if (result.empty()) {
120 s_log->warn(
"No data directory found — bundled files unavailable");