[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