| 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() |