From cc1527c6b7b32ee47e101cb5fd1ec0be0fbc59a6 Mon Sep 17 00:00:00 2001 From: wsnipex Date: Fri, 7 Dec 2018 11:12:51 +0100 Subject: [cmake] fix ninja generator when dupbuild=err --- CMakeLists.txt | 3 ++- cmake/scripts/common/GenerateVersionedFiles.cmake | 2 +- cmake/scripts/common/Macros.cmake | 10 +++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28024af9fe..d744e42a71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -215,7 +215,8 @@ endif() # find all folders containing addon.xml.in # used to define ADDON_XML_OUTPUTS, ADDON_XML_DEPENDS and ADDON_INSTALL_DATA # Function defined in ./cmake/scripts/common/Macros.cmake -find_addon_xml_in_files() +set(outputFilterRegex "addons/xbmc.json") +find_addon_xml_in_files(${outputFilterRegex}) # Compile Info add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp diff --git a/cmake/scripts/common/GenerateVersionedFiles.cmake b/cmake/scripts/common/GenerateVersionedFiles.cmake index 011f4956f1..1d324db9c5 100644 --- a/cmake/scripts/common/GenerateVersionedFiles.cmake +++ b/cmake/scripts/common/GenerateVersionedFiles.cmake @@ -15,7 +15,7 @@ endfunction() file(GLOB ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/*/addon.xml.in) # remove 'xbmc.json', will be created from 'xbmc/interfaces/json-rpc/schema/CMakeLists.txt' -list(REMOVE_ITEM ADDON_XML_IN_FILE xbmc.json) +list(REMOVE_ITEM ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/xbmc.json/addon.xml.in) foreach(loop_var ${ADDON_XML_IN_FILE}) list(GET loop_var 0 xml_name) diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index cf1f241b3e..53aa48fb3e 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake @@ -777,6 +777,12 @@ endmacro() # find all folders containing addon.xml.in and used to define # ADDON_XML_OUTPUTS, ADDON_XML_DEPENDS and ADDON_INSTALL_DATA macro(find_addon_xml_in_files) + set(filter ${ARGV0}) + + if(filter AND VERBOSE) + message(STATUS "find_addon_xml_in_files: filtering ${filter}") + endif() + file(GLOB ADDON_XML_IN_FILE ${CMAKE_SOURCE_DIR}/addons/*/addon.xml.in) foreach(loop_var ${ADDON_XML_IN_FILE}) list(GET loop_var 0 xml_name) @@ -785,7 +791,9 @@ macro(find_addon_xml_in_files) string(REPLACE "${CORE_SOURCE_DIR}/" "" xml_name ${xml_name}) list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/${xml_name}/addon.xml.in") - list(APPEND ADDON_XML_OUTPUTS "${CMAKE_BINARY_DIR}/${xml_name}/addon.xml") + if(filter AND NOT xml_name MATCHES ${filter}) + list(APPEND ADDON_XML_OUTPUTS "${CMAKE_BINARY_DIR}/${xml_name}/addon.xml") + endif() # Read content of add-on folder to have on install file(GLOB ADDON_FILES "${CORE_SOURCE_DIR}/${xml_name}/*") -- cgit v1.2.3