|  | 
 | if(__caffe2_allowlist_included) | 
 |   return() | 
 | endif() | 
 |  | 
 | set(__caffe2_allowlist_included TRUE) | 
 |  | 
 | set(CAFFE2_ALLOWLISTED_FILES) | 
 | if(NOT CAFFE2_ALLOWLIST) | 
 |   return() | 
 | endif() | 
 |  | 
 | # First read the allowlist file and break it by line. | 
 | file(READ "${CAFFE2_ALLOWLIST}" allowlist_content) | 
 | # Convert file contents into a CMake list | 
 | string(REGEX REPLACE "\n" ";" allowlist_content ${allowlist_content}) | 
 |  | 
 | foreach(item ${allowlist_content}) | 
 |   file(GLOB_RECURSE tmp ${item}) | 
 |   set(CAFFE2_ALLOWLISTED_FILES ${CAFFE2_ALLOWLISTED_FILES} ${tmp}) | 
 | endforeach() | 
 |  | 
 | macro(caffe2_do_allowlist output allowlist) | 
 |   set(_tmp) | 
 |   foreach(item ${${output}}) | 
 |     list(FIND ${allowlist} ${item} _index) | 
 |     if(${_index} GREATER -1) | 
 |       set(_tmp ${_tmp} ${item}) | 
 |     endif() | 
 |   endforeach() | 
 |   set(${output} ${_tmp}) | 
 | endmacro() |