summaryrefslogtreecommitdiffstats
path: root/project/cmake/modules/FindCrossGUID.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'project/cmake/modules/FindCrossGUID.cmake')
-rw-r--r--project/cmake/modules/FindCrossGUID.cmake39
1 files changed, 29 insertions, 10 deletions
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)
5 list(GET CGUID_VER 0 CGUID_VER) 5 list(GET CGUID_VER 0 CGUID_VER)
6 string(SUBSTRING "${CGUID_VER}" 8 -1 CGUID_VER) 6 string(SUBSTRING "${CGUID_VER}" 8 -1 CGUID_VER)
7 7
8 # allow user to override the download URL with a local tarball
9 # needed for offline build envs
10 if(CROSSGUID_URL)
11 get_filename_component(CROSSGUID_URL "${CROSSGUID_URL}" ABSOLUTE)
12 else()
13 set(CROSSGUID_URL http://mirrors.kodi.tv/build-deps/sources/crossguid-${CGUID_VER}.tar.gz)
14 endif()
15 if(VERBOSE)
16 message(STATUS "CROSSGUID_URL: ${CROSSGUID_URL}")
17 endif()
18
19 set(CROSSGUID_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libcrossguid.a)
20 set(CROSSGUID_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include)
8 externalproject_add(crossguid 21 externalproject_add(crossguid
9 URL http://mirrors.kodi.tv/build-deps/sources/crossguid-${CGUID_VER}.tar.gz 22 URL ${CROSSGUID_URL}
23 DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download
10 PREFIX ${CORE_BUILD_DIR}/crossguid 24 PREFIX ${CORE_BUILD_DIR}/crossguid
11 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} 25 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}
12 -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} 26 -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
@@ -18,17 +32,19 @@ if(ENABLE_INTERNAL_CROSSGUID)
18 <SOURCE_DIR> && 32 <SOURCE_DIR> &&
19 ${CMAKE_COMMAND} -E copy 33 ${CMAKE_COMMAND} -E copy
20 ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindCXX11.cmake 34 ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindCXX11.cmake
21 <SOURCE_DIR>) 35 <SOURCE_DIR>
22 36 BUILD_BYPRODUCTS ${CROSSGUID_LIBRARY})
23 set(CROSSGUID_FOUND 1) 37 set_target_properties(crossguid PROPERTIES FOLDER "External Projects")
24 set(CROSSGUID_LIBRARIES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libcrossguid.a)
25 set(CROSSGUID_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include)
26 38
27 include(FindPackageHandleStandardArgs) 39 include(FindPackageHandleStandardArgs)
28 find_package_handle_standard_args(CROSSGUID DEFAULT_MSG CROSSGUID_INCLUDE_DIRS CROSSGUID_LIBRARIES) 40 find_package_handle_standard_args(CrossGuid
29 mark_as_advanced(CROSSGUID_INCLUDE_DIRS CROSSGUID_LIBRARIES CROSSGUID_DEFINITIONS CROSSGUID_FOUND) 41 REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR
42 VERSION_VAR CGUID_VER)
43
44 set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY})
45 set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR})
30else() 46else()
31 find_path(CROSSGUID_INCLUDE_DIR guid.h) 47 find_path(CROSSGUID_INCLUDE_DIR NAMES guid.h)
32 48
33 find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid) 49 find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid)
34 find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd) 50 find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd)
@@ -37,12 +53,15 @@ else()
37 select_library_configurations(CROSSGUID) 53 select_library_configurations(CROSSGUID)
38 54
39 include(FindPackageHandleStandardArgs) 55 include(FindPackageHandleStandardArgs)
40 find_package_handle_standard_args(CROSSGUID 56 find_package_handle_standard_args(CrossGuid
41 REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR) 57 REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR)
42 58
43 if(CROSSGUID_FOUND) 59 if(CROSSGUID_FOUND)
44 set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY}) 60 set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY})
45 set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR}) 61 set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR})
62
63 add_custom_target(crossguid)
64 set_target_properties(crossguid PROPERTIES FOLDER "External Projects")
46 endif() 65 endif()
47 mark_as_advanced(CROSSGUID_INCLUDE_DIR CROSSGUID_LIBRARY) 66 mark_as_advanced(CROSSGUID_INCLUDE_DIR CROSSGUID_LIBRARY)
48endif() 67endif()