xref: /aosp_15_r20/external/libevent/cmake/CheckConstExists.cmake (revision 663afb9b963571284e0f0a60f257164ab54f64bf)
1*663afb9bSAndroid Build Coastguard Workerinclude(CheckCSourceCompiles)
2*663afb9bSAndroid Build Coastguard Worker
3*663afb9bSAndroid Build Coastguard Workermacro(check_const_exists CONST FILES VARIABLE)
4*663afb9bSAndroid Build Coastguard Worker  if (NOT DEFINED ${VARIABLE})
5*663afb9bSAndroid Build Coastguard Worker    set(check_const_exists_source "")
6*663afb9bSAndroid Build Coastguard Worker    foreach(file ${FILES})
7*663afb9bSAndroid Build Coastguard Worker      set(check_const_exists_source
8*663afb9bSAndroid Build Coastguard Worker          "${check_const_exists_source}
9*663afb9bSAndroid Build Coastguard Worker          #include <${file}>")
10*663afb9bSAndroid Build Coastguard Worker    endforeach()
11*663afb9bSAndroid Build Coastguard Worker    set(check_const_exists_source
12*663afb9bSAndroid Build Coastguard Worker        "${check_const_exists_source}
13*663afb9bSAndroid Build Coastguard Worker        int main() { (void)${CONST}; return 0; }")
14*663afb9bSAndroid Build Coastguard Worker
15*663afb9bSAndroid Build Coastguard Worker    check_c_source_compiles("${check_const_exists_source}" ${VARIABLE})
16*663afb9bSAndroid Build Coastguard Worker
17*663afb9bSAndroid Build Coastguard Worker    if (${${VARIABLE}})
18*663afb9bSAndroid Build Coastguard Worker      set(${VARIABLE} 1 CACHE INTERNAL "Have const ${CONST}")
19*663afb9bSAndroid Build Coastguard Worker      message(STATUS "Looking for ${CONST} - found")
20*663afb9bSAndroid Build Coastguard Worker    else()
21*663afb9bSAndroid Build Coastguard Worker      set(${VARIABLE} 0 CACHE INTERNAL "Have const ${CONST}")
22*663afb9bSAndroid Build Coastguard Worker      message(STATUS "Looking for ${CONST} - not found")
23*663afb9bSAndroid Build Coastguard Worker    endif()
24*663afb9bSAndroid Build Coastguard Worker  endif()
25*663afb9bSAndroid Build Coastguard Workerendmacro(check_const_exists)
26