From a87cbfb26dce716e263c918908b2039741ff1aff Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Wed, 29 Jul 2026 17:59:23 -0400 Subject: [PATCH] Namespace the embedded mutation target --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17b664c..6c8c120 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -173,12 +173,19 @@ set_tests_properties( # re-runs the whole suite once per mutant, so it is a manual target rather than # a CTest test: # cmake --build build --target mutation +# When embedded in another project, use a namespaced target to avoid collisions +# with mutation targets provided by sibling dependencies. # This target covers both src/stdlib.c and include/akstdlib.h. CI runs the # narrower, faster src/stdlib.c set with a --threshold gate; see # .gitea/workflows/ci.yaml. find_package(Python3 COMPONENTS Interpreter) if(Python3_FOUND) - add_custom_target(mutation + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(AKSL_MUTATION_TARGET mutation) + else() + set(AKSL_MUTATION_TARGET akstdlib_mutation) + endif() + add_custom_target(${AKSL_MUTATION_TARGET} COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/mutation_test.py --source-root ${CMAKE_CURRENT_SOURCE_DIR}