diff --git a/CMakeModules/FindSimpleIni.cmake b/CMakeModules/FindSimpleIni.cmake
index ce75d76908..13426b25ba 100644
--- a/CMakeModules/FindSimpleIni.cmake
+++ b/CMakeModules/FindSimpleIni.cmake
@@ -2,18 +2,20 @@
 #
 # SPDX-License-Identifier: GPL-3.0-or-later
 
-find_path(SimpleIni_INCLUDE_DIR SimpleIni.h)
-
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(SimpleIni
-    REQUIRED_VARS SimpleIni_INCLUDE_DIR
-)
 
-if (SimpleIni_FOUND AND NOT TARGET SimpleIni::SimpleIni)
-    add_library(SimpleIni::SimpleIni INTERFACE IMPORTED)
-    set_target_properties(SimpleIni::SimpleIni PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${SimpleIni_INCLUDE_DIR}"
+find_package(SimpleIni QUIET CONFIG)
+if (SimpleIni_CONSIDERED_CONFIGS)
+    find_package_handle_standard_args(SimpleIni CONFIG_MODE)
+else()
+    find_package(PkgConfig QUIET)
+    pkg_search_module(SIMPLEINI QUIET IMPORTED_TARGET simpleini)
+    find_package_handle_standard_args(SimpleIni
+        REQUIRED_VARS SIMPLEINI_INCLUDEDIR
+        VERSION_VAR SIMPLEINI_VERSION
     )
 endif()
 
-mark_as_advanced(SimpleIni_INCLUDE_DIR)
+if (SimpleIni_FOUND AND NOT TARGET SimpleIni::SimpleIni)
+    add_library(SimpleIni::SimpleIni ALIAS PkgConfig::SIMPLEINI)
+endif()