summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaTargetGenerator.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-04-13 12:46:57 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-06-07 11:32:52 (GMT)
commitde4da665d3205afa239749c41513a315c3831f51 (patch)
tree02ab204c77efc1a89b620b38c118913c06c125f8 /Source/cmNinjaTargetGenerator.cxx
parentbb879bcf2dd8a65eeb285ef67aa72c16aab01938 (diff)
downloadCMake-de4da665d3205afa239749c41513a315c3831f51.zip
CMake-de4da665d3205afa239749c41513a315c3831f51.tar.gz
CMake-de4da665d3205afa239749c41513a315c3831f51.tar.bz2
Use --sysroot when cross compiling.
As CMAKE_ROOT_FIND_PATH can be a list, a new CMAKE_SYSROOT is introduced, which is never a list. The contents of this variable is passed to supporting compilers as --sysroot. It is also accounted for when processing implicit link directories reported by the compiler, and when generating RPATH information.
Diffstat (limited to 'Source/cmNinjaTargetGenerator.cxx')
-rw-r--r--Source/cmNinjaTargetGenerator.cxx18
1 files changed, 17 insertions, 1 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index ae18a48..43b7baa 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -414,7 +414,23 @@ cmNinjaTargetGenerator
cmSystemTools::ReplaceString(depFlagsStr, "<CMAKE_C_COMPILER>",
mf->GetDefinition("CMAKE_C_COMPILER"));
flags += " " + depFlagsStr;
- }
+
+ if (const char *rootPath =
+ this->Makefile->GetSafeDefinition("CMAKE_SYSROOT"))
+ {
+ if (*rootPath)
+ {
+ if (const char *sysrootFlag =
+ this->Makefile->GetDefinition("CMAKE_SYSROOT_FLAG"))
+ {
+ flags += " ";
+ flags += sysrootFlag;
+ flags += this->LocalGenerator->EscapeForShell(rootPath);
+ flags += " ";
+ }
+ }
+ }
+ }
vars.Flags = flags.c_str();