瀏覽代碼

create_test_sourcelist: Add support for more special characters in paths

Use `cmSystemTools::MakeCidentifier` to robustly create a valid function
name to which the test path maps.

Fixes: #23855
Klaas Speller 3 年之前
父節點
當前提交
f0802b2f50
共有 1 個文件被更改,包括 1 次插入3 次删除
  1. 1 3
      Source/cmCreateTestSourceList.cxx

+ 1 - 3
Source/cmCreateTestSourceList.cxx

@@ -87,9 +87,7 @@ bool cmCreateTestSourceList(std::vector<std::string> const& args,
       func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i);
     }
     cmSystemTools::ConvertToUnixSlashes(func_name);
-    std::replace(func_name.begin(), func_name.end(), ' ', '_');
-    std::replace(func_name.begin(), func_name.end(), '/', '_');
-    std::replace(func_name.begin(), func_name.end(), ':', '_');
+    func_name = cmSystemTools::MakeCidentifier(func_name);
     bool already_declared =
       std::find(tests_func_name.begin(), tests_func_name.end(), func_name) !=
       tests_func_name.end();