• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1macro(SET_OPTION _NAME _DESC)
2  list(APPEND ALLOPTIONS ${_NAME})
3  if(${ARGC} EQUAL 3)
4    set(_DEFLT ${ARGV2})
5  else()
6    set(_DEFLT OFF)
7  endif()
8  option(${_NAME} ${_DESC} ${_DEFLT})
9endmacro()
10
11macro(DEP_OPTION _NAME _DESC _DEFLT _DEPTEST _FAILDFLT)
12  list(APPEND ALLOPTIONS ${_NAME})
13  cmake_dependent_option(${_NAME} ${_DESC} ${_DEFLT} ${_DEPTEST} ${_FAILDFLT})
14endmacro()
15
16macro(OPTION_STRING _NAME _DESC _VALUE)
17  list(APPEND ALLOPTIONS ${_NAME})
18  set(${_NAME} ${_VALUE} CACHE STRING "${_DESC}")
19  set(HAVE_${_NAME} ${_VALUE})
20ENDMACRO()
21
22# Message Output
23macro(MESSAGE_WARN _TEXT)
24  message(STATUS "*** WARNING: ${_TEXT}")
25endmacro()
26
27macro(MESSAGE_ERROR _TEXT)
28  message(FATAL_ERROR "*** ERROR: ${_TEXT}")
29endmacro()
30
31macro(MESSAGE_BOOL_OPTION _NAME _VALUE)
32  if(${_VALUE})
33    message(STATUS "  ${_NAME}:\tON")
34  else()
35    message(STATUS "  ${_NAME}:\tOFF")
36  endif()
37endmacro()
38
39macro(MESSAGE_TESTED_OPTION _NAME)
40  set(_REQVALUE ${${_NAME}})
41  set(_PAD " ")
42  if(${ARGC} EQUAL 2)
43    set(_PAD ${ARGV1})
44  endif()
45  if(NOT HAVE_${_NAME})
46    set(HAVE_${_NAME} OFF)
47  elseif("${HAVE_${_NAME}}" MATCHES "1|TRUE|YES|Y")
48    set(HAVE_${_NAME} ON)
49  endif()
50  message(STATUS "  ${_NAME}${_PAD}(Wanted: ${_REQVALUE}): ${HAVE_${_NAME}}")
51endmacro()
52
53macro(LISTTOSTR _LIST _OUTPUT)
54  if(${ARGC} EQUAL 3)
55    # prefix for each element
56    set(_LPREFIX ${ARGV2})
57  else()
58    set(_LPREFIX "")
59  endif()
60  # Do not use string(REPLACE ";" " ") here to avoid messing up list
61  # entries
62  foreach(_ITEM ${${_LIST}})
63    set(${_OUTPUT} "${_LPREFIX}${_ITEM} ${${_OUTPUT}}")
64  endforeach()
65endmacro()
66
67macro(CHECK_OBJC_SOURCE_COMPILES SOURCE VAR)
68  set(PREV_REQUIRED_DEFS "${CMAKE_REQUIRED_DEFINITIONS}")
69  set(CMAKE_REQUIRED_DEFINITIONS "-x objective-c ${PREV_REQUIRED_DEFS}")
70  CHECK_C_SOURCE_COMPILES(${SOURCE} ${VAR})
71  set(CMAKE_REQUIRED_DEFINITIONS "${PREV_REQUIRED_DEFS}")
72endmacro()
73
74