| SET(DEFAULT 0) |
| SET(DEPENDS 1) |
| |
| SET(WEBKIT_FEATURES "") |
| |
| SET(HTML_FEATURES "") |
| SET(SVG_FEATURES "") |
| |
| MACRO(WEBKIT_SEPARATE_FEATURES _name _value) |
| FOREACH(f ${ARGN}) |
| LIST(APPEND ${f}_FEATURES "${_name}=${_value}") |
| ENDFOREACH() |
| ENDMACRO(WEBKIT_SEPARATE_FEATURES) |
| |
| MACRO(WEBKIT_FEATURE_CHECK_DEPS _deps _deps_ok) |
| SET(${_deps_ok} TRUE) |
| |
| LIST(LENGTH ${_deps} ${_deps_ok}_LIST_SIZE) |
| IF (${${_deps_ok}_LIST_SIZE} GREATER 1) |
| FOREACH(_dep ${${_deps}}) |
| IF (NOT ${_dep}) |
| SET(${_deps_ok} FALSE) |
| BREAK() |
| ENDIF () |
| ENDFOREACH () |
| ELSE () |
| IF (NOT ${_deps}) |
| SET(${_deps_ok} FALSE) |
| ENDIF () |
| ENDIF () |
| ENDMACRO() |
| |
| MACRO(WEBKIT_FEATURE _feature _description _type _args) |
| IF (${_type} EQUAL ${DEPENDS}) |
| WEBKIT_FEATURE_CHECK_DEPS(${_args} DEPS_OK_${_feature}) |
| OPTION(${_feature} "${_description}" DEPS_OK_${_feature}) |
| ELSEIF (${_type} EQUAL ${DEFAULT}) |
| OPTION(${_feature} "${_description}" ${_args}) |
| ENDIF () |
| |
| LIST(APPEND WEBKIT_FEATURES ${_feature}) |
| |
| IF (${_feature}) |
| SET(${_feature}_VALUE 1) |
| WEBKIT_SEPARATE_FEATURES(${_feature} 1 ${ARGN}) |
| LIST(APPEND FEATURE_DEFINES ${_feature}) |
| ELSE () |
| SET(${_feature}_VALUE 0) |
| WEBKIT_SEPARATE_FEATURES(${_feature} 0 ${ARGN}) |
| ENDIF () |
| ENDMACRO() |
| |
| MACRO(WEBKIT_PRINT_FEATURES) |
| MESSAGE(STATUS "Enabled features:") |
| |
| SET(MAX_FEATURE_LENGTH 0) |
| FOREACH (_feature ${WEBKIT_FEATURES}) |
| STRING(LENGTH ${_feature} FEATURE_LENGTH) |
| IF (FEATURE_LENGTH GREATER MAX_FEATURE_LENGTH) |
| SET(MAX_FEATURE_LENGTH ${FEATURE_LENGTH}) |
| ENDIF () |
| ENDFOREACH () |
| |
| SET(ODD 0) |
| FOREACH (_feature ${WEBKIT_FEATURES}) |
| STRING(LENGTH ${_feature} FEATURE_LENGTH) |
| SET(SPACES "") |
| |
| IF (ODD) |
| FOREACH (IGNORE RANGE ${FEATURE_LENGTH} ${MAX_FEATURE_LENGTH}) |
| SET(SPACES "${SPACES} ") |
| ENDFOREACH () |
| SET(ODD 0) |
| ELSE () |
| FOREACH (IGNORE RANGE ${FEATURE_LENGTH} ${MAX_FEATURE_LENGTH}) |
| SET(SPACES "${SPACES}.") |
| ENDFOREACH () |
| SET(ODD 1) |
| ENDIF () |
| |
| IF (${_feature}) |
| MESSAGE(STATUS " ${_feature} ${SPACES} ON") |
| ELSE () |
| MESSAGE(STATUS " ${_feature} ${SPACES} OFF") |
| ENDIF () |
| ENDFOREACH () |
| |
| UNSET(FEATURE_LENGTH) |
| UNSET(MAX_FEATURE_LENGTH) |
| UNSET(ODD) |
| ENDMACRO() |