File: ecbuild_evaluate_dynamic_condition.cmake

package info (click to toggle)
ecbuild 3.7.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,564 kB
  • sloc: sh: 908; perl: 734; cpp: 454; f90: 430; python: 383; ansic: 297; fortran: 43; makefile: 15
file content (36 lines) | stat: -rw-r--r-- 1,225 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# (C) Copyright 2018- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
# In applying this licence, ECMWF does not waive the privileges and immunities
# granted to it by virtue of its status as an intergovernmental organisation nor
# does it submit to any jurisdiction.


##############################################################################
#.rst:
#
# ecbuild_evaluate_dynamic_condition
# ==================================
#
# Add a CMake configuration option, which may depend on a list of packages. ::
#
#   ecbuild_evaluate_dynamic_condition( condition outVariable )
#
# Options
# -------
# condition A list of boolean statements like OPENSSL_FOUND AND ENABLE_OPENSSL
#
function(ecbuild_evaluate_dynamic_condition _conditions _outVar)
  if( DEFINED ${_conditions})
    if(${${_conditions}})
      set( ${_outVar} TRUE )
    else()
      set( ${_outVar} FALSE )
    endif()
  else()
    set( ${_outVar} TRUE )
  endif()
  ecbuild_debug("ecbuild_evaluate_dynamic_condition(${_outVar}): checking condition '${${_conditions}}' -> ${${_outVar}}")
  set( ${_outVar} ${${_outVar}} PARENT_SCOPE )
endfunction()