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.cmake56
1 files changed, 56 insertions, 0 deletions
diff --git a/project/cmake/modules/FindCrossGUID.cmake b/project/cmake/modules/FindCrossGUID.cmake
new file mode 100644
index 0000000..0d4a915
--- /dev/null
+++ b/project/cmake/modules/FindCrossGUID.cmake
@@ -0,0 +1,56 @@
1if(ENABLE_INTERNAL_CROSSGUID)
2 include(ExternalProject)
3 file(STRINGS ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/Makefile VER)
4 string(REGEX MATCH "VERSION=[^ ]*" CGUID_VER "${VER}")
5 list(GET CGUID_VER 0 CGUID_VER)
6 string(SUBSTRING "${CGUID_VER}" 8 -1 CGUID_VER)
7
8 externalproject_add(crossguid
9 URL http://mirrors.kodi.tv/build-deps/sources/crossguid-${CGUID_VER}.tar.gz
10 PREFIX ${CORE_BUILD_DIR}/crossguid
11 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}
12 -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
13 PATCH_COMMAND ${CMAKE_COMMAND} -E copy
14 ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/CMakeLists.txt
15 <SOURCE_DIR> &&
16 ${CMAKE_COMMAND} -E copy
17 ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindUUID.cmake
18 <SOURCE_DIR> &&
19 ${CMAKE_COMMAND} -E copy
20 ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindCXX11.cmake
21 <SOURCE_DIR>)
22
23 set(CROSSGUID_FOUND 1)
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
27 include(FindPackageHandleStandardArgs)
28 find_package_handle_standard_args(CROSSGUID DEFAULT_MSG CROSSGUID_INCLUDE_DIRS CROSSGUID_LIBRARIES)
29 mark_as_advanced(CROSSGUID_INCLUDE_DIRS CROSSGUID_LIBRARIES CROSSGUID_DEFINITIONS CROSSGUID_FOUND)
30else()
31 find_path(CROSSGUID_INCLUDE_DIR guid.h)
32
33 find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid
34 ${CONFIGURATION_LIBDIR_RELEASE})
35 find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd
36 ${CONFIGURATION_LIBDIR_DEBUG})
37
38 include(SelectLibraryConfigurations)
39 select_library_configurations(CROSSGUID)
40
41 include(FindPackageHandleStandardArgs)
42 find_package_handle_standard_args(CROSSGUID
43 REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR)
44
45 if(CROSSGUID_FOUND)
46 set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY})
47 set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR})
48 endif()
49 mark_as_advanced(CROSSGUID_INCLUDE_DIR CROSSGUID_LIBRARY)
50endif()
51
52if(NOT WIN32 AND NOT APPLE)
53 find_package(UUID REQUIRED)
54 list(APPEND CROSSGUID_INCLUDE_DIRS ${UUID_INCLUDE_DIRS})
55 list(APPEND CROSSGUID_LIBRARIES ${UUID_LIBRARIES})
56endif()