Forráskód Böngészése

Added utility macro which allows to completely specify the option name.

Sascha Zelzer 13 éve
szülő
commit
caea534661
1 módosított fájl, 11 hozzáadás és 7 törlés
  1. 11 7
      CMake/ctkMacroOptionUtils.cmake

+ 11 - 7
CMake/ctkMacroOptionUtils.cmake

@@ -47,16 +47,20 @@ macro(ctk_app_option name doc default)
   ctk_option(CTK_APP ${name} ${doc} ${default} ${ARGN})
 endmacro()
 
-macro(ctk_enable_option name doc default)
-  option(CTK_ENABLE_${name} "${doc}" ${default})
-  if(DEFINED CTK_ENABLE_${name}_internal)
-    if(${CTK_ENABLE_${name}} AND ${CTK_ENABLE_${name}_internal})
+macro(ctk_enable_option_raw name doc default)
+  option(${name} "${doc}" ${default})
+  if(DEFINED ${name}_internal)
+    if(${${name}} AND ${${name}_internal})
       if(NOT (${ARGN}))
-        get_property(_doc_string CACHE CTK_ENABLE_${name} PROPERTY HELPSTRING)
-        set(CTK_ENABLE_${name} OFF CACHE BOOL ${_doc_string} FORCE)
+        get_property(_doc_string CACHE ${name} PROPERTY HELPSTRING)
+        set(${name} OFF CACHE BOOL ${_doc_string} FORCE)
         message("Full support for [${name}] disabled")
       endif()
     endif()
   endif()
-  set(CTK_ENABLE_${name}_internal ${CTK_ENABLE_${name}} CACHE INTERNAL "" FORCE)
+  set(${name}_internal ${${name}} CACHE INTERNAL "" FORCE)
+endmacro()
+
+macro(ctk_enable_option name doc default)
+  ctk_enable_option_raw(CTK_ENABLE_${name} ${doc} ${default} ${ARGN})
 endmacro()