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
This commit is contained in:
Klaas Speller
2022-08-17 13:42:32 +02:00
committed by Brad King
parent ca2f19ca9c
commit f0802b2f50
+1 -3
View File
@@ -87,9 +87,7 @@ bool cmCreateTestSourceList(std::vector<std::string> const& args,
func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i); func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i);
} }
cmSystemTools::ConvertToUnixSlashes(func_name); cmSystemTools::ConvertToUnixSlashes(func_name);
std::replace(func_name.begin(), func_name.end(), ' ', '_'); func_name = cmSystemTools::MakeCidentifier(func_name);
std::replace(func_name.begin(), func_name.end(), '/', '_');
std::replace(func_name.begin(), func_name.end(), ':', '_');
bool already_declared = bool already_declared =
std::find(tests_func_name.begin(), tests_func_name.end(), func_name) != std::find(tests_func_name.begin(), tests_func_name.end(), func_name) !=
tests_func_name.end(); tests_func_name.end();