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)
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)
30 find_package(PkgConfig)
31 if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
32 pkg_check_modules(PC_FSTRCMP fstrcmp QUIET)
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})
46 include(FindPackageHandleStandardArgs)
47 find_package_handle_standard_args(Fstrcmp
48 REQUIRED_VARS FSTRCMP_LIBRARY FSTRCMP_INCLUDE_DIR
49 VERSION_VAR FSTRCMP_VER)
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}")
58 add_dependencies(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} fstrcmp)
61 if(Fstrcmp_FIND_REQUIRED)
62 message(FATAL_ERROR "Fstrcmp libraries were not found. You may want to use -DENABLE_INTERNAL_FSTRCMP=ON")