Avoid mutation target collisions when embedded
This commit is contained in:
@@ -99,9 +99,16 @@ set_tests_properties(
|
|||||||
# notices. This is a meta-check on the tests themselves, so it is a manual
|
# notices. This is a meta-check on the tests themselves, so it is a manual
|
||||||
# target (it rebuilds and re-runs the whole suite many times), not a CTest test.
|
# target (it rebuilds and re-runs the whole suite many times), not a CTest test.
|
||||||
# cmake --build build --target mutation
|
# cmake --build build --target mutation
|
||||||
|
# When embedded in another project, use a namespaced target to avoid collisions
|
||||||
|
# with mutation targets provided by sibling dependencies.
|
||||||
find_package(Python3 COMPONENTS Interpreter)
|
find_package(Python3 COMPONENTS Interpreter)
|
||||||
if(Python3_FOUND)
|
if(Python3_FOUND)
|
||||||
add_custom_target(mutation
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||||
|
set(AKERR_MUTATION_TARGET mutation)
|
||||||
|
else()
|
||||||
|
set(AKERR_MUTATION_TARGET akerror_mutation)
|
||||||
|
endif()
|
||||||
|
add_custom_target(${AKERR_MUTATION_TARGET}
|
||||||
COMMAND ${Python3_EXECUTABLE}
|
COMMAND ${Python3_EXECUTABLE}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/scripts/mutation_test.py
|
${CMAKE_CURRENT_SOURCE_DIR}/scripts/mutation_test.py
|
||||||
--source-root ${CMAKE_CURRENT_SOURCE_DIR}
|
--source-root ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
|||||||
Reference in New Issue
Block a user