[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3073-g40d8be2

Stephen Kelly steveire at gmail.com
Sat Jul 13 10:05:37 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  40d8be2de813fdba9ba63b2a0d9d5893ad241722 (commit)
       via  d0658194ce78024fa04f3c9fb6c96a5bb882a9df (commit)
       via  89f59694d27a7503678484f7975b912ec12dbc57 (commit)
       via  b9412889e9c5028e32ef3b978d8cdd1175f14b0f (commit)
      from  72ae5d2709f67f77b9da4d16678f2025353e657b (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=40d8be2de813fdba9ba63b2a0d9d5893ad241722
commit 40d8be2de813fdba9ba63b2a0d9d5893ad241722
Merge: 72ae5d2 d065819
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jul 13 10:05:35 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Jul 13 10:05:35 2013 -0400

    Merge topic 'framework-interface-includes' into next
    
    d065819 Use linked frameworks as a source of include directories.
    89f5969 CMake Nightly Date Stamp
    b941288 CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0658194ce78024fa04f3c9fb6c96a5bb882a9df
commit d0658194ce78024fa04f3c9fb6c96a5bb882a9df
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 16:02:06 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..276760c 100644
--- a/Tests/ExportImport/Export/CMakeLists.txt
+++ b/Tests/ExportImport/Export/CMakeLists.txt
@@ -280,6 +280,10 @@ install(
   FRAMEWORK DESTINATION Frameworks
   BUNDLE DESTINATION Applications
   )
+if (APPLE)
+  file(COPY testLib4.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/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:
 Source/CMakeVersion.cmake                          |    2 +-
 Source/cmTarget.cxx                                |   33 ++++++++++++++++++++
 Tests/ExportImport/Export/CMakeLists.txt           |    4 ++
 Tests/ExportImport/Export/testLib4.h               |    2 +
 Tests/ExportImport/Import/A/CMakeLists.txt         |    4 ++
 .../Import/A/framework_interface/CMakeLists.txt    |    9 +++++
 .../A/framework_interface/framework_test.cpp       |    6 +++
 7 files changed, 59 insertions(+), 1 deletions(-)
 create mode 100644 Tests/ExportImport/Export/testLib4.h
 create mode 100644 Tests/ExportImport/Import/A/framework_interface/CMakeLists.txt
 create mode 100644 Tests/ExportImport/Import/A/framework_interface/framework_test.cpp


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list