[Cmake-commits] CMake branch, next, updated. v3.0.0-rc4-2962-ge3a6651

Brad King brad.king at kitware.com
Wed May 7 09:04:26 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  e3a6651321bc68cac8964514a93434b2d33c5f56 (commit)
       via  1bed75a590707c311de6feddafdfb32cbb9e4afb (commit)
      from  ef838b4c4ce2e59fb8b3b3dbb67efe86f994d6ba (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a6651321bc68cac8964514a93434b2d33c5f56
commit e3a6651321bc68cac8964514a93434b2d33c5f56
Merge: ef838b4 1bed75a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed May 7 09:04:25 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed May 7 09:04:25 2014 -0400

    Merge topic 'osx-iframework' into next
    
    1bed75a5 OS X: Use -iframework for system framework directories


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1bed75a590707c311de6feddafdfb32cbb9e4afb
commit 1bed75a590707c311de6feddafdfb32cbb9e4afb
Author:     Mikołaj Siedlarek <msiedlarek at nctz.net>
AuthorDate: Mon May 5 12:39:55 2014 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed May 7 09:04:48 2014 -0400

    OS X: Use -iframework for system framework directories
    
    Just like -I flag has its -isystem counterpart which marks an include
    directory as a system directory and prevents unwanted warnings, on Apple
    systems there is -iframework -- a system directory replacement for -F.
    Use this flag to implement include_directories(SYSTEM) for frameworks.

diff --git a/Modules/Platform/Darwin-Clang.cmake b/Modules/Platform/Darwin-Clang.cmake
index 528873c..4cded47 100644
--- a/Modules/Platform/Darwin-Clang.cmake
+++ b/Modules/Platform/Darwin-Clang.cmake
@@ -24,4 +24,7 @@ macro(__darwin_compiler_clang lang)
   set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
   set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
   set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.1)
+    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
+  endif()
 endmacro()
diff --git a/Modules/Platform/Darwin-GNU.cmake b/Modules/Platform/Darwin-GNU.cmake
index 5fee7e3..87d1d23 100644
--- a/Modules/Platform/Darwin-GNU.cmake
+++ b/Modules/Platform/Darwin-GNU.cmake
@@ -23,6 +23,10 @@ macro(__darwin_compiler_gnu lang)
   # GNU does not have -shared on OS X
   set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
   set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+
+  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.3)
+    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
+  endif()
 endmacro()
 
 macro(cmake_gnu_set_sysroot_flag lang)
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index f375b5f..c4c6428 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1344,6 +1344,12 @@ std::string cmLocalGenerator::GetIncludeFlags(
   const char* fwSearchFlag =
     this->Makefile->GetDefinition(fwSearchFlagVar);
 
+  std::string sysFwSearchFlagVar = "CMAKE_";
+  sysFwSearchFlagVar += lang;
+  sysFwSearchFlagVar += "_SYSTEM_FRAMEWORK_SEARCH_FLAG";
+  const char* sysFwSearchFlag =
+    this->Makefile->GetDefinition(sysFwSearchFlagVar);
+
   bool flagUsed = false;
   std::set<std::string> emitted;
 #ifdef __APPLE__
@@ -1360,9 +1366,17 @@ std::string cmLocalGenerator::GetIncludeFlags(
       frameworkDir = cmSystemTools::CollapseFullPath(frameworkDir.c_str());
       if(emitted.insert(frameworkDir).second)
         {
-        includeFlags
-          << fwSearchFlag << this->Convert(frameworkDir,
-                                           START_OUTPUT, shellFormat, true)
+        if (sysFwSearchFlag && target &&
+            target->IsSystemIncludeDirectory(*i, config))
+          {
+          includeFlags << sysFwSearchFlag;
+          }
+        else
+          {
+          includeFlags << fwSearchFlag;
+          }
+        includeFlags << this->Convert(frameworkDir, START_OUTPUT,
+                                      shellFormat, true)
           << " ";
         }
       continue;

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list