blob: c8739c08eca118ecc43314ca8c1086ff78cdc881 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
cmake_minimum_required(VERSION 3.1)
project(kodi-addons-depends-windows)
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
include(ExternalProject)
if(NOT ADDON_DEPENDS_PATH)
message(FATAL_ERROR "ADDON_DEPENDS_PATH (${ADDON_DEPENDS_PATH}) is not a valid target directory.")
else()
file(TO_CMAKE_PATH "${ADDON_DEPENDS_PATH}" ADDON_DEPENDS_PATH)
endif()
get_filename_component(ADDON_DEPENDS_PATH "${ADDON_DEPENDS_PATH}" ABSOLUTE)
list(APPEND CMAKE_PREFIX_PATH ${ADDON_DEPENDS_PATH})
if(NOT DEPENDS_TO_BUILD)
set(DEPENDS_TO_BUILD "all")
endif()
function(add_internal id url inputfile)
externalproject_add(${id}
URL ${url}
PREFIX build/${id}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ${CMAKE_COMMAND}
-DINPUTDIR=${PROJECT_BINARY_DIR}/build/${id}/src/${id}
-DINPUTFILE=${inputfile}
-DDESTDIR=${ADDON_DEPENDS_PATH}
-P ${PROJECT_SOURCE_DIR}/Install.cmake
)
endfunction()
file(GLOB_RECURSE download_input_files prebuilt/*.txt)
foreach(file ${download_input_files})
if(NOT file MATCHES install.txt)
file(STRINGS ${file} def)
get_filename_component(dir ${file} DIRECTORY)
string(REPLACE " " ";" def ${def})
list(GET def 0 id)
list(FIND DEPENDS_TO_BUILD ${id} idx)
if(idx GREATER -1 OR DEPENDS_TO_BUILD STREQUAL "all")
list(GET def 1 url)
add_internal(${id} ${url} ${dir}/install.txt)
endif()
endif()
endforeach()
|