1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-15 20:46:37 +08:00

Ninja Multi-Config: Correctly generate POST_BUILD custom targets

Fixes: #22096
This commit is contained in:
Kyle Edwards
2021-04-22 15:51:53 -04:00
parent b0f203f133
commit f8e2a74712
4 changed files with 15 additions and 1 deletions

View File

@@ -173,7 +173,7 @@ void cmNinjaUtilityTargetGenerator::WriteUtilBuildStatements(
std::string ccConfig;
if (genTarget->Target->IsPerConfig() &&
genTarget->GetType() != cmStateEnums::GLOBAL_TARGET) {
ccConfig = fileConfig;
ccConfig = config;
}
if (config == fileConfig ||
gg->GetPerConfigUtilityTargets().count(genTarget->GetName())) {

View File

@@ -0,0 +1,4 @@
^\[1/2\] target_post_build
target main build
\[2/2\] Running utility command for target_post_build
target post build$

View File

@@ -189,3 +189,11 @@ add_custom_target(target_no_cross_byproduct
COMMAND echo $<CONFIG> target_no_cross_byproduct.txt
WORKING_DIRECTORY $<CONFIG>
)
add_custom_target(target_post_build
COMMENT target_post_build
COMMAND ${CMAKE_COMMAND} -E echo "target main build"
)
add_custom_command(TARGET target_post_build POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "target post build"
)

View File

@@ -364,6 +364,8 @@ run_ninja(CustomCommandOutputGenex target_no_cross_byproduct-debug build-Debug.n
run_ninja(CustomCommandOutputGenex clean-debug-graph build-Debug.ninja -t clean)
run_ninja(CustomCommandOutputGenex target_no_cross_byproduct-debug-in-release-graph build-Release.ninja target_no_cross_byproduct:Debug)
run_ninja(CustomCommandOutputGenex clean-release-graph build-Release.ninja -t clean)
# target_post_build
run_ninja(CustomCommandOutputGenex target_post_build-debug build-Debug.ninja target_post_build)
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_BINARY_DIR)