Merge pull request #5014 from Montellese/binary_addons
[vuplus_xbmc] / project / cmake / addons / depends / windows / CMakeLists.txt
1 project(xbmc-addons-depends-windows)
2
3 cmake_minimum_required(VERSION 2.8)
4
5 list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
6
7 if(NOT CMAKE_BUILD_TYPE)
8   set(CMAKE_BUILD_TYPE Release)
9 endif()
10
11 include(ExternalProject)
12
13 if(NOT CMAKE_INSTALL_PREFIX)
14   message(FATAL_ERROR "CMAKE_INSTALL_PREFIX (${CMAKE_INSTALL_PREFIX}) is not a valid target directory.")
15 else()
16   file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX)
17 endif()
18 get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
19 list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX})
20
21 function(add_internal id url inputfile)
22   externalproject_add(${id}
23                       URL ${url}
24                       PREFIX build/${id}
25                       CONFIGURE_COMMAND ""
26                       BUILD_COMMAND ""
27                       INSTALL_COMMAND ${CMAKE_COMMAND}
28                                       -DINPUTDIR=${PROJECT_BINARY_DIR}/build/${id}/src/${id}
29                                       -DINPUTFILE=${inputfile}
30                                       -DDESTDIR=${CMAKE_INSTALL_PREFIX}
31                                       -P ${PROJECT_SOURCE_DIR}/install.cmake
32                      )
33 endfunction()
34
35 #find_package(7Zip REQUIRED)
36
37 file(GLOB_RECURSE download_input_files prebuilt/*.txt)
38 foreach(file ${download_input_files})
39   if(NOT file MATCHES install.txt)
40     file(STRINGS ${file} def)
41     get_filename_component(dir ${file} PATH)
42     string(REPLACE " " ";" def ${def})
43     list(GET def 0 id)
44     list(GET def 1 url)
45     add_internal(${id} ${url} ${dir}/install.txt)
46   endif()
47 endforeach()