Skip to content

Commit 04448af

Browse files
committed
depends: Avoid using helper variables in toolchain file
Using helper variables has two issues: 1. They contaminate the global namespace of the main build script. 2. They can be used as `set(var)`, effectively exposing a cache variable `var`, which makes the toolchain file susceptible to the build environment.
1 parent 14fec63 commit 04448af

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

depends/toolchain.cmake.in

+9-12
Original file line numberDiff line numberDiff line change
@@ -97,43 +97,40 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE)
9797
endif()
9898

9999
# Set configuration options for the main build system.
100-
set(qt_packages @qt_packages@)
101-
if("${qt_packages}" STREQUAL "")
100+
# The depends/Makefile can generate values with "not-set"
101+
# semantics as empty strings or strings containing only spaces.
102+
# Therefore, MATCHES must be used rather than STREQUAL.
103+
if("@qt_packages@" MATCHES "^[ ]*$")
102104
set(BUILD_GUI OFF CACHE BOOL "")
103105
else()
104106
set(BUILD_GUI ON CACHE BOOL "")
105107
endif()
106108

107-
set(qrencode_packages @qrencode_packages@)
108-
if("${qrencode_packages}" STREQUAL "")
109+
if("@qrencode_packages@" MATCHES "^[ ]*$")
109110
set(WITH_QRENCODE OFF CACHE BOOL "")
110111
else()
111112
set(WITH_QRENCODE ON CACHE BOOL "")
112113
endif()
113114

114-
set(zmq_packages @zmq_packages@)
115-
if("${zmq_packages}" STREQUAL "")
115+
if("@zmq_packages@" MATCHES "^[ ]*$")
116116
set(WITH_ZMQ OFF CACHE BOOL "")
117117
else()
118118
set(WITH_ZMQ ON CACHE BOOL "")
119119
endif()
120120

121-
set(wallet_packages @wallet_packages@)
122-
if("${wallet_packages}" STREQUAL "")
121+
if("@wallet_packages@" MATCHES "^[ ]*$")
123122
set(ENABLE_WALLET OFF CACHE BOOL "")
124123
else()
125124
set(ENABLE_WALLET ON CACHE BOOL "")
126125
endif()
127126

128-
set(bdb_packages @bdb_packages@)
129-
if("${wallet_packages}" STREQUAL "" OR "${bdb_packages}" STREQUAL "")
127+
if("@wallet_packages@" MATCHES "^[ ]*$" OR "@bdb_packages@" MATCHES "^[ ]*$")
130128
set(WITH_BDB OFF CACHE BOOL "")
131129
else()
132130
set(WITH_BDB ON CACHE BOOL "")
133131
endif()
134132

135-
set(usdt_packages @usdt_packages@)
136-
if("${usdt_packages}" STREQUAL "")
133+
if("@usdt_packages@" MATCHES "^[ ]*$")
137134
set(WITH_USDT OFF CACHE BOOL "")
138135
else()
139136
set(WITH_USDT ON CACHE BOOL "")

0 commit comments

Comments
 (0)