diff options
author | Brad King <brad.king@kitware.com> | 2016-10-13 18:09:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-10-13 18:09:43 (GMT) |
commit | a975b21cecc1ce45eeca9dc1b2103268f508317a (patch) | |
tree | 434e71591fc358e821fc3cdadbae38b92564e75b | |
parent | 2d6fba67804ffcdeb1ca95198aacb326dd8fc4e7 (diff) | |
parent | 20278872e3d8145f4aa81ea6cde01144daa3ca8f (diff) | |
download | CMake-a975b21cecc1ce45eeca9dc1b2103268f508317a.zip CMake-a975b21cecc1ce45eeca9dc1b2103268f508317a.tar.gz CMake-a975b21cecc1ce45eeca9dc1b2103268f508317a.tar.bz2 |
Merge branch 'ninja-framework-POST_BUILD' into release
-rw-r--r-- | Source/cmNinjaNormalTargetGenerator.cxx | 6 | ||||
-rw-r--r-- | Tests/Framework/CMakeLists.txt | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 5b56813..cd6dd1a 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 |