Ver Fonte

cmTarget: Track internally whether platform is Android

Add an IsAndroid member to save whether CMAKE_SYSTEM_NAME is "Android".
Brad King há 11 anos atrás
pai
commit
16569abfa8
2 ficheiros alterados com 7 adições e 0 exclusões
  1. 6 0
      Source/cmTarget.cxx
  2. 1 0
      Source/cmTarget.h

+ 6 - 0
Source/cmTarget.cxx

@@ -257,6 +257,7 @@ cmTarget::cmTarget()
 #endif
   this->HaveInstallRule = false;
   this->DLLPlatform = false;
+  this->IsAndroid = false;
   this->IsApple = false;
   this->IsImportedTarget = false;
   this->BuildInterfaceIncludesAppended = false;
@@ -312,6 +313,11 @@ void cmTarget::SetMakefile(cmMakefile* mf)
                        this->Makefile->IsOn("CYGWIN") ||
                        this->Makefile->IsOn("MINGW"));
 
+  // Check whether we are targeting an Android platform.
+  this->IsAndroid =
+    strcmp(this->Makefile->GetSafeDefinition("CMAKE_SYSTEM_NAME"),
+           "Android") == 0;
+
   // Check whether we are targeting an Apple platform.
   this->IsApple = this->Makefile->IsOn("APPLE");
 

+ 1 - 0
Source/cmTarget.h

@@ -755,6 +755,7 @@ private:
   mutable cmPropertyMap Properties;
   LinkLibraryVectorType OriginalLinkLibraries;
   bool DLLPlatform;
+  bool IsAndroid;
   bool IsApple;
   bool IsImportedTarget;
   mutable bool DebugIncludesDone;