Verwenden von Alias-Zielen in CMake

Beim Definieren von CMake-Zielen können Alias-Ziele erstellt werden, sodass der Aliasname in nachfolgenden Befehlen verwendet werden kann, um auf das definierte Ziel zu verweisen. Zum Beispie

add_library(foo_lib foo.cpp bar.cpp bat.cpp)
add_library(foo::lib ALIAS foo_lib)

Soweit ich es verstanden habe, hat dies den Vorteil, dass der Namefoo_lib wird nicht als Make-Ziel angezeigt. Unter einem solchen Aliasnamen möchte ich ihnen jedoch alle möglichen Eigenschaften zuweisen, z. B .:

set_target_properties(foo::lib PROPERTIES COMPILE_DEFINITIONS ...)
target_include_directories(foo::lib PUBLIC ... PRIVATE ...)

aber dies ist leider nicht möglich, daCMake Error: set_target_properties kann nicht auf einem ALIAS-Ziel verwendet werden. Ich verstehe nicht, warum dies nicht möglich sein sollte, da ich den Namen meiner Bibliothek einmal definieren und auf den angegebenen Alias verweisen möchte, wenn ich eine Eigenschaft des Ziels anpassen möchte. Irgendwelche Hinweise zum "richtigen" Verwenden von ALIAS-Zielen? Was ist der Zweck von ALIAS-Zielen, außer dass sie dann nicht als Make-Ziele angezeigt werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage