diff --git a/cmake/modules/packages/FindSQLite3.cmake b/cmake/modules/packages/FindSQLite3.cmake
index a99d5b8..c94a2df 100644
--- a/cmake/modules/packages/FindSQLite3.cmake
+++ b/cmake/modules/packages/FindSQLite3.cmake
@@ -79,7 +79,7 @@ if(SQLite3_INCLUDE_DIR AND SQLite3_LIBRARY)
     cmake_push_check_state(RESET)
     # check column metadata
     set(CMAKE_REQUIRED_INCLUDES ${SQLite3_INCLUDE_DIR})
-    if( ${SQLite3_LIBRARY} MATCHES "libsqlite3.a")
+    if(0)
       if(PC_SQLITE3_STATIC_LDFLAGS)
         set(CMAKE_REQUIRED_LIBRARIES ${PC_SQLITE3_STATIC_LDFLAGS})
       else()
@@ -113,15 +113,10 @@ if(SQLite3_INCLUDE_DIR AND SQLite3_LIBRARY)
       endif()
     else()
         set(CMAKE_REQUIRED_LIBRARIES ${SQLite3_LIBRARY})
+        list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES})
+        list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} "")
     endif()
 
-    # Trick to force CMake to re-run if SQLite3_LIBRARY changes
-    # Useful in development situations when switching/refreshing the library
-    set_property(
-        DIRECTORY
-        APPEND
-        PROPERTY CMAKE_CONFIGURE_DEPENDS "${SQLite3_LIBRARY}"
-    )
     # Invalidate cached variables if SQLite3_LIBRARY changes
     file(TIMESTAMP "${SQLite3_LIBRARY}" SQLite3_LIBRARY_TIMESTAMP)
     if( SQLite3_LIBRARY_TIMESTAMP_OLD_VAL AND
@@ -181,6 +176,7 @@ if(SQLite3_FOUND)
                           INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIRS}"
                           IMPORTED_LINK_INTERFACE_LANGUAGES "C"
                           IMPORTED_LOCATION "${SQLite3_LIBRARY}")
+  endif()
     if(SQLite3_HAS_COLUMN_METADATA)
         set_property(TARGET SQLite::SQLite3 APPEND PROPERTY
                      INTERFACE_COMPILE_DEFINITIONS "SQLite3_HAS_COLUMN_METADATA")
@@ -189,5 +185,14 @@ if(SQLite3_FOUND)
         set_property(TARGET SQLite::SQLite3 APPEND PROPERTY
                      INTERFACE_COMPILE_DEFINITIONS "SQLite3_HAS_RTREE")
     endif()
+  get_target_property(definitions SQLite::SQLite3 INTERFACE_COMPILE_DEFINITIONS)
+  if(definitions)
+    list(REMOVE_DUPLICATES definitions)
+    set_target_properties(SQLite::SQLite3 PROPERTIES INTERFACE_COMPILE_DEFINITIONS "${definitions}")
+  endif()
+
+  # as suggested by https://cmake.org/cmake/help/latest/module/FindSQLite3.html
+  if(NOT TARGET SQLite3::SQLite3)
+    add_library(SQLite3::SQLite3 ALIAS SQLite::SQLite3)
   endif()
 endif()
