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 ee4b951bd45a68c5f81715d33b4139bde4932fe8 (commit) via e4fe07768e1756d6d7e8cd308a54845dbeef332f (commit) from 82e110fc1b16ec6dd3c7e31dc95638fd36e66f14 (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=ee4b951bd45a68c5f81715d33b4139bde4932fe8 commit ee4b951bd45a68c5f81715d33b4139bde4932fe8 Merge: 82e110f e4fe077 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Fri Jul 19 13:10:49 2013 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Jul 19 13:10:49 2013 -0400 Merge topic 'framework-interface-includes' into next e4fe077 Use linked frameworks as a source of include directories. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e4fe07768e1756d6d7e8cd308a54845dbeef332f commit e4fe07768e1756d6d7e8cd308a54845dbeef332f Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Mon Jul 8 16:59:03 2013 +0200 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Fri Jul 19 19:09:28 2013 +0200 Use linked frameworks as a source of include directories. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index a043c05..37b20ec 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -3395,6 +3395,32 @@ 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 = cmSystemTools::CollapseFullPath(it->c_str()); + + static cmsys::RegularExpression + frameworkCheck("(\\.framework)(/Versions/[^/]+)?/[^/]+$"); + if(!frameworkCheck.find(libDir)) + { + continue; + } + + cmGeneratorExpression ge(lfbt); + cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = + ge.Parse(cmSystemTools::GetParentDirectory(libDir.c_str())); + this->Internal + ->CachedLinkInterfaceIncludeDirectoriesEntries[configString] + .push_back(new cmTargetInternals::TargetPropertyEntry(cge)); + } + } } processIncludeDirectories(this, diff --git a/Source/cmTargetLinkLibrariesCommand.h b/Source/cmTargetLinkLibrariesCommand.h index 96cfe65..9ee54ab 100644 --- a/Source/cmTargetLinkLibrariesCommand.h +++ b/Source/cmTargetLinkLibrariesCommand.h @@ -109,6 +109,11 @@ public: " INTERFACE_POSITION_INDEPENDENT_CODE: Sets POSITION_INDEPENDENT_CODE\n" " or checked for consistency with existing value\n" "\n" + "If an <item> is a library in a Mac OX framework, the Headers " + "directory of the framework will also be processed as a \"usage " + "requirement\". This has the same effect as passing the framework " + "directory as an include directory." + "\n" " target_link_libraries(<target>\n" " <PRIVATE|PUBLIC|INTERFACE> <lib> ...\n" " [<PRIVATE|PUBLIC|INTERFACE> <lib> ... ] ...])\n" diff --git a/Tests/ExportImport/Export/CMakeLists.txt b/Tests/ExportImport/Export/CMakeLists.txt index f810f3b..3262523 100644 --- a/Tests/ExportImport/Export/CMakeLists.txt +++ b/Tests/ExportImport/Export/CMakeLists.txt @@ -312,6 +312,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 aa8847b..2627354 100644 --- a/Tests/ExportImport/Import/A/CMakeLists.txt +++ b/Tests/ExportImport/Import/A/CMakeLists.txt @@ -210,6 +210,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/cmTarget.cxx | 26 ++++++++++++++++++++ Source/cmTargetLinkLibrariesCommand.h | 5 ++++ Tests/ExportImport/Export/CMakeLists.txt | 6 ++++ 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, 58 insertions(+), 0 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 _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits