summaryrefslogtreecommitdiff
path: root/patches/monero/0017-drop-generate_translations_header.c-requirement.patch
blob: f6549dc62d210d6fcabef67dd705cf3f60883006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
From 6aa368c9613a1a7b7f2f1ce1f025962d40827c67 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Fri, 20 Feb 2026 08:03:01 +0100
Subject: [PATCH 17/20] drop generate_translations_header.c requirement

---
 CMakeLists.txt              |  9 +----
 translations/CMakeLists.txt | 79 +++++++++++++------------------------
 2 files changed, 30 insertions(+), 58 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cef44dd1b..ce5e1b557 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -666,16 +666,11 @@ endfunction ()
 # Generate header for embedded translations
 # Generate header for embedded translations, use target toolchain if depends, otherwise use the
 # lrelease and lupdate binaries from the host
-include(ExternalProject)
-ExternalProject_Add(generate_translations_header
-  SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/translations"
-  BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/translations"
-  STAMP_DIR ${LRELEASE_PATH}
-  CMAKE_ARGS -DLRELEASE_PATH=${LRELEASE_PATH}
-  INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "")
+add_subdirectory(translations)
 include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations")
 add_subdirectory(external)
 
+
 # Final setup for libunbound
 include_directories(${UNBOUND_INCLUDE_DIR})
 
diff --git a/translations/CMakeLists.txt b/translations/CMakeLists.txt
index 3b43360f8..d88a78ced 100644
--- a/translations/CMakeLists.txt
+++ b/translations/CMakeLists.txt
@@ -30,54 +30,31 @@ cmake_minimum_required(VERSION 3.5)
 
 project(translations)
 
-# when crosscompiling import the executable targets from a file
-IF(CMAKE_CROSSCOMPILING)
-  message(WARNING "CrossCompiling")
-  SET(IMPORT_EXECUTABLES "${CMAKE_CURRENT_BINARY_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Point it to the export file from a native build")
-  INCLUDE(${IMPORT_EXECUTABLES})
-ENDIF(CMAKE_CROSSCOMPILING)
-
-# only build the generator if not crosscompiling
-IF(NOT CMAKE_CROSSCOMPILING)
-  add_executable(generate_translations_header generate_translations_header.c)
-ENDIF(NOT CMAKE_CROSSCOMPILING)
-
-if(LRELEASE_PATH STREQUAL "")
-  find_program(LRELEASE lrelease)
-else()
-  set(LRELEASE ${LRELEASE_PATH}/lrelease)
-endif()
-
-if(LRELEASE STREQUAL "LRELEASE-NOTFOUND")
-  set(ts_files "")
-  message(WARNING "lrelease program not found, translation files not built")
-else()
-  execute_process(COMMAND ${LRELEASE} -version
-    RESULT_VARIABLE lrelease_ret)
-  if(NOT lrelease_ret EQUAL "0")
-    set(ts_files "")
-    message(WARNING "lrelease program not working, translation files not built")
-  else()
-    file(GLOB ts_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.ts)
-    foreach(ts_file ${ts_files})
-      string(REPLACE ".ts" ".qm" qm_file "${ts_file}")
-      add_custom_command(TARGET generate_translations_header
-        PRE_BUILD
-        COMMAND ${LRELEASE} "${CMAKE_CURRENT_SOURCE_DIR}/${ts_file}" -qm "${qm_file}"
-        WORKING_DIRECTORY "${CMAKE_CURRENT_BIN_DIR}")
-    endforeach()
-  endif()
-endif()
-
-string(REPLACE ".ts" ".qm" qm_files "${ts_files}")
-
-add_custom_command(TARGET generate_translations_header
-  POST_BUILD
-  COMMAND $<TARGET_FILE:generate_translations_header> ${qm_files}
-  WORKING_DIRECTORY "${CMAKE_CURRENT_BIN_DIR}"
-  COMMENT "Generating embedded translations header")
-
-# export the generator target to a file, so it can be imported (see above) by another build
-IF(NOT CMAKE_CROSSCOMPILING)
-  EXPORT(TARGETS generate_translations_header FILE ${CMAKE_CURRENT_BINARY_DIR}/ImportExecutables.cmake )
-ENDIF(NOT CMAKE_CROSSCOMPILING)
+add_custom_target(generate_translations_header)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/translation_files.h"
+"#ifndef TRANSLATION_FILES_H
+#define TRANSLATION_FILES_H
+
+#include <string>
+
+static const struct embedded_file {
+  const std::string *name;
+  const std::string *data;
+} embedded_files[] = {
+  {NULL, NULL}
+};
+
+static bool find_embedded_file(const std::string &name, std::string &data) {
+  const struct embedded_file *p;
+  for (p = embedded_files; p->name != NULL; p++) {
+    if (*p->name == name) {
+      data = *p->data;
+      return true;
+    }
+  }
+  return false;
+}
+
+#endif /* TRANSLATION_FILES_H */
+")
-- 
2.50.1 (Apple Git-155)