]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
feat: Expand environment variables in debug_dir configuration (#1307)
authorcupu <cupu@users.noreply.github.com>
Sun, 2 Jul 2023 08:34:13 +0000 (10:34 +0200)
committerGitHub <noreply@github.com>
Sun, 2 Jul 2023 08:34:13 +0000 (10:34 +0200)
src/Config.cpp
unittest/test_Config.cpp

index 982134e1d99b7b6a0bf287661fb3d5394f404c68..7fea4a62dc668b2e5624b7e9c7d68dc2461a68db 100644 (file)
@@ -981,7 +981,7 @@ Config::set_item(const std::string& key,
     break;
 
   case ConfigItem::debug_dir:
-    m_debug_dir = value;
+    m_debug_dir = Util::expand_environment_variables(value);
     break;
 
   case ConfigItem::depend_mode:
index 4a0b7b411e74dac1d218f37e02d833918e71c5e4..6b97e4e7e75de46726feb296905d5c75258cba0a 100644 (file)
@@ -109,6 +109,7 @@ TEST_CASE("Config::update_from_file")
     "compression=false\n"
     "compression_level= 2\n"
     "cpp_extension = .foo\n"
+    "debug_dir = $USER$/${USER}/.ccache_debug\n"
     "depend_mode = true\n"
     "direct_mode = false\n"
     "disable = true\n"
@@ -150,6 +151,7 @@ TEST_CASE("Config::update_from_file")
   CHECK_FALSE(config.compression());
   CHECK(config.compression_level() == 2);
   CHECK(config.cpp_extension() == ".foo");
+  CHECK(config.debug_dir() == FMT("{0}$/{0}/.ccache_debug", user));
   CHECK(config.depend_mode());
   CHECK_FALSE(config.direct_mode());
   CHECK(config.disable());