Skip to content

Commit 908e29f

Browse files
Add patches so Doofah plugin builds
1 parent 182ae8e commit 908e29f

File tree

3 files changed

+226
-0
lines changed

3 files changed

+226
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../wpeframework/0001-CMake-Preparation-to-switch-off-legacy-config-genera.patch
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
diff --git a/Source/core/IIterator.h b/Source/core/IIterator.h
2+
index f75c059c..3d6236d6 100644
3+
--- a/Source/core/IIterator.h
4+
+++ b/Source/core/IIterator.h
5+
@@ -162,7 +162,7 @@ namespace Core {
6+
{
7+
ASSERT(IsValid());
8+
9+
- return (*m_Iterator);
10+
+ return (*m_Iterator);
11+
}
12+
13+
inline const ELEMENT& Current() const
14+
@@ -209,6 +209,11 @@ namespace Core {
15+
{
16+
return (m_Container);
17+
}
18+
+ inline void Container(CONTAINER& container) {
19+
+ m_Container = &container;
20+
+ m_Iterator = m_Container->begin();
21+
+ m_Index = 0;
22+
+ }
23+
24+
private:
25+
CONTAINER* m_Container;
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
From 05547c88c01a97dc0dd0cf3a34b0fb139df45a5e Mon Sep 17 00:00:00 2001
2+
From: Bram Oosterhuis <[email protected]>
3+
Date: Wed, 10 Aug 2022 21:49:28 +0200
4+
Subject: [PATCH] CMake: Preparation to switch off legacy config generator
5+
6+
---
7+
CMakeLists.txt | 9 ++++++++-
8+
Source/WPEFramework/GenericConfig.cmake | 5 +++++
9+
Tools/cmake/FindConfigGenerator.cmake.in | 17 +++++++++++++----
10+
cmake/config.cmake | 18 ++++++++++++------
11+
cmake/project.cmake.in | 4 ++++
12+
5 files changed, 42 insertions(+), 11 deletions(-)
13+
14+
diff --git a/CMakeLists.txt b/CMakeLists.txt
15+
index 2a3f11d5..7e6901e7 100644
16+
--- a/CMakeLists.txt
17+
+++ b/CMakeLists.txt
18+
@@ -31,6 +31,8 @@ option(HIDE_NON_EXTERNAL_SYMBOLS
19+
"Hide all non EXTERNAL tagged symbols" ON)
20+
option(ENABLE_STRICT_COMPILER_SETTINGS
21+
"Enable compiler flags to get the warnings/errors due to improper condition in the code" OFF)
22+
+option(LEGACY_CONFIG_GENERATOR
23+
+ "Skip the legacy config generator even it's supported by your cmake version." ON)
24+
25+
if (BUILD_REFERENCE)
26+
add_definitions (-DBUILD_REFERENCE=${BUILD_REFERENCE})
27+
@@ -95,9 +97,14 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE}.cmake"
28+
RENAME "${NAMESPACE}Config.cmake"
29+
DESTINATION lib/cmake/${NAMESPACE})
30+
31+
+if (CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
32+
+install(DIRECTORY
33+
+ "${CMAKE_SOURCE_DIR}/cmake/config"
34+
+ DESTINATION lib/cmake/${NAMESPACE})
35+
+endif()
36+
+
37+
install(DIRECTORY
38+
"${CMAKE_SOURCE_DIR}/cmake/common"
39+
- "${CMAKE_SOURCE_DIR}/cmake/config"
40+
"${CMAKE_SOURCE_DIR}/cmake/templates"
41+
DESTINATION lib/cmake/${NAMESPACE})
42+
43+
diff --git a/Source/WPEFramework/GenericConfig.cmake b/Source/WPEFramework/GenericConfig.cmake
44+
index 048e8e80..5acf1726 100644
45+
--- a/Source/WPEFramework/GenericConfig.cmake
46+
+++ b/Source/WPEFramework/GenericConfig.cmake
47+
@@ -42,6 +42,8 @@ set(ETHERNETCARD_NAME "eth0" CACHE STRING "Ethernet Card name which has to be as
48+
set(GROUP "" CACHE STRING "Define which system group will be used")
49+
set(UMASK "" CACHE STRING "Set the permission mask for the creation of new files. e.g. 0760")
50+
51+
+
52+
+if(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
53+
map()
54+
key(plugins)
55+
if(MESSAGING)
56+
@@ -304,3 +306,6 @@ install(
57+
DESTINATION ${CMAKE_INSTALL_PREFIX}/../etc/${NAMESPACE}/
58+
RENAME config.json
59+
COMPONENT ${MODULE_NAME})
60+
+else()
61+
+
62+
+endif(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
63+
\ No newline at end of file
64+
diff --git a/Tools/cmake/FindConfigGenerator.cmake.in b/Tools/cmake/FindConfigGenerator.cmake.in
65+
index e3a83c1f..07eadde9 100644
66+
--- a/Tools/cmake/FindConfigGenerator.cmake.in
67+
+++ b/Tools/cmake/FindConfigGenerator.cmake.in
68+
@@ -2,6 +2,7 @@ if(NOT PYTHON_EXECUTABLE)
69+
find_package(PythonInterp 3.5 REQUIRED QUIET)
70+
endif()
71+
72+
+if(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
73+
macro(IncludeConfig)
74+
if(NOT COMMAND map)
75+
## includes all cmake files of cmakepp to write json files
76+
@@ -9,7 +10,7 @@ macro(IncludeConfig)
77+
require("${MODULE_BASE_DIR}/config/*.cmake")
78+
endif()
79+
endmacro()
80+
-
81+
+endif(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
82+
83+
# ----------------------------------------------------------------------------------------
84+
# write_config
85+
@@ -28,7 +29,7 @@ endmacro()
86+
# ----------------------------------------------------------------------------------------
87+
function(write_config)
88+
set(optionsArgs )
89+
- set(oneValueArgs CLASSNAME LOCATOR COMPONENT)
90+
+ set(oneValueArgs CLASSNAME LOCATOR COMPONENT DISABLE_LEGACY_GENERATOR)
91+
set(multiValueArgs PLUGINS)
92+
93+
set(CONFIG_GENERATOR_PATH "@GENERATOR_INSTALL_PATH@/ConfigGenerator")
94+
@@ -93,7 +94,13 @@ function(write_config)
95+
set(_locator lib${MODULE_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
96+
endif()
97+
98+
+ if(ARG_DISABLE_LEGACY_GENERATOR)
99+
+ set(LEGACY_CONFIG_GENERATOR OFF)
100+
+ endif(ARG_DISABLE_LEGACY_GENERATOR)
101+
+
102+
+if(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
103+
IncludeConfig()
104+
+endif(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
105+
106+
foreach(plugin ${_plugins})
107+
set(config_generated "N")
108+
@@ -127,6 +134,7 @@ function(write_config)
109+
set(config_generated "Y")
110+
endif()
111+
112+
+if(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
113+
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR
114+
"${config_generated}" STREQUAL "N")
115+
116+
@@ -137,7 +145,7 @@ function(write_config)
117+
kv(classname ${_classname})
118+
end()
119+
ans(plugin_config) # default configuration
120+
-
121+
+
122+
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${plugin}.config")
123+
include(${CMAKE_CURRENT_LIST_DIR}/${plugin}.config)
124+
125+
@@ -200,7 +208,7 @@ function(write_config)
126+
if(compare_result EQUAL 0)
127+
message(STATUS "config json files generated using legacy method and Python ConfigGenerator are identical")
128+
elseif( compare_result EQUAL 1)
129+
- message(FATAL_ERROR " Comparing the config json files generated using legacy method and Python ConfigGenerator: \n"
130+
+ message(AUTHOR_WARNING " Comparing the config json files generated using legacy method and Python ConfigGenerator: \n"
131+
" ${CMAKE_CURRENT_BINARY_DIR}/config/${plugin}_legacy.json and ${CMAKE_CURRENT_BINARY_DIR}/config/${plugin}.json are not identical \n"
132+
" This could mean one of the following: \n"
133+
" 1. Parameters are out of order \n"
134+
@@ -213,6 +221,7 @@ function(write_config)
135+
endif()
136+
endif()
137+
endif()
138+
+endif(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
139+
140+
install(
141+
FILES ${CMAKE_CURRENT_BINARY_DIR}/config/${plugin}.json DESTINATION
142+
diff --git a/cmake/config.cmake b/cmake/config.cmake
143+
index 73699bab..8779e157 100644
144+
--- a/cmake/config.cmake
145+
+++ b/cmake/config.cmake
146+
@@ -1,8 +1,4 @@
147+
-## This is an stripped version of cmakepp
148+
-##
149+
-## https://github.com/toeb/cmakepp
150+
-##
151+
-cmake_minimum_required(VERSION 2.8.7)
152+
+cmake_minimum_required(VERSION 3.7.0)
153+
154+
get_property(is_included GLOBAL PROPERTY INCLUDE_GUARD)
155+
if(is_included)
156+
@@ -13,7 +9,11 @@ set_property(GLOBAL PROPERTY INCLUDE_GUARD true)
157+
cmake_policy(SET CMP0007 NEW)
158+
cmake_policy(SET CMP0012 NEW)
159+
if(POLICY CMP0054)
160+
- cmake_policy(SET CMP0054 OLD)
161+
+if(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
162+
+ cmake_policy(SET CMP0054 OLD) # needed for the old config generator
163+
+else()
164+
+ cmake_policy(SET CMP0054 NEW)
165+
+endif(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
166+
endif()
167+
# installation dir of cmakepp
168+
set(CMAKE_BASE_DIR "${CMAKE_CURRENT_LIST_DIR}")
169+
@@ -34,7 +34,13 @@ function(config_dir key)
170+
return("${TMP_DIR}")
171+
endfunction()
172+
173+
+if(CMAKE_VERSION VERSION_LESS 3.20.0 AND LEGACY_CONFIG_GENERATOR)
174+
+## This is an stripped version of cmakepp
175+
+##
176+
+## https://github.com/toeb/cmakepp
177+
+##
178+
## includes all cmake files of cmakepp
179+
include("${CMAKE_BASE_DIR}/config/core/require.cmake")
180+
181+
require("${CMAKE_BASE_DIR}/config/*.cmake")
182+
+endif()
183+
diff --git a/cmake/project.cmake.in b/cmake/project.cmake.in
184+
index bc827714..09a1f9e2 100644
185+
--- a/cmake/project.cmake.in
186+
+++ b/cmake/project.cmake.in
187+
@@ -72,6 +72,10 @@ if(HIDE_NON_EXTERNAL_SYMBOLS)
188+
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1 CACHE INTERNAL "" FORCE)
189+
endif()
190+
191+
+if(NOT DEFINED LEGACY_CONFIG_GENERATOR)
192+
+ set(LEGACY_CONFIG_GENERATOR @LEGACY_CONFIG_GENERATOR@ CACHE INTERNAL "" FORCE)
193+
+endif()
194+
+
195+
set(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@ CACHE INTERNAL "" FORCE)
196+
197+
# FIX_ME: Disable fortify source.
198+
--
199+
2.34.1
200+

0 commit comments

Comments
 (0)