File 0002-Add-cross-compile-support-for-kconfig_compiler-and-k.patch of Package mingw64-kconfig
diff -ur kconfig-5.103.0.orig/KF5ConfigConfig.cmake.in kconfig-5.103.0/KF5ConfigConfig.cmake.in
--- kconfig-5.103.0.orig/KF5ConfigConfig.cmake.in 2023-02-05 10:18:56.000000000 +0100
+++ kconfig-5.103.0/KF5ConfigConfig.cmake.in 2024-07-02 15:19:12.146182382 +0200
@@ -20,5 +20,11 @@
include("${KCONFIGCOMPILER_PATH}")
else()
include("${CMAKE_CURRENT_LIST_DIR}/KF5ConfigCompilerTargets.cmake")
+ if(CMAKE_CROSSCOMPILING AND KCONFIG_COMPILER_EXECUTABLE)
+ set_target_properties(KF5::kconfig_compiler PROPERTIES IMPORTED_LOCATION_NONE ${KCONFIG_COMPILER_EXECUTABLE})
+ endif()
+ if(CMAKE_CROSSCOMPILING AND KCONF_UPDATE_EXECUTABLE)
+ set_target_properties(KF5::kconf_update PROPERTIES IMPORTED_LOCATION_NONE ${KCONF_UPDATE_EXECUTABLE})
+ endif()
endif()
include("${CMAKE_CURRENT_LIST_DIR}/KF5ConfigMacros.cmake")
diff -ur kconfig-5.103.0.orig/src/kconfig_compiler/CMakeLists.txt kconfig-5.103.0/src/kconfig_compiler/CMakeLists.txt
--- kconfig-5.103.0.orig/src/kconfig_compiler/CMakeLists.txt 2023-02-05 10:18:56.000000000 +0100
+++ kconfig-5.103.0/src/kconfig_compiler/CMakeLists.txt 2024-07-02 15:19:12.146182382 +0200
@@ -4,6 +4,8 @@
if(BUILD_TESTING)
message(WARNING "Testing should be disabled on cross-compilation")
endif()
+ add_executable(KF5::kconfig_compiler IMPORTED GLOBAL)
+ set_target_properties(KF5::kconfig_compiler PROPERTIES IMPORTED_LOCATION ${KCONFIG_COMPILER_EXECUTABLE})
else()
add_executable(KF5::kconfig_compiler ALIAS kconfig_compiler)
endif()
Nur in kconfig-5.103.0/src/kconfig_compiler: CMakeLists.txt.orig.
diff -ur kconfig-5.103.0.orig/src/kconf_update/CMakeLists.txt kconfig-5.103.0/src/kconf_update/CMakeLists.txt
--- kconfig-5.103.0.orig/src/kconf_update/CMakeLists.txt 2023-02-05 10:18:56.000000000 +0100
+++ kconfig-5.103.0/src/kconf_update/CMakeLists.txt 2024-07-02 15:20:51.669976016 +0200
@@ -1,5 +1,10 @@
add_executable(kconf_update)
-add_executable(KF5::kconf_update ALIAS kconf_update)
+if(CMAKE_CROSSCOMPILING AND KCONF_UPDATE_EXECUTABLE)
+ add_executable(KF5::kconf_update IMPORTED GLOBAL)
+ set_target_properties(KF5::kconf_update PROPERTIES IMPORTED_LOCATION ${KCONF_UPDATE_EXECUTABLE})
+else()
+ add_executable(KF5::kconf_update ALIAS kconf_update)
+endif()
target_sources(kconf_update PRIVATE
kconf_update.cpp
diff -ur kconfig-5.103.0.orig/KF5ConfigMacros.cmake kconfig-5.103.0/KF5ConfigMacros.cmake
--- kconfig-5.103.0.orig/KF5ConfigMacros.cmake 2023-02-05 10:18:56.000000000 +0100
+++ kconfig-5.103.0/KF5ConfigMacros.cmake 2024-07-04 10:30:46.855693866 +0200
@@ -14,6 +14,15 @@
include(CMakeParseArguments)
+
+if(CMAKE_CROSSCOMPILING AND KCONFIG_COMPILER_EXECUTABLE)
+ set(KCONFIG_KCONFIG_COMPILER_EXECUTABLE ${KCONFIG_COMPILER_EXECUTABLE})
+ set(KCONFIG_KCONFIG_COMPILER_DEPENDS)
+else()
+ set(KCONFIG_KCONFIG_COMPILER_EXECUTABLE "KF5::kconfig_compiler")
+ set(KCONFIG_KCONFIG_COMPILER_DEPENDS ${KCONFIG_KCONFIG_COMPILER_EXECUTABLE})
+endif()
+
function (KCONFIG_ADD_KCFG_FILES _target_or_source_var)
set(options GENERATE_MOC USE_RELATIVE_PATH)
cmake_parse_arguments(ARG "${options}" "" "" ${ARGN})
@@ -99,10 +108,10 @@
# the command for creating the source file from the kcfg file
add_custom_command(OUTPUT ${_header_FILE} ${_src_FILE}
- COMMAND KF5::kconfig_compiler
+ COMMAND ${KCONFIG_KCONFIG_COMPILER_EXECUTABLE}
ARGS ${_kcfg_FILE} ${_tmp_FILE} -d ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}
MAIN_DEPENDENCY ${_tmp_FILE}
- DEPENDS ${_kcfg_FILE} KF5::kconfig_compiler)
+ DEPENDS ${_kcfg_FILE} ${KCONFIG_KCONFIG_COMPILER_DEPENDS})
set_source_files_properties(${_header_FILE} ${_src_FILE} PROPERTIES
SKIP_AUTOMOC ON