summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.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/cmMakefileTargetGenerator.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/cmMakefileTargetGenerator.cxx')
-rw-r--r--Source/cmMakefileTargetGenerator.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 10b7849..f31b1a8 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -686,6 +686,23 @@ cmMakefileTargetGenerator
cmLocalGenerator::START_OUTPUT,
cmLocalGenerator::SHELL);
vars.ObjectDir = objectDir.c_str();
+
+ 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();
std::string definesString = "$(";