diff options
Diffstat (limited to 'tests/test_helpers.cmake')
-rw-r--r-- | tests/test_helpers.cmake | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test_helpers.cmake b/tests/test_helpers.cmake new file mode 100644 index 00000000..db4fc802 --- /dev/null +++ b/tests/test_helpers.cmake @@ -0,0 +1,37 @@ +macro(assert_var_defined varname) + if(NOT DEFINED ${varname}) + message(SEND_ERROR "${varname} is not defined.") + endif() +endmacro() + +macro(assert_vars_strequal varname exp_varname) + assert_var_defined(${varname}) + if(NOT ${varname} STREQUAL ${exp_varname}) + message(SEND_ERROR "${varname} is '${${varname}}', expecting '${${exp_varname}}'.") + endif() +endmacro() + +macro(assert_var_str_value varname value) + assert_var_defined(${varname}) + set(_value_var "${value}") + if(NOT ${varname} STREQUAL _value_var) + message(SEND_ERROR "${varname} is '${${varname}}', expecting '${value}'.") + endif() +endmacro() + +macro(assert_var_relative_path varname) + if(NOT DEFINED ${varname}) + message(SEND_ERROR "${varname} is not defined.") + elseif(IS_ABSOLUTE "${${varname}}") + message(SEND_ERROR "${varname} (${${varname}}) should be a relative path, but is absolute.") + endif() +endmacro() + +macro(assert_var_absolute_path varname) + if(NOT DEFINED ${varname}) + message(SEND_ERROR "${varname} is not defined.") + elseif(NOT IS_ABSOLUTE "${${varname}}") + message(SEND_ERROR "${varname} (${${varname}}) should be an absolute path, but is relative.") + endif() +endmacro() + |