fix: reduce target collision in add_submodule mode (#2423)

* fix: reduce target collision in add_submodule mode

Closes #2420

* fix: update CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6234f76..3b46049 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -154,8 +154,10 @@
 # This section builds targets, but does *not* touch Python
 
 # Build the headers-only target (no Python included):
-add_library(headers INTERFACE)
-add_library(pybind11::headers ALIAS headers) # to match exported target
+# (long name used here to keep this from clashing in subdirectory mode)
+add_library(pybind11_headers INTERFACE)
+add_library(pybind11::pybind11_headers ALIAS pybind11_headers) # to match exported target
+add_library(pybind11::headers ALIAS pybind11_headers) # easier to use/remember
 
 include("${CMAKE_CURRENT_SOURCE_DIR}/tools/pybind11Common.cmake")
 
@@ -172,11 +174,11 @@
 
 # Fill in headers target
 target_include_directories(
-  headers ${pybind11_system} INTERFACE $<BUILD_INTERFACE:${PYBIND11_INCLUDE_DIR}>
-                                       $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+  pybind11_headers ${pybind11_system} INTERFACE $<BUILD_INTERFACE:${PYBIND11_INCLUDE_DIR}>
+                                                $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
-target_compile_features(headers INTERFACE cxx_inheriting_constructors cxx_user_literals
-                                          cxx_right_angle_brackets)
+target_compile_features(pybind11_headers INTERFACE cxx_inheriting_constructors cxx_user_literals
+                                                   cxx_right_angle_brackets)
 
 if(PYBIND11_INSTALL)
   install(DIRECTORY ${PYBIND11_INCLUDE_DIR}/pybind11 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
@@ -222,7 +224,7 @@
     set(PYBIND11_EXPORT_NAME "${PROJECT_NAME}Targets")
   endif()
 
-  install(TARGETS headers EXPORT "${PYBIND11_EXPORT_NAME}")
+  install(TARGETS pybind11_headers EXPORT "${PYBIND11_EXPORT_NAME}")
 
   install(
     EXPORT "${PYBIND11_EXPORT_NAME}"
diff --git a/tools/pybind11Config.cmake.in b/tools/pybind11Config.cmake.in
index 4f0500a..3f11172 100644
--- a/tools/pybind11Config.cmake.in
+++ b/tools/pybind11Config.cmake.in
@@ -130,6 +130,11 @@
 
 include("${CMAKE_CURRENT_LIST_DIR}/pybind11Targets.cmake")
 
+# Easier to use / remember
+add_library(pybind11::headers IMPORTED INTERFACE)
+set_target_properties(pybind11::headers PROPERTIES INTERFACE_LINK_LIBRARIES
+                                                   pybind11::pybind11_headers)
+
 include("${CMAKE_CURRENT_LIST_DIR}/pybind11Common.cmake")
 
 if(NOT pybind11_FIND_QUIETLY)