mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-23 07:28:51 -06:00
cmAddCustom{Command,Target}Command: Skip conversions on genex paths
If an output or byproduct path starts in a generator expression, do not
convert it to a full path yet. That will have to be done at generate
time after evaluating the generator expressions.
Also update the `add_custom_target` byproduct path conversion added by
commit 445ff5ccdf (Byproducts: collapse full paths of custom target
byproducts, 2019-09-11, v3.16.0-rc1~103^2~1) to match the behavior of
`add_custom_command` when a path starts in a generator expression.
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "cmCustomCommandLines.h"
|
||||
#include "cmCustomCommandTypes.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmGeneratorExpression.h"
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
@@ -188,7 +189,8 @@ bool cmAddCustomCommandCommand(std::vector<std::string> const& args,
|
||||
case doing_output:
|
||||
case doing_outputs:
|
||||
case doing_byproducts:
|
||||
if (!cmSystemTools::FileIsFullPath(copy)) {
|
||||
if (!cmSystemTools::FileIsFullPath(copy) &&
|
||||
cmGeneratorExpression::Find(copy) != 0) {
|
||||
// This is an output to be generated, so it should be
|
||||
// under the build tree.
|
||||
filename = cmStrCat(mf.GetCurrentBinaryDirectory(), '/');
|
||||
|
||||
Reference in New Issue
Block a user