1 # Copyright (c) 2018 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
6 # http://www.apache.org/licenses/LICENSE-2.0
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
15 ${CMAKE_CURRENT_SOURCE_DIR}
16 ${CMAKE_CURRENT_BINARY_DIR}
19 ##############################################################################
20 # find and add all plugin subdirs
21 ##############################################################################
22 FILE(GLOB files RELATIVE
23 ${CMAKE_CURRENT_SOURCE_DIR}
24 ${CMAKE_CURRENT_SOURCE_DIR}/*/CMakeLists.txt
27 set(VPP_EXCLUDED_PLUGINS
30 STRING "Comma-separated list of core plugins excluded from packaging and tests"
33 # create the list of the plugins that we need to exclude from packaging
34 SET(excluded_plugins "")
35 STRING(REGEX REPLACE "[,]+" ";" exc_plugins "${VPP_EXCLUDED_PLUGINS}")
36 foreach (e ${exc_plugins})
37 message(WARNING "Excluding plugin due to VPP_EXCLUDED_PLUGINS: '${e}'")
38 list(APPEND excluded_plugins ${e})
42 get_filename_component(dir ${f} DIRECTORY)
44 # if a plugin is in the list of excluded plugin, do not add that subdirectory
45 LIST(FIND excluded_plugins "${dir}" exc_index)
46 if(${exc_index} EQUAL "-1")
47 add_subdirectory(${dir})