diff --git a/cmake/stdlib.cmake b/cmake/stdlib.cmake index 0ec86e299..00265327f 100644 --- a/cmake/stdlib.cmake +++ b/cmake/stdlib.cmake @@ -69,7 +69,6 @@ function(configure_stdlib_target target_name regular_sources_var fypp_files_var list(APPEND all_sources ${${regular_sources_var}}) add_library(${target_name} ${all_sources}) - add_library(${PROJECT_NAME}::${target_name} ALIAS ${target_name}) set_target_properties( ${target_name} diff --git a/config/cmake/Findtest-drive.cmake b/config/cmake/Findtest-drive.cmake index 8337347a2..cac0827d7 100644 --- a/config/cmake/Findtest-drive.cmake +++ b/config/cmake/Findtest-drive.cmake @@ -88,17 +88,19 @@ foreach(method ${${_pkg}_FIND_METHOD}) if("${_pkg}_FOUND") message(STATUS "Found ${_lib} via pkg-config") - add_library("${_lib}::${_lib}" INTERFACE IMPORTED) - target_link_libraries( - "${_lib}::${_lib}" - INTERFACE - "${${_pkg}_LINK_LIBRARIES}" - ) - target_include_directories( - "${_lib}::${_lib}" - INTERFACE - "${${_pkg}_INCLUDE_DIRS}" - ) + if(NOT TARGET "${_lib}::${_lib}") + add_library("${_lib}::${_lib}" INTERFACE IMPORTED) + target_link_libraries( + "${_lib}::${_lib}" + INTERFACE + "${${_pkg}_LINK_LIBRARIES}" + ) + target_include_directories( + "${_lib}::${_lib}" + INTERFACE + "${${_pkg}_INCLUDE_DIRS}" + ) + endif() break() endif() @@ -118,8 +120,10 @@ foreach(method ${${_pkg}_FIND_METHOD}) "${${_pkg}_BINARY_DIR}" ) - add_library("${_lib}::${_lib}" INTERFACE IMPORTED) - target_link_libraries("${_lib}::${_lib}" INTERFACE "${_lib}") + if(NOT TARGET "${_lib}::${_lib}") + add_library("${_lib}::${_lib}" INTERFACE IMPORTED) + target_link_libraries("${_lib}::${_lib}" INTERFACE "${_lib}") + endif() # We need the module directory in the subproject before we finish the configure stage if(NOT EXISTS "${${_pkg}_BINARY_DIR}/include") @@ -140,8 +144,10 @@ foreach(method ${${_pkg}_FIND_METHOD}) ) FetchContent_MakeAvailable("${_lib}") - add_library("${_lib}::${_lib}" INTERFACE IMPORTED) - target_link_libraries("${_lib}::${_lib}" INTERFACE "${_lib}") + if(NOT TARGET "${_lib}::${_lib}") + add_library("${_lib}::${_lib}" INTERFACE IMPORTED) + target_link_libraries("${_lib}::${_lib}" INTERFACE "${_lib}") + endif() # We need the module directory in the subproject before we finish the configure stage FetchContent_GetProperties("${_lib}" SOURCE_DIR "${_pkg}_SOURCE_DIR")