@@ -7,6 +7,8 @@ include_guard(GLOBAL)
77# Debug
88message (VERBOSE "rsp/cache module included" )
99
10+ include ("rsp/helpers" )
11+
1012if (NOT DEFINED RSP_CACHE_EXPIRES_AT_KEY_AFFIX)
1113 set (RSP_CACHE_EXPIRES_AT_KEY_AFFIX "[rsp@expires_at]" )
1214endif ()
@@ -37,14 +39,7 @@ if (NOT COMMAND "cache_set")
3739 set (multiValueArgs "" ) # N/A
3840
3941 cmake_parse_arguments (INPUT "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
40-
41- # Ensure required arguments are defined
42- set (requiredArgs "KEY;VALUE" )
43- foreach (name ${requiredArgs} )
44- if (NOT DEFINED INPUT_${name} )
45- message (FATAL_ERROR "${name} argument is missing, for ${CMAKE_CURRENT_FUNCTION} ()" )
46- endif ()
47- endforeach ()
42+ requires_arguments("KEY;VALUE" INPUT )
4843
4944 # Resolve optional arguments
5045 if (NOT DEFINED INPUT_TYPE)
@@ -104,14 +99,7 @@ if (NOT COMMAND "cache_get")
10499 set (multiValueArgs "" ) # N/A
105100
106101 cmake_parse_arguments (INPUT "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
107-
108- # Ensure required arguments are defined
109- set (requiredArgs "KEY" )
110- foreach (name ${requiredArgs} )
111- if (NOT DEFINED INPUT_${name} )
112- message (FATAL_ERROR "${name} argument is missing, for ${CMAKE_CURRENT_FUNCTION} ()" )
113- endif ()
114- endforeach ()
102+ requires_arguments("KEY" INPUT )
115103
116104 # Resolve optional arguments
117105 if (NOT DEFINED INPUT_DEFAULT)
@@ -160,14 +148,7 @@ if (NOT COMMAND "cache_has")
160148 set (multiValueArgs "" ) # N/A
161149
162150 cmake_parse_arguments (INPUT "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
163-
164- # Ensure required arguments are defined
165- set (requiredArgs "KEY;OUTPUT" )
166- foreach (name ${requiredArgs} )
167- if (NOT DEFINED INPUT_${name} )
168- message (FATAL_ERROR "${name} argument is missing, for ${CMAKE_CURRENT_FUNCTION} ()" )
169- endif ()
170- endforeach ()
151+ requires_arguments("KEY;OUTPUT" INPUT )
171152
172153 # Determine if entry exists in cache
173154 if (DEFINED CACHE {${INPUT_KEY} })
@@ -227,14 +208,7 @@ if (NOT COMMAND "cache_forget")
227208 set (multiValueArgs "" ) # N/A
228209
229210 cmake_parse_arguments (INPUT "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
230-
231- # Ensure required arguments are defined
232- set (requiredArgs "KEY" )
233- foreach (name ${requiredArgs} )
234- if (NOT DEFINED INPUT_${name} )
235- message (FATAL_ERROR "${name} argument is missing, for ${CMAKE_CURRENT_FUNCTION} ()" )
236- endif ()
237- endforeach ()
211+ requires_arguments("KEY" INPUT )
238212
239213 # Remove entry if it exists
240214 if (DEFINED CACHE {${INPUT_KEY} })
@@ -305,14 +279,7 @@ if (NOT COMMAND "cache_remember")
305279 set (multiValueArgs "" ) # N/A
306280
307281 cmake_parse_arguments (INPUT "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
308-
309- # Ensure required arguments are defined
310- set (requiredArgs "KEY;CALLBACK" )
311- foreach (name ${requiredArgs} )
312- if (NOT DEFINED INPUT_${name} )
313- message (FATAL_ERROR "${name} argument is missing, for ${CMAKE_CURRENT_FUNCTION} ()" )
314- endif ()
315- endforeach ()
282+ requires_arguments("KEY;CALLBACK" INPUT )
316283
317284 # Ensure that callback exists
318285 if (NOT COMMAND ${INPUT_CALLBACK} )
@@ -389,14 +356,7 @@ if (NOT COMMAND "cache_has_expired")
389356 set (multiValueArgs "" ) # N/A
390357
391358 cmake_parse_arguments (INPUT "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
392-
393- # Ensure required arguments are defined
394- set (requiredArgs "KEY;OUTPUT" )
395- foreach (name ${requiredArgs} )
396- if (NOT DEFINED INPUT_${name} )
397- message (FATAL_ERROR "${name} argument is missing, for ${CMAKE_CURRENT_FUNCTION} ()" )
398- endif ()
399- endforeach ()
359+ requires_arguments("KEY;OUTPUT" INPUT )
400360
401361 # Make expires at key...
402362 cache_make_expires_at_key(EXPIRES_AT_KEY INPUT_KEY)
0 commit comments