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