diff --git a/reactos/tools/rbuild/backend/msvc/msvc.cpp b/reactos/tools/rbuild/backend/msvc/msvc.cpp index 858ee2f2f10..789543129ac 100644 --- a/reactos/tools/rbuild/backend/msvc/msvc.cpp +++ b/reactos/tools/rbuild/backend/msvc/msvc.cpp @@ -384,6 +384,15 @@ MSVCBackend::_clean_project_files ( void ) remove ( SuoFileName ( module ).c_str () ); remove ( VcprojFileName ( module ).c_str () ); + string username = getenv ( "USERNAME" ); + string computername = getenv ( "COMPUTERNAME" ); + string vcproj_file_user = ""; + + if ((computername != "") && (username != "")) + vcproj_file_user = VcprojFileName ( module ) + "." + computername + "." + username + ".user"; + + remove ( vcproj_file_user.c_str () ); + _get_object_files ( module, out ); for ( size_t j = 0; j < out.size (); j++) { diff --git a/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp b/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp index 756f05611d3..6f07c4cbc67 100644 --- a/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp +++ b/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp @@ -70,6 +70,14 @@ MSVCBackend::_generate_vcproj ( const Module& module ) size_t i; string vcproj_file = VcprojFileName(module); + + string username = getenv ( "USERNAME" ); + string computername = getenv ( "COMPUTERNAME" ); + string vcproj_file_user = ""; + + if ((computername != "") && (username != "")) + vcproj_file_user = vcproj_file + "." + computername + "." + username + ".user"; + printf ( "Creating MSVC.NET project: '%s'\n", vcproj_file.c_str() ); FILE* OUT = fopen ( vcproj_file.c_str(), "wb" ); @@ -616,7 +624,57 @@ MSVCBackend::_generate_vcproj ( const Module& module ) fprintf ( OUT, "\t\r\n" ); fprintf ( OUT, "\t\r\n" ); fprintf ( OUT, "\r\n" ); - fclose(OUT); + fclose ( OUT ); + + /* User configuration file */ + if (vcproj_file_user != "") + { + OUT = fopen ( vcproj_file_user.c_str(), "wb" ); + fprintf ( OUT, "\r\n" ); + fprintf ( OUT, "\r\n" ); + + fprintf ( OUT, "\t\r\n" ); + for ( size_t icfg = 0; icfg < m_configurations.size(); icfg++ ) + { + const MSVCConfiguration& cfg = *m_configurations[icfg]; + fprintf ( OUT, "\t\t\r\n" ); + fprintf ( OUT, "\t\t\t\r\n" ); + fprintf ( OUT, "\t\t\r\n" ); + } + fprintf ( OUT, "\t\r\n" ); + fprintf ( OUT, "\r\n" ); + fclose ( OUT ); + } + } std::string @@ -754,6 +812,7 @@ MSVCBackend::_generate_sln ( FILE* OUT ) Module& module = *ProjectNode.modules[i]; std::string vcproj_file = VcprojFileName ( module ); + std::string vcproj_file_user = vcproj_file + "CHRIS-NOTEBOOK.Christoph.user"; _generate_sln_project ( OUT, module, vcproj_file, sln_guid, module.guid, module.non_if_data.libraries ); } _generate_sln_footer ( OUT );