diff --git a/Help/release/dev/create_test_sourcelist-full-filepath.rst b/Help/release/dev/create_test_sourcelist-full-filepath.rst new file mode 100644 index 0000000000..1afa82c45f --- /dev/null +++ b/Help/release/dev/create_test_sourcelist-full-filepath.rst @@ -0,0 +1,5 @@ +create_test_sourcelist-full-filepath +------------------------------------ + +* The :command:`create_test_sourcelist` command now provides a full path to + the generated driver source file. diff --git a/Source/cmCreateTestSourceList.cxx b/Source/cmCreateTestSourceList.cxx index 75c25e3d56..9edbafe353 100644 --- a/Source/cmCreateTestSourceList.cxx +++ b/Source/cmCreateTestSourceList.cxx @@ -81,8 +81,8 @@ bool cmCreateTestSourceList(std::vector const& args, } std::string func_name; if (!cmSystemTools::GetFilenamePath(*i).empty()) { - func_name = cmSystemTools::GetFilenamePath(*i) + "/" + - cmSystemTools::GetFilenameWithoutLastExtension(*i); + func_name = cmStrCat(cmSystemTools::GetFilenamePath(*i), '/', + cmSystemTools::GetFilenameWithoutLastExtension(*i)); } else { func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i); } @@ -93,9 +93,7 @@ bool cmCreateTestSourceList(std::vector const& args, tests_func_name.end(); tests_func_name.push_back(func_name); if (!already_declared) { - forwardDeclareCode += "int "; - forwardDeclareCode += func_name; - forwardDeclareCode += "(int, char*[]);\n"; + forwardDeclareCode += cmStrCat("int ", func_name, "(int, char*[]);\n"); } } @@ -105,8 +103,8 @@ bool cmCreateTestSourceList(std::vector const& args, ++i, ++j) { std::string func_name; if (!cmSystemTools::GetFilenamePath(*i).empty()) { - func_name = cmSystemTools::GetFilenamePath(*i) + "/" + - cmSystemTools::GetFilenameWithoutLastExtension(*i); + func_name = cmStrCat(cmSystemTools::GetFilenamePath(*i), '/', + cmSystemTools::GetFilenameWithoutLastExtension(*i)); } else { func_name = cmSystemTools::GetFilenameWithoutLastExtension(*i); } @@ -137,12 +135,12 @@ bool cmCreateTestSourceList(std::vector const& args, { cmSourceFile* sf = mf.GetOrCreateSource(driver); sf->SetProperty("ABSTRACT", "0"); - sourceListValue = args[1]; + sourceListValue = driver; } for (i = testsBegin; i != tests.end(); ++i) { cmSourceFile* sf = mf.GetOrCreateSource(*i); sf->SetProperty("ABSTRACT", "0"); - sourceListValue += ";"; + sourceListValue += ';'; sourceListValue += *i; }