mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
31 lines
973 B
CMake
31 lines
973 B
CMake
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)
|
|
|
|
function(inc_dec_test command initial_value expected)
|
|
set(value "${initial_value}")
|
|
math("${command}" value)
|
|
if(NOT value STREQUAL "${expected}")
|
|
message(FATAL_ERROR "wrong ${command} result: ${value} != ${expected}")
|
|
endif()
|
|
endfunction()
|
|
|
|
inc_dec_test(INCREMENT 0 1)
|
|
inc_dec_test(INCREMENT 4 5)
|
|
inc_dec_test(INCREMENT -04 -3)
|
|
inc_dec_test(INCREMENT -9223372036854775808 -9223372036854775807)
|
|
|
|
inc_dec_test(DECREMENT 0 -1)
|
|
inc_dec_test(DECREMENT 4 3)
|
|
inc_dec_test(DECREMENT -04 -5)
|
|
inc_dec_test(DECREMENT 9223372036854775807 9223372036854775806)
|