From e5b33871ed7fd9d0b93596400509d455bfa41234 Mon Sep 17 00:00:00 2001 From: Vyacheslav Yurkov Date: Mon, 20 Apr 2020 15:58:22 +0200 Subject: ExternalProject: Fix step dependency on mkdir step When looking at `list(FIND)` result, zero index is ignored due to incorrect error handling, and users can't set dependencies on mkdir step. Fixes: #20605 --- Modules/ExternalProject.cmake | 2 +- .../RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index c1ca2b5..75f68c8 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -2282,7 +2282,7 @@ function(ExternalProject_Add_StepDependencies name step) get_property(steps TARGET ${name} PROPERTY _EP_STEPS) list(FIND steps ${step} is_step) - if(NOT is_step) + if(is_step LESS 0) message(FATAL_ERROR "External project \"${name}\" does not have a step \"${step}\".") endif() diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt index 22e13bf..5fa75e8 100644 --- a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt +++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt @@ -1,5 +1,5 @@ ^CMake Error at .*/Modules/ExternalProject.cmake:[0-9]+ \(message\): - Target "MyProj-IFace" was not generated by ExternalProject_Add_StepTargets. + External project "MyProj" does not have a step "IFace". Call Stack \(most recent call first\): Add_StepDependencies_iface_step.cmake:[0-9]+ \(ExternalProject_Add_StepDependencies\) CMakeLists.txt:[0-9]+ \(include\)$ -- cgit v0.12