From 2577b55681a97f3eec3fb0e3b5a4fb7f2cb18b8a Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 30 Aug 2018 00:42:04 +0200 Subject: sync with upstream --- cmake/modules/Findfstrcmp.cmake | 80 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 cmake/modules/Findfstrcmp.cmake (limited to 'cmake/modules/Findfstrcmp.cmake') diff --git a/cmake/modules/Findfstrcmp.cmake b/cmake/modules/Findfstrcmp.cmake new file mode 100644 index 0000000..f0c15d3 --- /dev/null +++ b/cmake/modules/Findfstrcmp.cmake @@ -0,0 +1,80 @@ +#.rst: +# Findfstrcmp +# -------- +# Finds the fstrcmp library +# +# This will define the following variables:: +# +# FSTRCMP_FOUND - system has libfstrcmp +# FSTRCMP_INCLUDE_DIRS - the libfstrcmp include directory +# FSTRCMP_LIBRARIES - the libfstrcmp libraries +# + +if(ENABLE_INTERNAL_FSTRCMP) + include(ExternalProject) + file(STRINGS ${CMAKE_SOURCE_DIR}/tools/depends/target/libfstrcmp/Makefile VER) + string(REGEX MATCH "VERSION=[^ ]*" FSTRCMP_VER "${VER}") + list(GET FSTRCMP_VER 0 FSTRCMP_VER) + string(SUBSTRING "${FSTRCMP_VER}" 8 -1 FSTRCMP_VER) + + # allow user to override the download URL with a local tarball + # needed for offline build envs + if(FSTRCMP_URL) + get_filename_component(FSTRCMP_URL "${FSTRCMP_URL}" ABSOLUTE) + else() + set(FSTRCMP_URL http://mirrors.kodi.tv/build-deps/sources/fstrcmp-${FSTRCMP_VER}.tar.gz) + endif() + if(VERBOSE) + message(STATUS "FSTRCMPURL: ${FSTRCMP_URL}") + endif() + + set(FSTRCMP_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libfstrcmp.a) + set(FSTRCMP_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) + externalproject_add(fstrcmp + URL ${FSTRCMP_URL} + DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download + PREFIX ${CORE_BUILD_DIR}/fstrcmp + CONFIGURE_COMMAND autoreconf -vif && ./configure --prefix ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} + BUILD_BYPRODUCTS ${FSTRCMP_LIBRARY} + BUILD_IN_SOURCE 1) + set_target_properties(fstrcmp PROPERTIES FOLDER "External Projects") + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(fstrcmp + REQUIRED_VARS FSTRCMP_LIBRARY FSTRCMP_INCLUDE_DIR + VERSION_VAR FSTRCMP_VER) + + set(FSTRCMP_LIBRARIES -Wl,-Bstatic ${FSTRCMP_LIBRARY} -Wl,-Bdynamic) + set(FSTRCMP_INCLUDE_DIRS ${FSTRCMP_INCLUDE_DIR}) +else() + if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_FSTRCMP fstrcmp QUIET) + endif() + + find_path(FSTRCMP_INCLUDE_DIR NAMES fstrcmp.h + PATHS ${PC_FSTRCMP_INCLUDEDIR}) + + find_library(FSTRCMP_LIBRARY NAMES fstrcmp + PATHS ${PC_FSTRCMP_LIBDIR}) + + set(FSTRCMP_VERSION ${PC_FSTRCMP_VERSION}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(fstrcmp + REQUIRED_VARS FSTRCMP_LIBRARY FSTRCMP_INCLUDE_DIR + VERSION_VAR FSTRCMP_VERSION) + + if(FSTRCMP_FOUND) + set(FSTRCMP_INCLUDE_DIRS ${FSTRCMP_INCLUDE_DIR}) + set(FSTRCMP_LIBRARIES ${FSTRCMP_LIBRARY}) + endif() + + if(NOT TARGET fstrcmp) + add_library(fstrcmp UNKNOWN IMPORTED) + set_target_properties(fstrcmp PROPERTIES + IMPORTED_LOCATION "${FSTRCMP_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${FSTRCMP_INCLUDE_DIR}") + endif() +endif() + +mark_as_advanced(FSTRCMP_INCLUDE_DIR FSTRCMP_LIBRARY) -- cgit v1.2.3