CMake: set_and_warn_incompatible now warns if arguments are undefined
Previously this caused an error which can happen on other platforms that don't define the features being checked.
This commit is contained in:
parent
f3f494fd63
commit
f482e5979d
|
@ -1142,10 +1142,13 @@ if(UNIX AND NOT (APPLE OR HAIKU))
|
|||
set_and_warn_incompatible(WITH_HEADLESS WITH_GHOST_X11 OFF)
|
||||
endif()
|
||||
set_and_warn_incompatible(WITH_HEADLESS WITH_GHOST_SDL OFF)
|
||||
set_and_warn_incompatible(WITH_HEADLESS WITH_INPUT_IME OFF)
|
||||
set_and_warn_incompatible(WITH_HEADLESS WITH_XR_OPENXR OFF)
|
||||
|
||||
set_and_warn_incompatible(WITH_GHOST_SDL WITH_INPUT_IME OFF)
|
||||
if(WIN32 OR APPLE)
|
||||
set_and_warn_incompatible(WITH_HEADLESS WITH_INPUT_IME OFF)
|
||||
set_and_warn_incompatible(WITH_GHOST_SDL WITH_INPUT_IME OFF)
|
||||
endif()
|
||||
|
||||
set_and_warn_incompatible(WITH_HEADLESS WITH_XR_OPENXR OFF)
|
||||
set_and_warn_incompatible(WITH_GHOST_SDL WITH_XR_OPENXR OFF)
|
||||
|
||||
if(WITH_BUILDINFO)
|
||||
|
|
|
@ -1458,7 +1458,12 @@ endmacro()
|
|||
macro(set_and_warn_incompatible
|
||||
_dependency _setting _val)
|
||||
# when $_dependency is enabled, forces $_setting = $_val
|
||||
if(${${_dependency}} AND ${${_setting}})
|
||||
# Both should be defined, warn if they're not.
|
||||
if(NOT DEFINED ${_dependency})
|
||||
message(STATUS "${_dependency} not defined!")
|
||||
elseif(NOT DEFINED ${_setting})
|
||||
message(STATUS "${_setting} not defined!")
|
||||
elseif(${${_dependency}} AND ${${_setting}})
|
||||
if(WITH_STRICT_BUILD_OPTIONS)
|
||||
message(SEND_ERROR "${_dependency} enabled but incompatible with ${_setting}")
|
||||
else()
|
||||
|
|
Loading…
Reference in New Issue