From 53214d124e4806809fabe83d614c06e3d1552089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Tue, 4 Feb 2020 00:55:27 +0100 Subject: [PATCH] Fix multiple processing of kcfgc files in the same directory. Instead, processing into the current binary directory is performed. This resolves FTBFS with ninja-build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- konsolekalendar/CMakeLists.txt | 8 ++++---- korganizer/CMakeLists.txt | 34 ++++++++++++++++++++-------------- wizards/CMakeLists.txt | 8 ++++---- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/konsolekalendar/CMakeLists.txt b/konsolekalendar/CMakeLists.txt index 2c736bc5..8738d401 100644 --- a/konsolekalendar/CMakeLists.txt +++ b/konsolekalendar/CMakeLists.txt @@ -38,18 +38,18 @@ install( FILES konsolekalendar.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) ##### helper #################################### macro( process_kcfg _who _out _path _kcfg _kcfgc ) - add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/${_path}/${_out} + add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} COMMAND - mkdir -p ${CMAKE_BINARY_DIR}/${_path} + mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_path} COMMAND ${KDE3_KCFGC_EXECUTABLE} - -d ${CMAKE_BINARY_DIR}/${_path} + -d ${CMAKE_CURRENT_BINARY_DIR}/${_path} ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg} ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} DEPENDS ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg} ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} ) set_property( SOURCE ${_who} APPEND - PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/${_path}/${_out} ) + PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} ) endmacro( ) diff --git a/korganizer/CMakeLists.txt b/korganizer/CMakeLists.txt index b8c0d4d1..ab3b5615 100644 --- a/korganizer/CMakeLists.txt +++ b/korganizer/CMakeLists.txt @@ -158,22 +158,28 @@ tde_add_library( ${target} SHARED AUTOMOC ) -##### korganizer (shared) ####################### +##### helper #################################### + +macro( process_kcfg _who _out _path _kcfg _kcfgc ) + add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} + COMMAND + mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_path} + COMMAND ${KDE3_KCFGC_EXECUTABLE} + -d ${CMAKE_CURRENT_BINARY_DIR}/${_path} + ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg} + ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} + DEPENDS + ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg} + ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} ) + set_property( SOURCE ${_who} APPEND + PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} ) +endmacro( ) -add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libkcal/htmlexportsettings.h - COMMAND - mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/libkcal - COMMAND ${KDE3_KCFGC_EXECUTABLE} - -d ${CMAKE_CURRENT_BINARY_DIR}/libkcal - ${CMAKE_SOURCE_DIR}/libkcal/htmlexportsettings.kcfg - ${CMAKE_SOURCE_DIR}/libkcal/htmlexportsettings.kcfgc - DEPENDS - ${CMAKE_SOURCE_DIR}/libkcal/htmlexportsettings.kcfg - ${CMAKE_SOURCE_DIR}/libkcal/htmlexportsettings.kcfgc -) -set_source_files_properties( calendarview.cpp - PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libkcal/htmlexportsettings.h ) +##### korganizer (shared) ####################### + +process_kcfg( calendarview.cpp htmlexportsettings.h libkcal + htmlexportsettings.kcfg htmlexportsettings.kcfgc ) tde_add_library( korganizer SHARED AUTOMOC META_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/interfaces/korganizer diff --git a/wizards/CMakeLists.txt b/wizards/CMakeLists.txt index 443a9022..5aef143b 100644 --- a/wizards/CMakeLists.txt +++ b/wizards/CMakeLists.txt @@ -58,18 +58,18 @@ install( FILES ##### helper #################################### macro( process_kcfg _who _out _path _kcfg _kcfgc ) - add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/${_path}/${_out} + add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} COMMAND - mkdir -p ${CMAKE_BINARY_DIR}/${_path} + mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_path} COMMAND ${KDE3_KCFGC_EXECUTABLE} - -d ${CMAKE_BINARY_DIR}/${_path} + -d ${CMAKE_CURRENT_BINARY_DIR}/${_path} ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg} ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} DEPENDS ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg} ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} ) set_property( SOURCE ${_who} APPEND - PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/${_path}/${_out} ) + PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} ) endmacro()