From 8cdf8dec703d882b46ca50a769fabb95ffc48e2c Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 24 Nov 2016 21:27:41 +0100 Subject: sync with upstream --- project/cmake/modules/FindCrossGUID.cmake | 39 +++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 10 deletions(-) (limited to 'project/cmake/modules/FindCrossGUID.cmake') diff --git a/project/cmake/modules/FindCrossGUID.cmake b/project/cmake/modules/FindCrossGUID.cmake index df40c9e..bcae3d3 100644 --- a/project/cmake/modules/FindCrossGUID.cmake +++ b/project/cmake/modules/FindCrossGUID.cmake @@ -5,8 +5,22 @@ if(ENABLE_INTERNAL_CROSSGUID) list(GET CGUID_VER 0 CGUID_VER) string(SUBSTRING "${CGUID_VER}" 8 -1 CGUID_VER) + # allow user to override the download URL with a local tarball + # needed for offline build envs + if(CROSSGUID_URL) + get_filename_component(CROSSGUID_URL "${CROSSGUID_URL}" ABSOLUTE) + else() + set(CROSSGUID_URL http://mirrors.kodi.tv/build-deps/sources/crossguid-${CGUID_VER}.tar.gz) + endif() + if(VERBOSE) + message(STATUS "CROSSGUID_URL: ${CROSSGUID_URL}") + endif() + + set(CROSSGUID_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libcrossguid.a) + set(CROSSGUID_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) externalproject_add(crossguid - URL http://mirrors.kodi.tv/build-deps/sources/crossguid-${CGUID_VER}.tar.gz + URL ${CROSSGUID_URL} + DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download PREFIX ${CORE_BUILD_DIR}/crossguid CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} @@ -18,17 +32,19 @@ if(ENABLE_INTERNAL_CROSSGUID) && ${CMAKE_COMMAND} -E copy ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindCXX11.cmake - ) - - set(CROSSGUID_FOUND 1) - set(CROSSGUID_LIBRARIES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libcrossguid.a) - set(CROSSGUID_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) + + BUILD_BYPRODUCTS ${CROSSGUID_LIBRARY}) + set_target_properties(crossguid PROPERTIES FOLDER "External Projects") include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(CROSSGUID DEFAULT_MSG CROSSGUID_INCLUDE_DIRS CROSSGUID_LIBRARIES) - mark_as_advanced(CROSSGUID_INCLUDE_DIRS CROSSGUID_LIBRARIES CROSSGUID_DEFINITIONS CROSSGUID_FOUND) + find_package_handle_standard_args(CrossGuid + REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR + VERSION_VAR CGUID_VER) + + set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY}) + set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR}) else() - find_path(CROSSGUID_INCLUDE_DIR guid.h) + find_path(CROSSGUID_INCLUDE_DIR NAMES guid.h) find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid) find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd) @@ -37,12 +53,15 @@ else() select_library_configurations(CROSSGUID) include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(CROSSGUID + find_package_handle_standard_args(CrossGuid REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR) if(CROSSGUID_FOUND) set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY}) set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR}) + + add_custom_target(crossguid) + set_target_properties(crossguid PROPERTIES FOLDER "External Projects") endif() mark_as_advanced(CROSSGUID_INCLUDE_DIR CROSSGUID_LIBRARY) endif() -- cgit v1.2.3