[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3077-g6b740d3

Stephen Kelly steveire at gmail.com
Sat Jul 13 11:33:23 EDT 2013


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  6b740d34be0b2051c17f2eaa64fcc6c7b5e4e70e (commit)
       via  70c30c374579ec8ba7b4974b3b52caed7feb0219 (commit)
      from  a5d50896cd61beb87bd64ceee80c7764537780c2 (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=6b740d34be0b2051c17f2eaa64fcc6c7b5e4e70e
commit 6b740d34be0b2051c17f2eaa64fcc6c7b5e4e70e
Merge: a5d5089 70c30c3
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 13 11:33:22 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Jul 13 11:33:22 2013 -0400

    Merge topic 'framework-interface-includes' into next
    
    70c30c3 Use linked frameworks as a source of include directories.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=70c30c374579ec8ba7b4974b3b52caed7feb0219
commit 70c30c374579ec8ba7b4974b3b52caed7feb0219
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Jul 8 16:59:03 2013 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Jul 13 17:32:50 2013 +0200

    Use linked frameworks as a source of include directories.

diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index a90fa74..51decbe 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -3206,6 +3206,39 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config)
                         new cmTargetInternals::TargetPropertyEntry(cge,
                                                               it->Value));
       }
+
+    if(this->Makefile->IsOn("APPLE"))
+      {
+      LinkImplementation const* impl = this->GetLinkImplementation(config,
+                                                                   this);
+      for(std::vector<std::string>::const_iterator
+          it = impl->Libraries.begin();
+          it != impl->Libraries.end(); ++it)
+        {
+        std::string libDir = *it;
+        libDir += "/../";
+        libDir = cmSystemTools::CollapseFullPath(libDir.c_str());
+        // This could be foo/framework/foo ...
+        bool isFramework = cmSystemTools::IsPathToFramework(libDir.c_str());
+        if (!isFramework)
+          {
+          // ... or foo.framework/Versions/A/foo
+          // or foo.framework/Versions/Current/foo
+          libDir += "/../..";
+          libDir = cmSystemTools::CollapseFullPath(libDir.c_str());
+          isFramework = cmSystemTools::IsPathToFramework(libDir.c_str());
+          }
+        if(isFramework)
+          {
+          cmGeneratorExpression ge(lfbt);
+          cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
+                                                            ge.Parse(libDir);
+          this->Internal
+                  ->CachedLinkInterfaceIncludeDirectoriesEntries[configString]
+                  .push_back(new cmTargetInternals::TargetPropertyEntry(cge));
+          }
+        }
+      }
     }
 
   processIncludeDirectories(this,
diff --git a/Tests/ExportImport/Export/CMakeLists.txt b/Tests/ExportImport/Export/CMakeLists.txt
index efecd03..05a061b 100644
--- a/Tests/ExportImport/Export/CMakeLists.txt
+++ b/Tests/ExportImport/Export/CMakeLists.txt
@@ -280,6 +280,12 @@ install(
   FRAMEWORK DESTINATION Frameworks
   BUNDLE DESTINATION Applications
   )
+if (APPLE)
+  file(COPY testLib4.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/testLib4.framework/Headers)
+  file(COPY testLib4.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Debug/testLib4.framework/Headers)
+  file(COPY testLib4.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/Release/testLib4.framework/Headers)
+  install(FILES testLib4.h DESTINATION Frameworks/testLib4.framework/Headers)
+endif()
 install(
   TARGETS
   testExe2libImp testLib3Imp
diff --git a/Tests/ExportImport/Export/testLib4.h b/Tests/ExportImport/Export/testLib4.h
new file mode 100644
index 0000000..9eeda7c
--- /dev/null
+++ b/Tests/ExportImport/Export/testLib4.h
@@ -0,0 +1,2 @@
+
+#define TESTLIB4_H
diff --git a/Tests/ExportImport/Import/A/CMakeLists.txt b/Tests/ExportImport/Import/A/CMakeLists.txt
index 3bfbc46..a02ad39 100644
--- a/Tests/ExportImport/Import/A/CMakeLists.txt
+++ b/Tests/ExportImport/Import/A/CMakeLists.txt
@@ -200,6 +200,10 @@ if (run_pic_test)
   target_compile_definitions(deps_shared_iface PRIVATE CHECK_PIC_WORKS)
 endif()
 
+if(APPLE)
+  add_subdirectory(framework_interface)
+endif()
+
 #-----------------------------------------------------------------------------
 # Test that targets imported from the build tree have their dependencies
 # evaluated correctly. The above already tests the same for the install tree.
diff --git a/Tests/ExportImport/Import/A/framework_interface/CMakeLists.txt b/Tests/ExportImport/Import/A/framework_interface/CMakeLists.txt
new file mode 100644
index 0000000..0e00655
--- /dev/null
+++ b/Tests/ExportImport/Import/A/framework_interface/CMakeLists.txt
@@ -0,0 +1,9 @@
+
+add_library(exp_framework_test framework_test.cpp)
+get_target_property(exp_loc exp_testLib4 LOCATION)
+target_link_libraries(exp_framework_test ${exp_loc})
+
+
+add_library(bld_framework_test framework_test.cpp)
+get_target_property(bld_loc bld_testLib4 LOCATION)
+target_link_libraries(bld_framework_test ${bld_loc})
diff --git a/Tests/ExportImport/Import/A/framework_interface/framework_test.cpp b/Tests/ExportImport/Import/A/framework_interface/framework_test.cpp
new file mode 100644
index 0000000..357f64f
--- /dev/null
+++ b/Tests/ExportImport/Import/A/framework_interface/framework_test.cpp
@@ -0,0 +1,6 @@
+
+#include <testLib4/testLib4.h>
+
+#ifndef TESTLIB4_H
+#error Expected define TESTLIB4_H
+#endif

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list