mirror of
https://github.com/reactos/CMake.git
synced 2025-02-02 10:02:44 +00:00
BUG: fix for bug 116 platform files can now specify directories that should not be added by CMAKE
This commit is contained in:
parent
e539cf9f7c
commit
a6b60841db
@ -25,3 +25,5 @@ SET(CMAKE_C_CREATE_SHARED_MODULE
|
||||
"<CMAKE_C_COMPILER> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
|
||||
|
||||
INCLUDE(${CMAKE_ROOT}/Modules/Platform/gcc.cmake)
|
||||
|
||||
SET(CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES /usr/local/include)
|
||||
|
@ -2487,13 +2487,26 @@ void cmLocalUnixMakefileGenerator::OutputMakeVariables(std::ostream& fout)
|
||||
std::vector<std::string>::iterator i;
|
||||
fout << "-I" <<
|
||||
this->ConvertToOutputForExisting(m_Makefile->GetStartDirectory()) << " ";
|
||||
std::map<cmStdString, cmStdString> implicitIncludes;
|
||||
implicitIncludes["/usr/include"] = "/usr/include";
|
||||
if(m_Makefile->GetDefinition("CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES"))
|
||||
{
|
||||
std::string arg = m_Makefile->GetDefinition("CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES");
|
||||
std::vector<std::string> implicitIncludeVec;
|
||||
cmSystemTools::ExpandListArgument(arg, implicitIncludeVec);
|
||||
for(int k =0; k < implicitIncludeVec.size(); k++)
|
||||
{
|
||||
implicitIncludes[implicitIncludeVec[k]] = implicitIncludeVec[k];
|
||||
}
|
||||
}
|
||||
|
||||
for(i = includes.begin(); i != includes.end(); ++i)
|
||||
{
|
||||
std::string include = *i;
|
||||
// Don't output a -I for the standard include path "/usr/include".
|
||||
// This can cause problems with certain standard library
|
||||
// implementations because the wrong headers may be found first.
|
||||
if(include != "/usr/include")
|
||||
if(implicitIncludes.find(include) == implicitIncludes.end())
|
||||
{
|
||||
fout << "-I" << this->ConvertToOutputForExisting(i->c_str()) << " ";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user