Don't use GLOB for the header files

This results in an extra "GLOB verification" step when building and just
doesn't seem worth it, especially as we already list all the source
files and backend-specific headers explicitly.

This also fixes an annoying "GLOB mismatch" error which happened when
using Vim as its swap files (".foo.h.swp") were wrongly matched by the
GLOB wildcard and so switching to another file in Vim changed the GLOB
expansion.
This commit is contained in:
Vadim Zeitlin
2025-04-25 14:49:51 +02:00
parent eb61a4e5bc
commit 43caf0c3c2

View File

@@ -47,12 +47,64 @@ set_target_properties(
# directory for the target wrapped in a BUILD_INTERFACE generator expression.
# Note that we only add the general, public SOCI headers here. Backend-specific
# headers are added by the respective backend target.
file(GLOB SOCI_HEADER_FILES LIST_DIRECTORIES false CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/include/soci/*.h*")
target_sources(soci_core
PUBLIC
FILE_SET headers TYPE HEADERS
BASE_DIRS "${PROJECT_SOURCE_DIR}/include/"
FILES "${SOCI_HEADER_FILES}"
FILES
"${PROJECT_SOURCE_DIR}/include/soci/backend-loader.h"
"${PROJECT_SOURCE_DIR}/include/soci/bind-values.h"
"${PROJECT_SOURCE_DIR}/include/soci/blob-exchange.h"
"${PROJECT_SOURCE_DIR}/include/soci/blob.h"
"${PROJECT_SOURCE_DIR}/include/soci/boost-fusion.h"
"${PROJECT_SOURCE_DIR}/include/soci/boost-gregorian-date.h"
"${PROJECT_SOURCE_DIR}/include/soci/boost-optional.h"
"${PROJECT_SOURCE_DIR}/include/soci/boost-tuple.h"
"${PROJECT_SOURCE_DIR}/include/soci/callbacks.h"
"${PROJECT_SOURCE_DIR}/include/soci/column-info.h"
"${PROJECT_SOURCE_DIR}/include/soci/connection-parameters.h"
"${PROJECT_SOURCE_DIR}/include/soci/connection-pool.h"
"${PROJECT_SOURCE_DIR}/include/soci/error.h"
"${PROJECT_SOURCE_DIR}/include/soci/exchange-traits.h"
"${PROJECT_SOURCE_DIR}/include/soci/fixed-size-ints.h"
"${PROJECT_SOURCE_DIR}/include/soci/into-type.h"
"${PROJECT_SOURCE_DIR}/include/soci/into.h"
"${PROJECT_SOURCE_DIR}/include/soci/is-detected.h"
"${PROJECT_SOURCE_DIR}/include/soci/log-context.h"
"${PROJECT_SOURCE_DIR}/include/soci/logger.h"
"${PROJECT_SOURCE_DIR}/include/soci/noreturn.h"
"${PROJECT_SOURCE_DIR}/include/soci/once-temp-type.h"
"${PROJECT_SOURCE_DIR}/include/soci/prepare-temp-type.h"
"${PROJECT_SOURCE_DIR}/include/soci/procedure.h"
"${PROJECT_SOURCE_DIR}/include/soci/query_transformation.h"
"${PROJECT_SOURCE_DIR}/include/soci/ref-counted-prepare-info.h"
"${PROJECT_SOURCE_DIR}/include/soci/ref-counted-statement.h"
"${PROJECT_SOURCE_DIR}/include/soci/row-exchange.h"
"${PROJECT_SOURCE_DIR}/include/soci/row.h"
"${PROJECT_SOURCE_DIR}/include/soci/rowid-exchange.h"
"${PROJECT_SOURCE_DIR}/include/soci/rowid.h"
"${PROJECT_SOURCE_DIR}/include/soci/rowset.h"
"${PROJECT_SOURCE_DIR}/include/soci/session.h"
"${PROJECT_SOURCE_DIR}/include/soci/soci-backend.h"
"${PROJECT_SOURCE_DIR}/include/soci/soci-platform.h"
"${PROJECT_SOURCE_DIR}/include/soci/soci-simple.h"
"${PROJECT_SOURCE_DIR}/include/soci/soci-types.h"
"${PROJECT_SOURCE_DIR}/include/soci/soci-unicode.h"
"${PROJECT_SOURCE_DIR}/include/soci/soci.h"
"${PROJECT_SOURCE_DIR}/include/soci/statement.h"
"${PROJECT_SOURCE_DIR}/include/soci/std-optional.h"
"${PROJECT_SOURCE_DIR}/include/soci/transaction.h"
"${PROJECT_SOURCE_DIR}/include/soci/trivial-blob-backend.h"
"${PROJECT_SOURCE_DIR}/include/soci/type-conversion-traits.h"
"${PROJECT_SOURCE_DIR}/include/soci/type-conversion.h"
"${PROJECT_SOURCE_DIR}/include/soci/type-holder.h"
"${PROJECT_SOURCE_DIR}/include/soci/type-ptr.h"
"${PROJECT_SOURCE_DIR}/include/soci/type-wrappers.h"
"${PROJECT_SOURCE_DIR}/include/soci/use-type.h"
"${PROJECT_SOURCE_DIR}/include/soci/use.h"
"${PROJECT_SOURCE_DIR}/include/soci/values-exchange.h"
"${PROJECT_SOURCE_DIR}/include/soci/values.h"
"${PROJECT_SOURCE_DIR}/include/soci/version.h"
)
target_include_directories(soci_core