[FileItem] Fix mimetype content lookup
[xbmc.git] / cmake / modules / FindFstrcmp.cmake
blob786456a2c7283dda78522921341e89f7d3131b72
1 #.rst:
2 # FindFstrcmp
3 # --------
4 # Finds the fstrcmp library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::Fstrcmp   - The fstrcmp library
11 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
12   if(ENABLE_INTERNAL_FSTRCMP)
13     find_program(LIBTOOL libtool REQUIRED)
14     include(cmake/scripts/common/ModuleHelpers.cmake)
16     set(MODULE_LC fstrcmp)
18     SETUP_BUILD_VARS()
20     find_program(AUTORECONF autoreconf REQUIRED)
22     set(CONFIGURE_COMMAND ${AUTORECONF} -vif
23                   COMMAND ./configure --prefix ${DEPENDS_PATH})
24     set(BUILD_COMMAND make lib/libfstrcmp.la)
25     set(BUILD_IN_SOURCE 1)
26     set(INSTALL_COMMAND make install-libdir install-include)
28     BUILD_DEP_TARGET()
29   else()
30     find_package(PkgConfig)
31     if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
32       pkg_check_modules(PC_FSTRCMP fstrcmp QUIET)
33     endif()
35     find_path(FSTRCMP_INCLUDE_DIR NAMES fstrcmp.h
36                                   HINTS ${DEPENDS_PATH}/include ${PC_FSTRCMP_INCLUDEDIR}
37                                   ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
39     find_library(FSTRCMP_LIBRARY NAMES fstrcmp
40                                  HINTS ${DEPENDS_PATH}/lib ${PC_FSTRCMP_LIBDIR}
41                                  ${${CORE_PLATFORM_LC}_SEARCH_CONFIG})
43     set(FSTRCMP_VER ${PC_FSTRCMP_VERSION})
44   endif()
46   include(FindPackageHandleStandardArgs)
47   find_package_handle_standard_args(Fstrcmp
48                                     REQUIRED_VARS FSTRCMP_LIBRARY FSTRCMP_INCLUDE_DIR
49                                     VERSION_VAR FSTRCMP_VER)
51   if(FSTRCMP_FOUND)
52     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
53     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
54                                                                      IMPORTED_LOCATION "${FSTRCMP_LIBRARY}"
55                                                                      INTERFACE_INCLUDE_DIRECTORIES "${FSTRCMP_INCLUDE_DIR}")
57     if(TARGET fstrcmp)
58       add_dependencies(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} fstrcmp)
59     endif()
60   else()
61     if(Fstrcmp_FIND_REQUIRED)
62       message(FATAL_ERROR "Fstrcmp libraries were not found. You may want to use -DENABLE_INTERNAL_FSTRCMP=ON")
63     endif()
64   endif()
65 endif()