[videoplayer] No external subs search for uPnP sources
[xbmc.git] / cmake / addons / bootstrap / Bootstrap.cmake
blob5d2030259092f85dbac0d3f2e885a60fefeb6a5f
1 list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
3 # make sure that the installation location has been specified
4 if(NOT CMAKE_INSTALL_PREFIX)
5   message(FATAL_ERROR "CMAKE_INSTALL_PREFIX has not been specified")
6 endif()
8 # figure out which addons to bootstrap (defaults to all)
9 if(NOT ADDONS_TO_BUILD)
10   set(ADDONS_TO_BUILD "all")
11 else()
12   string(STRIP "${ADDONS_TO_BUILD}" ADDONS_TO_BUILD)
13   message(STATUS "Bootstrapping following addons: ${ADDONS_TO_BUILD}")
14   string(REPLACE " " ";" ADDONS_TO_BUILD ${ADDONS_TO_BUILD})
15 endif()
17 # find all addon definitions and go through them
18 file(GLOB_RECURSE ADDON_DEFINITIONS ${PROJECT_SOURCE_DIR}/*.txt)
19 foreach(ADDON_DEFINITION_FILE ${ADDON_DEFINITIONS})
20   # ignore platforms.txt
21   if(NOT (ADDON_DEFINITION_FILE MATCHES platforms.txt))
22     # read the addon definition file
23     file(STRINGS ${ADDON_DEFINITION_FILE} ADDON_DEFINITION)
24     string(REPLACE " " ";" ADDON_DEFINITION ${ADDON_DEFINITION})
26     # extract the addon definition's identifier
27     list(GET ADDON_DEFINITION 0 ADDON_ID)
29     # check if the addon definition should be built
30     if(ADDON_ID MATCHES "^${ADDONS_TO_BUILD}" OR ADDONS_TO_BUILD STREQUAL all)
31       # get the path to the addon definition directory
32       get_filename_component(ADDON_DEFINITION_DIR ${ADDON_DEFINITION_FILE} DIRECTORY)
34       # install the addon definition
35       message(STATUS "Bootstrapping ${ADDON_ID} addon...")
36       file(INSTALL ${ADDON_DEFINITION_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX})
37     endif()
38   endif()
39 endforeach()