summaryrefslogtreecommitdiff
path: root/cmake/EnumOption.cmake
blob: d3cfbae491f0c300ee15de106b1d5ffce42a3305 (plain)
1
2
3
4
5
6
7
8
9
macro(enum_option var values description)
	set(${var}_VALUES ${values})
		list(GET ${var}_VALUES 0 default)
	set(${var} "${default}" CACHE STRING "${description}")
	set_property(CACHE ${var} PROPERTY STRINGS ${${var}_VALUES})
	if (NOT ";${${var}_VALUES};" MATCHES ";${${var}};")
		message(FATAL_ERROR "Unknown value ${${var}}. Only -D${var}=${${var}_VALUES} allowed.")
	endif()
endmacro()