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 0be1721b533ae213fc255aeb5063f3dee204c8d2 (commit) via 20278872e3d8145f4aa81ea6cde01144daa3ca8f (commit) from 70184a7716b16cef891d80d57c506571aa6d2744 (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 ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0be1721b533ae213fc255aeb5063f3dee204c8d2 commit 0be1721b533ae213fc255aeb5063f3dee204c8d2 Merge: 70184a7 2027887 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Oct 13 14:11:33 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Oct 13 14:11:33 2016 -0400 Merge topic 'ninja-framework-POST_BUILD' into next 20278872 Ninja: Fix POST_BUILD commands on macOS Frameworks https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=20278872e3d8145f4aa81ea6cde01144daa3ca8f commit 20278872e3d8145f4aa81ea6cde01144daa3ca8f Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Oct 13 13:51:10 2016 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Oct 13 14:04:12 2016 -0400 Ninja: Fix POST_BUILD commands on macOS Frameworks The condition added by commit v2.8.12~179^2 (OS X: Fix regression handling frameworks for Ninja, 2013-07-16) for excluding use of versioning symlinks on macOS Frameworks must match that used for POST_BUILD selection. Otherwise we place the POST_BUILD commands after a symlink step that is never added. Closes: #16363 diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 095c703..6d915ea 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -645,7 +645,9 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement() std::string postBuildCmdLine = localGen.BuildCommandLine(postBuildCmdLines); cmNinjaVars symlinkVars; - if (targetOutput == targetOutputReal) { + bool const symlinkNeeded = + (targetOutput != targetOutputReal && !gt.IsFrameworkOnApple()); + if (!symlinkNeeded) { vars["POST_BUILD"] = postBuildCmdLine; } else { vars["POST_BUILD"] = ":"; @@ -687,7 +689,7 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement() commandLineLengthLimit, &usedResponseFile); this->WriteLinkRule(usedResponseFile); - if (targetOutput != targetOutputReal && !gt.IsFrameworkOnApple()) { + if (symlinkNeeded) { if (targetType == cmState::EXECUTABLE) { globalGen.WriteBuild( this->GetBuildFileStream(), diff --git a/Tests/Framework/CMakeLists.txt b/Tests/Framework/CMakeLists.txt index 29f9838..271aaf1 100644 --- a/Tests/Framework/CMakeLists.txt +++ b/Tests/Framework/CMakeLists.txt @@ -51,6 +51,11 @@ install(TARGETS foo bar # duplicate install rules for the pieces of the framework. ) +# test that framework post-build commands run +add_custom_command(TARGET foo POST_BUILD COMMAND ${CMAKE_COMMAND} -E touch foo-post-build) +add_custom_target(fooCustom ALL COMMAND ${CMAKE_COMMAND} -E copy foo-post-build foo-custom) +add_dependencies(fooCustom foo) + # Make a static library and apply the framework properties to it to verify # that everything still builds correctly, but it will not actually produce # a framework... The framework properties only apply when the library type ----------------------------------------------------------------------- Summary of changes: Source/cmNinjaNormalTargetGenerator.cxx | 6 ++++-- Tests/Framework/CMakeLists.txt | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits