diff options
Diffstat (limited to 'Modules/CMakeDependentOption.cmake')
-rw-r--r-- | Modules/CMakeDependentOption.cmake | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/Modules/CMakeDependentOption.cmake b/Modules/CMakeDependentOption.cmake index 8b8dc07..98cae45 100644 --- a/Modules/CMakeDependentOption.cmake +++ b/Modules/CMakeDependentOption.cmake @@ -25,27 +25,27 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) -MACRO(CMAKE_DEPENDENT_OPTION option doc default depends force) - IF(${option}_ISSET MATCHES "^${option}_ISSET$") - SET(${option}_AVAILABLE 1) - FOREACH(d ${depends}) - STRING(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}") - IF(${CMAKE_DEPENDENT_OPTION_DEP}) - ELSE(${CMAKE_DEPENDENT_OPTION_DEP}) - SET(${option}_AVAILABLE 0) - ENDIF(${CMAKE_DEPENDENT_OPTION_DEP}) - ENDFOREACH(d) - IF(${option}_AVAILABLE) - OPTION(${option} "${doc}" "${default}") - SET(${option} "${${option}}" CACHE BOOL "${doc}" FORCE) - ELSE(${option}_AVAILABLE) - IF(${option} MATCHES "^${option}$") - ELSE(${option} MATCHES "^${option}$") - SET(${option} "${${option}}" CACHE INTERNAL "${doc}") - ENDIF(${option} MATCHES "^${option}$") - SET(${option} ${force}) - ENDIF(${option}_AVAILABLE) - ELSE(${option}_ISSET MATCHES "^${option}_ISSET$") - SET(${option} "${${option}_ISSET}") - ENDIF(${option}_ISSET MATCHES "^${option}_ISSET$") -ENDMACRO(CMAKE_DEPENDENT_OPTION) +macro(CMAKE_DEPENDENT_OPTION option doc default depends force) + if(${option}_ISSET MATCHES "^${option}_ISSET$") + set(${option}_AVAILABLE 1) + foreach(d ${depends}) + string(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}") + if(${CMAKE_DEPENDENT_OPTION_DEP}) + else(${CMAKE_DEPENDENT_OPTION_DEP}) + set(${option}_AVAILABLE 0) + endif(${CMAKE_DEPENDENT_OPTION_DEP}) + endforeach(d) + if(${option}_AVAILABLE) + option(${option} "${doc}" "${default}") + set(${option} "${${option}}" CACHE BOOL "${doc}" FORCE) + else(${option}_AVAILABLE) + if(${option} MATCHES "^${option}$") + else(${option} MATCHES "^${option}$") + set(${option} "${${option}}" CACHE INTERNAL "${doc}") + endif(${option} MATCHES "^${option}$") + set(${option} ${force}) + endif(${option}_AVAILABLE) + else(${option}_ISSET MATCHES "^${option}_ISSET$") + set(${option} "${${option}_ISSET}") + endif(${option}_ISSET MATCHES "^${option}_ISSET$") +endmacro(CMAKE_DEPENDENT_OPTION) |