From 665524c0331cfc6eeab641dfd631aa69c109cd11 Mon Sep 17 00:00:00 2001 From: Bernhard Guillon Date: Tue, 30 Jun 2026 23:47:25 +0200 Subject: Add target validation to target_link_dotnet_libraries --- cmake/dotnet.cmake | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmake/dotnet.cmake b/cmake/dotnet.cmake index 9d03748..8782659 100644 --- a/cmake/dotnet.cmake +++ b/cmake/dotnet.cmake @@ -100,6 +100,21 @@ function(target_link_dotnet_libraries TARGET) "" "" "${multiValueArgs}" ) + get_property(ALL_TARGETS GLOBAL PROPERTY DOTNET_TARGETS) + list(FIND ALL_TARGETS "${TARGET}" _idx) + if(_idx EQUAL -1) + message(FATAL_ERROR "target_link_dotnet_libraries: '${TARGET}' is not a dotnet target") + endif() + + foreach(scope PUBLIC PRIVATE INTERFACE) + foreach(lib IN LISTS arg_${scope}) + list(FIND ALL_TARGETS "${lib}" _idx) + if(_idx EQUAL -1) + message(FATAL_ERROR "target_link_dotnet_libraries: '${lib}' is not a dotnet target") + endif() + endforeach() + endforeach() + foreach(dep IN LISTS arg_NATIVE_DEPS) get_property(CURRENT_NDEPS GLOBAL PROPERTY DOTNET_TARGET_${TARGET}_NATIVE_DEPS) if(NOT CURRENT_NDEPS) -- cgit v1.2.3