- include path to generated idl files for dependant projects

svn path=/trunk/; revision=25089
This commit is contained in:
Johannes Anderwald 2006-12-08 11:50:56 +00:00
parent adfd78e1b8
commit bc5080e521

View file

@ -114,6 +114,7 @@ MSVCBackend::_generate_vcproj ( const Module& module )
// TODO FIXME - need more checks here for 'sys' and possibly 'drv'? // TODO FIXME - need more checks here for 'sys' and possibly 'drv'?
bool console = exe && (module.type == Win32CUI); bool console = exe && (module.type == Win32CUI);
bool include_idl = false;
string vcproj_path = module.GetBasePath(); string vcproj_path = module.GetBasePath();
vector<string> source_files, resource_files, includes, includes_wine, libraries; vector<string> source_files, resource_files, includes, includes_wine, libraries;
@ -155,7 +156,15 @@ MSVCBackend::_generate_vcproj ( const Module& module )
string path = Path::RelativeFromDirectory ( string path = Path::RelativeFromDirectory (
incs[i]->directory, incs[i]->directory,
module.GetBasePath() ); module.GetBasePath() );
if ( module.type != RpcServer && module.type != RpcClient )
{
printf("path %s\n", path.c_str ());
if ( path.find ("/include/reactos/idl") != string::npos)
{
include_idl = true;
continue;
}
}
// add to another list win32api and include/wine directories // add to another list win32api and include/wine directories
if ( !strncmp(incs[i]->directory.c_str(), "include\\ddk", 11 ) || if ( !strncmp(incs[i]->directory.c_str(), "include\\ddk", 11 ) ||
!strncmp(incs[i]->directory.c_str(), "include\\crt", 11 ) || !strncmp(incs[i]->directory.c_str(), "include\\crt", 11 ) ||
@ -272,6 +281,20 @@ MSVCBackend::_generate_vcproj ( const Module& module )
multiple_includes = true; multiple_includes = true;
} }
} }
if ( include_idl )
{
if ( multiple_includes )
fprintf ( OUT, ";" );
if ( configuration.UseConfigurationInPath )
{
fprintf ( OUT, "%s\\include\\reactos\\idl%s\\%s\r\n", intdir.c_str (), vcdir.c_str (), cfg.name.c_str() );
}
else
{
fprintf ( OUT, "%s\\include\\reactos\\idl\r\n", intdir.c_str () );
}
}
if ( cfg.headers == WineHeaders ) if ( cfg.headers == WineHeaders )
{ {
for ( i = 0; i < includes_wine.size(); i++ ) for ( i = 0; i < includes_wine.size(); i++ )