File set "xyz" is listed in interface file sets of W but has not been exported

OK, as simple as possible, that works:

cmake_minimum_required(VERSION 3.21...3.27)

# Note: update this to your new project's name and version
project(
  Useful
  VERSION 1.0
  LANGUAGES CXX
)

set(LIB_NAME Useful)
set(USEFUL_BUILD_SHARED_LIBS YES)

if(USEFUL_BUILD_SHARED_LIBS)
  add_library(${LIB_NAME} SHARED)
else()
  add_library(${LIB_NAME} STATIC)
endif()

include(GNUInstallDirs)
include(GenerateExportHeader)
include(CMakePackageConfigHelpers)

string(TOUPPER ${LIB_NAME} UPPER_LIB_NAME)
generate_export_header(${LIB_NAME}
  EXPORT_MACRO_NAME ${UPPER_LIB_NAME}_EXPORT
  EXPORT_FILE_NAME ${LIB_NAME}_Export.hpp
)
target_sources(${LIB_NAME}
  PRIVATE Useful.cpp
)
target_sources(${LIB_NAME}
  PUBLIC
    FILE_SET public_header_files
      TYPE HEADERS
      BASE_DIRS
        "${PROJECT_SOURCE_DIR}/include"
        "${CMAKE_CURRENT_BINARY_DIR}"
      FILES
        "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}_Export.hpp"
        "${PROJECT_SOURCE_DIR}/include/Useful.hpp"
  PRIVATE
    FILE_SET private_header_files
      TYPE HEADERS
      BASE_DIRS "${PROJECT_SOURCE_DIR}/source"
      FILES source/DefaultLocale.hpp
)
target_include_directories(${LIB_NAME}
 PUBLIC
   $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
   $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)

install(
  TARGETS ${LIB_NAME}
  EXPORT ${LIB_NAME}Exports
  FILE_SET public_header_files
  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
  COMPONENT Development
)

# install(
#   FILES $<TARGET_FILE_DIR:${LIB_NAME}>/${LIB_NAME}.pdb
#   # is the most implicit (expect PDB be next to the library), yet the only one that universally works
#   DESTINATION ${CMAKE_INSTALL_BINDIR}
#   OPTIONAL
# )

set(config_package_location ${CMAKE_INSTALL_DATADIR}/cmake/${LIB_NAME})
install(
  EXPORT ${LIB_NAME}Exports
  FILE ${LIB_NAME}Config.cmake
  NAMESPACE Proj::
  DESTINATION ${config_package_location}
  COMPONENT Development
)

write_basic_package_version_file(
  "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}ConfigVersion.cmake"
  VERSION ${PROJECT_VERSION}
  COMPATIBILITY AnyNewerVersion
)
install(
  FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}ConfigVersion.cmake"
  DESTINATION ${config_package_location}
  COMPONENT Development
)

include(cpack)