Skip to content
Bitcoin Roots

v31.1-roots.1 · Commit 1: [PATCH 01/17] build(roots): establish v31 portability foundation

src/qt/CMakeLists.txt

Before: src/qt/CMakeLists.txt · After: src/qt/CMakeLists.txt

File metadata
index 58fa08b56ab90c2e038d9a2c9e515fefdef1b34b..5cd5e8e8cf66d1f184b5067cf2a29e5fa09a4829 100644

Download original patch · Release notes

Diff rows 1–82 of 82. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.

src/qt/CMakeLists.txt CHANGED
@@ -11,19 +11,27 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
11
  string(APPEND CMAKE_OBJCXX_COMPILE_OBJECT " ${APPEND_CPPFLAGS} ${APPEND_CXXFLAGS}")
12
  endif()
13
 
14
- get_target_property(qt_lib_type Qt6::Core TYPE)
 
 
 
15
 
16
  function(import_plugins target)
17
  if(qt_lib_type STREQUAL "STATIC_LIBRARY")
18
- set(plugins Qt6::QMinimalIntegrationPlugin)
19
  if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|FreeBSD)$")
20
- list(APPEND plugins Qt6::QXcbIntegrationPlugin)
21
  elseif(WIN32)
22
- list(APPEND plugins Qt6::QWindowsIntegrationPlugin Qt6::QModernWindowsStylePlugin)
 
 
 
 
 
23
  elseif(APPLE)
24
- list(APPEND plugins Qt6::QCocoaIntegrationPlugin Qt6::QMacStylePlugin)
25
  endif()
26
- qt6_import_plugins(${target}
27
  INCLUDE ${plugins}
28
  EXCLUDE_BY_TYPE
29
  accessiblebridge
@@ -55,8 +63,8 @@ set(CMAKE_AUTOUIC_SEARCH_PATHS forms)
55
 
56
  set(CMAKE_AUTORCC OFF)
57
  configure_file(bitcoin_locale.qrc bitcoin_locale.qrc USE_SOURCE_PERMISSIONS COPYONLY)
58
- qt6_add_resources(BITCOIN_QRC bitcoin.qrc)
59
- qt6_add_resources(BITCOIN_LOCALE_QRC ${CMAKE_CURRENT_BINARY_DIR}/bitcoin_locale.qrc)
60
  # See: https://bugreports.qt.io/browse/QTBUG-141858.
61
  get_target_property(warn_flags warn_interface INTERFACE_COMPILE_OPTIONS)
62
  if("-Wtrailing-whitespace=any" IN_LIST warn_flags)
@@ -145,7 +153,7 @@ set_property(SOURCE macnotificationhandler.mm
145
  )
146
  target_link_libraries(bitcoinqt
147
  PUBLIC
148
- Qt6::Widgets
149
  PRIVATE
150
  core_interface
151
  bitcoin_cli
@@ -223,18 +231,18 @@ if(ENABLE_WALLET)
223
  target_link_libraries(bitcoinqt
224
  PRIVATE
225
  bitcoin_wallet
226
- Qt6::Network
227
  )
228
  endif()
229
 
230
  if(WITH_DBUS)
231
- target_link_libraries(bitcoinqt PRIVATE Qt6::DBus)
232
  endif()
233
 
234
  if(qt_lib_type STREQUAL "STATIC_LIBRARY")
235
  # We want to define static plugins to link ourselves, thus preventing
236
  # automatic linking against a "sane" set of default static plugins.
237
- qt6_import_plugins(bitcoinqt
238
  EXCLUDE_BY_TYPE
239
  accessiblebridge
240
  platforms
@@ -306,8 +314,8 @@ else()
306
  add_custom_target(translate COMMAND ${CMAKE_COMMAND}
307
  -D "PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}"
308
  -D "COPYRIGHT_HOLDERS=${COPYRIGHT_HOLDERS}"
309
- -D "LCONVERT_EXECUTABLE=$<TARGET_FILE:Qt6::lconvert>"
310
- -D "LUPDATE_EXECUTABLE=$<TARGET_FILE:Qt6::lupdate>"
311
  -D "XGETTEXT_EXECUTABLE=${XGETTEXT_EXECUTABLE}"
312
  -P ${PROJECT_SOURCE_DIR}/share/qt/translate.cmake
313
  )
 
11
  string(APPEND CMAKE_OBJCXX_COMPILE_OBJECT " ${APPEND_CPPFLAGS} ${APPEND_CXXFLAGS}")
12
  endif()
13
 
14
+ get_target_property(qt_lib_type Qt${WITH_QT_VERSION}::Core TYPE)
15
+ if(qt_lib_type STREQUAL "STATIC_LIBRARY" AND NOT COMMAND qt${WITH_QT_VERSION}_import_plugins)
16
+ message(FATAL_ERROR "Static Qt requires the import_plugins CMake command (Qt 5.14 or newer for Qt 5).")
17
+ endif()
18
 
19
  function(import_plugins target)
20
  if(qt_lib_type STREQUAL "STATIC_LIBRARY")
21
+ set(plugins Qt${WITH_QT_VERSION}::QMinimalIntegrationPlugin)
22
  if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|FreeBSD)$")
23
+ list(APPEND plugins Qt${WITH_QT_VERSION}::QXcbIntegrationPlugin)
24
  elseif(WIN32)
25
+ list(APPEND plugins Qt${WITH_QT_VERSION}::QWindowsIntegrationPlugin)
26
+ if(WITH_QT_VERSION STREQUAL "5")
27
+ list(APPEND plugins Qt5::QWindowsVistaStylePlugin)
28
+ else()
29
+ list(APPEND plugins Qt6::QModernWindowsStylePlugin)
30
+ endif()
31
  elseif(APPLE)
32
+ list(APPEND plugins Qt${WITH_QT_VERSION}::QCocoaIntegrationPlugin Qt${WITH_QT_VERSION}::QMacStylePlugin)
33
  endif()
34
+ cmake_language(CALL qt${WITH_QT_VERSION}_import_plugins ${target}
35
  INCLUDE ${plugins}
36
  EXCLUDE_BY_TYPE
37
  accessiblebridge
 
63
 
64
  set(CMAKE_AUTORCC OFF)
65
  configure_file(bitcoin_locale.qrc bitcoin_locale.qrc USE_SOURCE_PERMISSIONS COPYONLY)
66
+ cmake_language(CALL qt${WITH_QT_VERSION}_add_resources BITCOIN_QRC bitcoin.qrc)
67
+ cmake_language(CALL qt${WITH_QT_VERSION}_add_resources BITCOIN_LOCALE_QRC ${CMAKE_CURRENT_BINARY_DIR}/bitcoin_locale.qrc)
68
  # See: https://bugreports.qt.io/browse/QTBUG-141858.
69
  get_target_property(warn_flags warn_interface INTERFACE_COMPILE_OPTIONS)
70
  if("-Wtrailing-whitespace=any" IN_LIST warn_flags)
 
153
  )
154
  target_link_libraries(bitcoinqt
155
  PUBLIC
156
+ Qt${WITH_QT_VERSION}::Widgets
157
  PRIVATE
158
  core_interface
159
  bitcoin_cli
 
231
  target_link_libraries(bitcoinqt
232
  PRIVATE
233
  bitcoin_wallet
234
+ Qt${WITH_QT_VERSION}::Network
235
  )
236
  endif()
237
 
238
  if(WITH_DBUS)
239
+ target_link_libraries(bitcoinqt PRIVATE Qt${WITH_QT_VERSION}::DBus)
240
  endif()
241
 
242
  if(qt_lib_type STREQUAL "STATIC_LIBRARY")
243
  # We want to define static plugins to link ourselves, thus preventing
244
  # automatic linking against a "sane" set of default static plugins.
245
+ cmake_language(CALL qt${WITH_QT_VERSION}_import_plugins bitcoinqt
246
  EXCLUDE_BY_TYPE
247
  accessiblebridge
248
  platforms
 
314
  add_custom_target(translate COMMAND ${CMAKE_COMMAND}
315
  -D "PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}"
316
  -D "COPYRIGHT_HOLDERS=${COPYRIGHT_HOLDERS}"
317
+ -D "LCONVERT_EXECUTABLE=$<TARGET_FILE:Qt${WITH_QT_VERSION}::lconvert>"
318
+ -D "LUPDATE_EXECUTABLE=$<TARGET_FILE:Qt${WITH_QT_VERSION}::lupdate>"
319
  -D "XGETTEXT_EXECUTABLE=${XGETTEXT_EXECUTABLE}"
320
  -P ${PROJECT_SOURCE_DIR}/share/qt/translate.cmake
321
  )