aboutsummaryrefslogtreecommitdiff
path: root/tests/test_helpers.cmake
blob: db4fc8020af544c2c03315003b9dbaaa12d2a6b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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()