Merge pull request #26350 from jjd-uk/estuary_media_align
[xbmc.git] / cmake / modules / FindSqlite3.cmake
blob50a5984261dec798465b9e13ef63485ba1d0910e
1 #.rst:
2 # FindSqlite3
3 # -----------
4 # Finds the SQLite3 library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::Sqlite3 - The SQLite3 library
11 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
12   find_package(PkgConfig QUIET)
13   if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
14     pkg_check_modules(PC_SQLITE3 sqlite3 QUIET)
16     set(SQLITE3_VERSION ${PC_SQLITE3_VERSION})
17   endif()
19   find_path(SQLITE3_INCLUDE_DIR NAMES sqlite3.h
20                              HINTS ${DEPENDS_PATH}/include ${PC_SQLITE3_INCLUDEDIR}
21                              ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
22   find_library(SQLITE3_LIBRARY NAMES sqlite3
23                                HINTS ${DEPENDS_PATH}/lib ${PC_SQLITE3_LIBDIR}
24                                ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
26   include(FindPackageHandleStandardArgs)
27   find_package_handle_standard_args(Sqlite3
28                                     REQUIRED_VARS SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR
29                                     VERSION_VAR SQLITE3_VERSION)
31   if(Sqlite3_FOUND)
32     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
33     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
34                                                                      IMPORTED_LOCATION "${SQLITE3_LIBRARY}"
35                                                                      INTERFACE_INCLUDE_DIRECTORIES "${SQLITE3_INCLUDE_DIR}")
36   else()
37     if(Sqlite3_FIND_REQUIRED)
38       message(FATAL_ERROR "SQLite3 library not found.")
39     endif()
40   endif()
41 endif()