Bläddra i källkod

cmake: support simpleini cmake config and pc file

Alexandre Bouvier 2 år sedan
förälder
incheckning
645961613f
1 ändrade filer med 12 tillägg och 10 borttagningar
  1. 12 10
      CMakeModules/FindSimpleIni.cmake

+ 12 - 10
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()