macro(math_test expression expected) | |
math(EXPR evaluated ${expression} ${ARGN}) | |
if (NOT evaluated STREQUAL ${expected}) | |
message(FATAL_ERROR "wrong math result: ${evaluated} != ${expected}") | |
endif () | |
endmacro() | |
math_test("100 * 10" 1000) | |
math_test("100 * 10" 1000 OUTPUT_FORMAT DECIMAL) | |
math_test("100 * 0xA" 1000 OUTPUT_FORMAT DECIMAL) | |
math_test("100 * 0xA" 0x3e8 OUTPUT_FORMAT HEXADECIMAL) |